ComponentDescriptor< _FEFunctionDescriptor, _VariableDescriptor, _ExtractorDescriptor, LDGDescriptors > Class Template Reference#
|
DiFfRG
|
Public Types |
Public Member Functions |
Static Public Member Functions |
Private Types |
Private Attributes |
Static Private Attributes |
List of all members
DiFfRG::ComponentDescriptor< _FEFunctionDescriptor, _VariableDescriptor, _ExtractorDescriptor, LDGDescriptors > Class Template Reference
A class to describe how many FE functions, additional variables and extractors are used in a model. More...
#include <component_descriptor.hh>
Public Types | |
| using | FEFunction_Descriptor = _FEFunctionDescriptor |
| using | Variable_Descriptor = _VariableDescriptor |
| using | Extractor_Descriptor = _ExtractorDescriptor |
Public Member Functions | |
| ComponentDescriptor () | |
| void | add_dependency (uint dependent_subsystem, uint dependent, uint independent_subsystem, uint independent) |
| Add a dependency between two FE subsystems, i.e. for LDG constructions. | |
| void | set_jacobian_constant (uint dependent_subsystem, uint independent_subsystem) |
| const CouplingList & | ldg_couplings (uint dependent_subsystem, uint independent_subsystem) const |
| bool | jacobians_constant (uint dependent_subsystem, uint independent_subsystem) const |
Static Public Member Functions | |
| static constexpr uint | count_fe_functions (uint subsystem=0) |
| static constexpr uint | count_variables () |
| static constexpr uint | count_extractors () |
| static constexpr uint | count_fe_subsystems () |
| template<typename DoFH > | |
| static std::vector< uint > | get_component_block_structure (const DoFH &dofh) |
Private Types | |
| using | CouplingList = std::vector<std::array<uint, 2>> |
| template<typename T > | |
| using | SubsystemMatrix = std::array<std::array<T, n_fe_subsystems>, n_fe_subsystems> |
Private Attributes | |
| SubsystemMatrix< CouplingList > | couplings |
| SubsystemMatrix< bool > | j_const |
Static Private Attributes | |
| static constexpr uint | n_fe_subsystems = sizeof...(LDGDescriptors) + 1 |
| static constexpr std::array< uint, n_fe_subsystems > | n_components |
| static constexpr uint | n_variables = Variable_Descriptor::total_size |
| static constexpr uint | n_extractors = Extractor_Descriptor::total_size |
Detailed Description
template<typename _FEFunctionDescriptor, typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
class DiFfRG::ComponentDescriptor< _FEFunctionDescriptor, _VariableDescriptor, _ExtractorDescriptor, LDGDescriptors >
class DiFfRG::ComponentDescriptor< _FEFunctionDescriptor, _VariableDescriptor, _ExtractorDescriptor, LDGDescriptors >
A class to describe how many FE functions, additional variables and extractors are used in a model.
- Template Parameters
-
components_ A DiFfRG::NumberFEFunctions object, which describes how many FE functions are used. variables_ A DiFfRG::NumberVariables object, which describes how many additional variables are used. extractors_ A DiFfRG::NumberExtractors object, which describes how many extractors are used.
Member Typedef Documentation
◆ CouplingList
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
private |
◆ Extractor_Descriptor
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
| using DiFfRG::ComponentDescriptor< _FEFunctionDescriptor, _VariableDescriptor, _ExtractorDescriptor, LDGDescriptors >::Extractor_Descriptor = _ExtractorDescriptor |
◆ FEFunction_Descriptor
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
| using DiFfRG::ComponentDescriptor< _FEFunctionDescriptor, _VariableDescriptor, _ExtractorDescriptor, LDGDescriptors >::FEFunction_Descriptor = _FEFunctionDescriptor |
◆ SubsystemMatrix
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
template<typename T >
|
private |
◆ Variable_Descriptor
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
| using DiFfRG::ComponentDescriptor< _FEFunctionDescriptor, _VariableDescriptor, _ExtractorDescriptor, LDGDescriptors >::Variable_Descriptor = _VariableDescriptor |
Constructor & Destructor Documentation
◆ ComponentDescriptor()
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
inline |
Member Function Documentation
◆ add_dependency()
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
inline |
Add a dependency between two FE subsystems, i.e. for LDG constructions.
- Parameters
-
dependent_subsystem The subsystem that depends on the other. dependent The index of the dependent variable in the dependent subsystem. independent_subsystem The subsystem that is independent. independent The index of the independent variable on which the dependent depends.
◆ count_extractors()
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
inlinestaticconstexpr |
◆ count_fe_functions()
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
inlinestaticconstexpr |
◆ count_fe_subsystems()
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
inlinestaticconstexpr |
◆ count_variables()
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
inlinestaticconstexpr |
◆ get_component_block_structure()
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
template<typename DoFH >
|
inlinestatic |
◆ jacobians_constant()
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
inline |
◆ ldg_couplings()
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
inline |
◆ set_jacobian_constant()
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
inline |
Member Data Documentation
◆ couplings
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
private |
◆ j_const
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
private |
◆ n_components
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
staticconstexprprivate |
Initial value:
{
{FEFunction_Descriptor::total_size, LDGDescriptors::total_size...}}
◆ n_extractors
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
staticconstexprprivate |
◆ n_fe_subsystems
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
staticconstexprprivate |
◆ n_variables
template<typename _FEFunctionDescriptor , typename _VariableDescriptor = VariableDescriptor<>, typename _ExtractorDescriptor = ExtractorDescriptor<>, typename... LDGDescriptors>
|
staticconstexprprivate |
The documentation for this class was generated from the following file:
- /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/model/component_descriptor.hh
Generated by