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 |