SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::discretization::forms::divergence< TrialT, TestT > Struct Template Referencefinal

The divergence form represents the divergence operation in the discretization framework. It takes a trial term and a test term as template parameters and defines the operand types for the divergence operation. More...

#include <forms.hpp>

Inheritance diagram for serif::discretization::forms::divergence< TrialT, TestT >:
[legend]
Collaboration diagram for serif::discretization::forms::divergence< TrialT, TestT >:
[legend]

Public Types

using trial_type = TrialT
 The trial term type for the divergence form.
 
using test_type = TestT
 The test term type for the divergence form.
 
using operand_types = utils::types::TypeList<Operand<TrialT, Operation::Divergence>, Operand<TestT>>
 Type list of operand types for the divergence form, used for compile-time reflection and iteration over the operands.
 

Static Public Attributes

static constexpr std::string_view name = meta::template_name<divergence>()
 Compile time reflected name of the form.
 

Detailed Description

template<blocks::Term TrialT, blocks::Term TestT>
struct serif::discretization::forms::divergence< TrialT, TestT >

The divergence form represents the divergence operation in the discretization framework. It takes a trial term and a test term as template parameters and defines the operand types for the divergence operation.

Template Parameters
TrialTThe trial term type.
TestTThe test term type.
Note
The divergence form has an order reduction of 1 for the trial term to satisfy the Inf-Sup condition, while the test term has no order reduction. You can see where this reduction is defined in code by looking at the form_traits.hpp file (Specialization for divergence).

Member Typedef Documentation

◆ operand_types

template<blocks::Term TrialT, blocks::Term TestT>
using serif::discretization::forms::divergence< TrialT, TestT >::operand_types = utils::types::TypeList<Operand<TrialT, Operation::Divergence>, Operand<TestT>>

Type list of operand types for the divergence form, used for compile-time reflection and iteration over the operands.

◆ test_type

template<blocks::Term TrialT, blocks::Term TestT>
using serif::discretization::forms::divergence< TrialT, TestT >::test_type = TestT

The test term type for the divergence form.

◆ trial_type

template<blocks::Term TrialT, blocks::Term TestT>
using serif::discretization::forms::divergence< TrialT, TestT >::trial_type = TrialT

The trial term type for the divergence form.

Member Data Documentation

◆ name

template<blocks::Term TrialT, blocks::Term TestT>
std::string_view serif::discretization::forms::divergence< TrialT, TestT >::name = meta::template_name<divergence>()
staticconstexpr

Compile time reflected name of the form.


The documentation for this struct was generated from the following file: