LDGAssemblerBase< Discretization_, Model_ > Class Template Reference#
|
DiFfRG
Discretization Framework for functional Renormalization Group flows
|
Public Types |
Public Member Functions |
Static Public Attributes |
Protected Member Functions |
Protected Attributes |
List of all members
DiFfRG::LDG::LDGAssemblerBase< Discretization_, Model_ > Class Template Referenceabstract
#include <ldg.hh>
Inheritance diagram for DiFfRG::LDG::LDGAssemblerBase< Discretization_, Model_ >:
Public Types | |
| using | Discretization = Discretization_ |
| using | Model = Model_ |
| using | NumberType = typename Discretization::NumberType |
| using | VectorType = typename Discretization::VectorType |
| using | SparseMatrixType = typename Discretization::SparseMatrixType |
| using | Components = typename Discretization::Components |
Public Types inherited from DiFfRG::AbstractAssembler< Discretization_::VectorType, Discretization_::SparseMatrixType, Discretization_::dim > | |
| using | NumberType |
Public Member Functions | |
| LDGAssemblerBase (Discretization &discretization, Model &model, const ConfigTree &config) | |
| virtual IndexSet | get_differential_indices () const override |
| Obtain the dofs which contain time derivatives. | |
| const auto & | get_discretization () const |
| auto & | get_discretization () |
| virtual void | reinit () override |
| Reinitialize the assembler. This is necessary if the mesh has changed, e.g. after a mesh refinement. | |
| virtual void | rebuild_jacobian_sparsity ()=0 |
| virtual void | set_time (double t) override |
| Set the current time. The assembler should usually just forward this to the numerical model. | |
| virtual void | refinement_indicator (Vector< double > &, const VectorType &)=0 |
| double | average_time_variable_residual_assembly () |
| uint | num_variable_residuals () const |
| double | average_time_variable_jacobian_assembly () |
| uint | num_variable_jacobians () const |
Public Member Functions inherited from DiFfRG::AbstractAssembler< Discretization_::VectorType, Discretization_::SparseMatrixType, Discretization_::dim > | |
| virtual SummaryEvent | summary () const |
| virtual void | attach_data_output (OutputFrame< dim, VectorType > &data_out, const VectorType &solution, const VectorType &variables=VectorType(), const VectorType &dt_solution=VectorType(), const VectorType &residual=VectorType())=0 |
| Contribute the assembler's fields and model readouts to one scoped output frame. | |
| virtual void | attach_data_output (DataOutput< dim, VectorType > &, const VectorType &, const VectorType &=VectorType(), const VectorType &=VectorType(), const VectorType &=VectorType())=delete |
| virtual const get_type::SparsityPattern< SparseMatrixType > & | get_sparsity_pattern_jacobian () const=0 |
| Obtain the sparsity pattern of the jacobian matrix. | |
| virtual void | reinit_vector (VectorType &vector) const=0 |
| Reinitialize an arbitrary vector so that it has the correct size and structure. | |
| virtual void | reinit_matrix (SparseMatrixType &matrix) const=0 |
| Reinitialize a matrix to the jacobian's sparsity pattern. | |
| virtual MPI_Comm | get_communicator () const=0 |
| The communicator this assembler's linear algebra lives on. | |
| virtual void | reinit_solution_view (SolutionView< VectorType > &view) const=0 |
| Establish the layout of a fully-replicated read-only view of the solution. | |
| virtual const SparseMatrixType & | get_mass_matrix () const=0 |
| Obtain the mass matrix. | |
| virtual void | residual_variables (VectorType &residual, const VectorType &variables, const VectorType &spatial_solution) |
| When coupling the spatial discretization to additional variables, this function should calculate the residual for the additional variables. | |
| virtual void | jacobian_variables (FullMatrix< NumberType > &jacobian, const VectorType &variables, const VectorType &spatial_solution) |
| When coupling the spatial discretization to additional variables, this function should calculate the jacobian for the additional variables. | |
| void | mass (VectorType &mass, const VectorType &solution_global, NumberType weight) |
| Calculates the mass \(m_i(u)\) for an ODE. | |
| virtual void | mass (VectorType &mass, const VectorType &solution_global, const VectorType &solution_global_dot, NumberType weight)=0 |
| Calculates the mass \(m(u, \partial_t u)\) for a DAE. | |
| void | residual (VectorType &residual, const VectorType &solution_global, NumberType weight, NumberType weight_mass, const VectorType &variables=VectorType()) |
| Calculates the residual for an ODE. | |
| virtual void | residual (VectorType &residual, const VectorType &solution_global, NumberType weight, const VectorType &solution_global_dot, NumberType weight_mass, const VectorType &variables=VectorType())=0 |
| Calculates the residual for a DAE. | |
| void | jacobian_mass (SparseMatrixType &jacobian, const VectorType &solution_global, NumberType mass_weight=1.) |
| Calculates the jacobian of the mass function for an ODE. | |
| virtual void | jacobian_mass (SparseMatrixType &jacobian, const VectorType &solution_global, const VectorType &solution_global_dot, NumberType alpha=1., NumberType beta=1.)=0 |
| Calculates the jacobian of the mass function for a DAE. | |
| void | jacobian (SparseMatrixType &jacobian, const VectorType &solution_global, NumberType weight, NumberType mass_weight, const VectorType &variables=VectorType()) |
| Calculates the jacobian of the residual function for an ODE. | |
| virtual void | jacobian (SparseMatrixType &jacobian, const VectorType &solution_global, NumberType weight, const VectorType &solution_global_dot, NumberType alpha, NumberType beta, const VectorType &variables=VectorType())=0 |
| Calculates the jacobian of the residual function for a DAE. | |
Static Public Attributes | |
| static constexpr uint | dim = Discretization::dim |
Protected Member Functions | |
| AssemblySchedule | schedule_for (const double cost_ns) const |
| void | update_assembly_schedules () |
| auto | extractor_raw_potential (const VectorType &solution_global) const |
| std::pair< Point< dim >, typename DoFHandler< dim >::cell_iterator > | resolve_extractor_point (const Point< dim > &EoM_point, const typename DoFHandler< dim >::cell_iterator &EoM_cell_, const VectorType &solution_global) const |
Protected Attributes | |
| Discretization & | discretization |
| Model & | model |
| ReportPort | report_port |
| const FiniteElement< dim > & | fe |
| const DoFHandler< dim > & | dof_handler |
| const Mapping< dim > & | mapping |
| uint | n_owned_cells = 0 |
| const AssemblyScheduleOverrides | schedule_overrides |
| DoFHandler< dim >::cell_iterator | EoM_cell |
| DoFHandler< dim >::cell_iterator | old_EoM_cell |
| DoFHandler< dim >::cell_iterator | old_extractor_cell |
| const Config::EoMConfig | EoM_config |
| Point< dim > | EoM |
| std::optional< Point< dim > > | EoM_minimum_guess |
| DiFfRG::internal::PotentialSystemCache< dim, NumberType > | potential_cache |
| FullMatrix< NumberType > | extractor_jacobian |
| FullMatrix< NumberType > | extractor_jacobian_u |
| FullMatrix< NumberType > | extractor_jacobian_du |
| FullMatrix< NumberType > | extractor_jacobian_ddu |
| std::vector< types::global_dof_index > | extractor_dof_indices |
| std::vector< double > | timings_variable_residual |
| std::vector< double > | timings_variable_jacobian |
Member Typedef Documentation
◆ Components
template<typename Discretization_ , typename Model_ >
| using DiFfRG::LDG::LDGAssemblerBase< Discretization_, Model_ >::Components = typename Discretization::Components |
◆ Discretization
template<typename Discretization_ , typename Model_ >
| using DiFfRG::LDG::LDGAssemblerBase< Discretization_, Model_ >::Discretization = Discretization_ |
◆ Model
template<typename Discretization_ , typename Model_ >
| using DiFfRG::LDG::LDGAssemblerBase< Discretization_, Model_ >::Model = Model_ |
◆ NumberType
template<typename Discretization_ , typename Model_ >
| using DiFfRG::LDG::LDGAssemblerBase< Discretization_, Model_ >::NumberType = typename Discretization::NumberType |
◆ SparseMatrixType
template<typename Discretization_ , typename Model_ >
| using DiFfRG::LDG::LDGAssemblerBase< Discretization_, Model_ >::SparseMatrixType = typename Discretization::SparseMatrixType |
◆ VectorType
template<typename Discretization_ , typename Model_ >
| using DiFfRG::LDG::LDGAssemblerBase< Discretization_, Model_ >::VectorType = typename Discretization::VectorType |
Constructor & Destructor Documentation
◆ LDGAssemblerBase()
template<typename Discretization_ , typename Model_ >
|
inline |
Member Function Documentation
◆ average_time_variable_jacobian_assembly()
template<typename Discretization_ , typename Model_ >
|
inline |
◆ average_time_variable_residual_assembly()
template<typename Discretization_ , typename Model_ >
|
inline |
◆ extractor_raw_potential()
template<typename Discretization_ , typename Model_ >
|
inlineprotected |
◆ get_differential_indices()
template<typename Discretization_ , typename Model_ >
|
inlineoverridevirtual |
Obtain the dofs which contain time derivatives.
- Returns
- IndexSet The indices of the dofs which contain time derivatives
◆ get_discretization() [1/2]
template<typename Discretization_ , typename Model_ >
|
inline |
◆ get_discretization() [2/2]
template<typename Discretization_ , typename Model_ >
|
inline |
◆ num_variable_jacobians()
template<typename Discretization_ , typename Model_ >
|
inline |
◆ num_variable_residuals()
template<typename Discretization_ , typename Model_ >
|
inline |
◆ rebuild_jacobian_sparsity()
template<typename Discretization_ , typename Model_ >
|
pure virtual |
Implemented in DiFfRG::LDG::Assembler< Discretization_, Model_ >.
◆ refinement_indicator()
template<typename Discretization_ , typename Model_ >
|
pure virtual |
Implemented in DiFfRG::LDG::Assembler< Discretization_, Model_ >.
◆ reinit()
template<typename Discretization_ , typename Model_ >
|
inlineoverridevirtual |
Reinitialize the assembler. This is necessary if the mesh has changed, e.g. after a mesh refinement.
Reimplemented in DiFfRG::LDG::Assembler< Discretization_, Model_ >.
◆ resolve_extractor_point()
template<typename Discretization_ , typename Model_ >
|
inlineprotected |
◆ schedule_for()
template<typename Discretization_ , typename Model_ >
|
inlineprotected |
- See also
- FEMAssembler::schedule_for
◆ set_time()
template<typename Discretization_ , typename Model_ >
|
inlineoverridevirtual |
Set the current time. The assembler should usually just forward this to the numerical model.
- Parameters
-
t The current time
◆ update_assembly_schedules()
template<typename Discretization_ , typename Model_ >
|
inlineprotected |
Member Data Documentation
◆ dim
template<typename Discretization_ , typename Model_ >
|
staticconstexpr |
◆ discretization
template<typename Discretization_ , typename Model_ >
|
protected |
◆ dof_handler
template<typename Discretization_ , typename Model_ >
|
protected |
◆ EoM
template<typename Discretization_ , typename Model_ >
|
mutableprotected |
◆ EoM_cell
template<typename Discretization_ , typename Model_ >
|
mutableprotected |
◆ EoM_config
template<typename Discretization_ , typename Model_ >
|
protected |
◆ EoM_minimum_guess
template<typename Discretization_ , typename Model_ >
|
mutableprotected |
◆ extractor_dof_indices
template<typename Discretization_ , typename Model_ >
|
protected |
◆ extractor_jacobian
template<typename Discretization_ , typename Model_ >
|
protected |
◆ extractor_jacobian_ddu
template<typename Discretization_ , typename Model_ >
|
protected |
◆ extractor_jacobian_du
template<typename Discretization_ , typename Model_ >
|
protected |
◆ extractor_jacobian_u
template<typename Discretization_ , typename Model_ >
|
protected |
◆ fe
template<typename Discretization_ , typename Model_ >
|
protected |
◆ mapping
template<typename Discretization_ , typename Model_ >
|
protected |
◆ model
template<typename Discretization_ , typename Model_ >
|
protected |
◆ n_owned_cells
template<typename Discretization_ , typename Model_ >
|
protected |
- See also
- FEMAssembler::n_owned_cells
◆ old_EoM_cell
template<typename Discretization_ , typename Model_ >
|
protected |
◆ old_extractor_cell
template<typename Discretization_ , typename Model_ >
|
protected |
- See also
- FEMAssembler::old_extractor_cell
◆ potential_cache
template<typename Discretization_ , typename Model_ >
|
mutableprotected |
- See also
- FEMAssembler::potential_cache
◆ report_port
template<typename Discretization_ , typename Model_ >
|
protected |
◆ schedule_overrides
template<typename Discretization_ , typename Model_ >
|
protected |
◆ timings_variable_jacobian
template<typename Discretization_ , typename Model_ >
|
protected |
◆ timings_variable_residual
template<typename Discretization_ , typename Model_ >
|
protected |
The documentation for this class was generated from the following file:
- /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/discretization/FEM/assembler/ldg.hh
Generated by
Public Types inherited from