|
DiFfRG
|
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 |
A class to describe how many FE functions, additional variables and extractors are used in a model.
| 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. |
|
private |
| using DiFfRG::ComponentDescriptor< _FEFunctionDescriptor, _VariableDescriptor, _ExtractorDescriptor, LDGDescriptors >::Extractor_Descriptor = _ExtractorDescriptor |
| using DiFfRG::ComponentDescriptor< _FEFunctionDescriptor, _VariableDescriptor, _ExtractorDescriptor, LDGDescriptors >::FEFunction_Descriptor = _FEFunctionDescriptor |
|
private |
| using DiFfRG::ComponentDescriptor< _FEFunctionDescriptor, _VariableDescriptor, _ExtractorDescriptor, LDGDescriptors >::Variable_Descriptor = _VariableDescriptor |
|
inline |
|
inline |
Add a dependency between two FE subsystems, i.e. for LDG constructions.
| 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. |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |
|
staticconstexprprivate |