|
| | Assembler (Discretization &discretization, Model &model, const ConfigTree &config) |
| |
| virtual void | reinit_vector (VectorType &vec) const override |
| |
| virtual void | reinit_matrix (SparseMatrixType &matrix) const override |
| |
| virtual MPI_Comm | get_communicator () const override |
| | The communicator this assembler's linear algebra lives on.
|
| |
| virtual void | reinit_solution_view (SolutionView< VectorType > &view) const override |
| |
| virtual void | attach_data_output (OutputFrame< dim, VectorType > &data_out, const VectorType &solution, const VectorType &variables, const VectorType &dt_solution=VectorType(), const VectorType &residual=VectorType()) override |
| | Attach all intermediate (ldg) vectors to the data output.
|
| |
| 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 () override |
| |
| virtual void | refinement_indicator (Vector< double > &indicator, const VectorType &solution_global) override |
| |
| virtual const BlockSparsityPattern & | get_sparsity_pattern_jacobian () const override |
| | Obtain the sparsity pattern of the jacobian matrix.
|
| |
| virtual const BlockSparseMatrix< NumberType > & | get_mass_matrix () const override |
| | Obtain the mass matrix.
|
| |
| virtual void | mass (VectorType &residual, const VectorType &solution_global, const VectorType &solution_global_dot, NumberType weight) override |
| | Construct the mass.
|
| |
| virtual void | residual (VectorType &residual, const VectorType &solution_global, NumberType weight, const VectorType &solution_global_dot, NumberType weight_mass, const VectorType &variables=VectorType()) override |
| | Construct the system residual, i.e. Res = grad(flux) - source.
|
| |
| virtual void | jacobian_mass (BlockSparseMatrix< NumberType > &jacobian, const VectorType &solution_global, const VectorType &solution_global_dot, NumberType alpha=1., NumberType beta=1.) override |
| |
| virtual void | jacobian (BlockSparseMatrix< NumberType > &jacobian, const VectorType &solution_global, NumberType weight, const VectorType &solution_global_dot, NumberType alpha, NumberType beta, const VectorType &variables=VectorType()) override |
| | Construct the system jacobian, i.e. dRes/du.
|
| |
| SummaryEvent | summary () const override |
| |
| double | average_time_reinit () const |
| |
| uint | num_reinits () const |
| |
| double | average_time_residual_assembly () const |
| |
| uint | num_residuals () const |
| |
| double | average_time_jacobian_assembly () const |
| |
| uint | num_jacobians () const |
| |
| | 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 | set_time (double t) override |
| | Set the current time. The assembler should usually just forward this to the numerical model.
|
| |
| double | average_time_variable_residual_assembly () |
| |
| uint | num_variable_residuals () const |
| |
| double | average_time_variable_jacobian_assembly () |
| |
| uint | num_variable_jacobians () 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 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 void | reinit_solution_view (SolutionView< VectorType > &view) const=0 |
| | Establish the layout of a fully-replicated read-only view of the solution.
|
| |
| 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.
|
| |
|
| void | rebuild_ldg_vectors (const VectorType &sol) const |
| |
| template<int k> |
| void | rebuild_ldg_jacobian (const VectorType &sol) const |
| |
| template<int from, int to, typename VectorType , typename VectorTypeldg > |
| void | build_ldg_vector (const VectorType &solution_global, VectorTypeldg &ldg_vector, VectorTypeldg &ldg_vector_tmp) const |
| | Build the LDG vector at level 'to', which takes information from level 'from'.
|
| |
| template<int from, int to, typename VectorType > |
| void | build_ldg_jacobian (const VectorType &solution_global, BlockSparseMatrix< NumberType > &ldg_jacobian, BlockSparseMatrix< NumberType > &ldg_jacobian_tmp) const |
| | Build the LDG jacobian at level 'to', which takes information from level 'from'.
|
| |
| void | build_ldg_sparsity (BlockSparsityPattern &sparsity_pattern, const DoFHandler< dim > &to_dofh, const DoFHandler< dim > &from_dofh, const int stencil=1, bool add_extractor_dofs=false) const |
| | Create a sparsity pattern for matrices between the DoFs of two DoFHandlers, with given stencil size.
|
| |
| void | build_inverse (const SparseMatrix< NumberType > &in, SparseMatrix< NumberType > &out) const |
| | Build the inverse of matrix in and save the result to out.
|
| |
| template<typename RawPotential > |
| auto | evaluate_at (const Point< dim > &x, const typename DoFHandler< dim >::cell_iterator &x_cell, const VectorType &solution_global, const RawPotential &raw_potential) const |
| | Evaluate every LDG subsystem at x, which lies in x_cell.
|
| |
| void | readouts (OutputFrame< dim, VectorType > &data_out, const VectorType &solution_global, const VectorType &variables) const |
| |
| void | extract (std::array< NumberType, Components::count_extractors()> &data, const VectorType &solution_global, const VectorType &variables, bool search_EoM, bool set_EoM, bool postprocess) const |
| |
| bool | jacobian_extractors (FullMatrix< NumberType > &extractor_jacobian, const VectorType &solution_global, const VectorType &variables) |
| |
| virtual void | residual_variables (VectorType &residual, const VectorType &variables, const VectorType &spatial_solution) override |
| |
| virtual void | jacobian_variables (FullMatrix< NumberType > &jacobian, const VectorType &variables, const VectorType &spatial_solution) override |
| |
| AssemblySchedule | schedule_for (const double cost_ns) const |
| |
| 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 |
| |
|
| QGauss< dim > | quadrature |
| |
| QGauss< dim - 1 > | quadrature_face |
| |
| std::vector< const DoFHandler< dim > * > | dof_handler_list |
| |
| array< BlockVector< NumberType >, Components::count_fe_subsystems()> | sol_vector |
| |
| array< BlockVector< NumberType >, Components::count_fe_subsystems()> | sol_vector_tmp |
| |
| array< Vector< NumberType >, Components::count_fe_subsystems()> | sol_vector_vec_tmp |
| |
| BlockSparsityPattern | sparsity_pattern_jacobian |
| |
| BlockSparsityPattern | sparsity_pattern_mass |
| |
| array< BlockSparsityPattern, Components::count_fe_subsystems()> | sparsity_pattern_ug |
| |
| array< BlockSparsityPattern, Components::count_fe_subsystems()> | sparsity_pattern_gu |
| |
| array< BlockSparsityPattern, Components::count_fe_subsystems()> | sparsity_pattern_wg |
| |
| array< BlockSparseMatrix< NumberType >, Components::count_fe_subsystems()> | jacobian_tmp |
| |
| BlockSparseMatrix< NumberType > | mass_matrix |
| |
| SparseMatrix< NumberType > | component_mass_matrix_inverse |
| |
| array< BlockSparseMatrix< NumberType >, Components::count_fe_subsystems()> | j_ug |
| |
| array< BlockSparseMatrix< NumberType >, Components::count_fe_subsystems()> | j_gu |
| |
| array< BlockSparseMatrix< NumberType >, Components::count_fe_subsystems()> | j_wg |
| |
| array< BlockSparseMatrix< NumberType >, Components::count_fe_subsystems()> | j_wg_tmp |
| |
| std::vector< double > | timings_reinit |
| |
| std::vector< double > | timings_residual |
| |
| std::vector< double > | timings_jacobian |
| |
| array< bool, Components::count_fe_subsystems()> | ldg_matrix_built |
| |
| array< bool, Components::count_fe_subsystems()> | jacobian_tmp_built |
| |
| Discretization & | discretization |
| |
| const DoFHandler< dim > & | dof_handler |
| |
| const FiniteElement< dim > & | fe |
| |
| const Mapping< dim > & | mapping |
| |
| Model & | model |
| |
| const Config::EoMConfig | EoM_config |
| |
| std::vector< types::global_dof_index > | extractor_dof_indices |
| |
| Point< dim > | EoM |
| |
| DoFHandler< dim >::cell_iterator | EoM_cell |
| |
| std::optional< Point< dim > > | EoM_minimum_guess |
| |
| FullMatrix< NumberType > | extractor_jacobian_u |
| |
| DoFHandler< dim >::cell_iterator | old_EoM_cell |
| |
| DoFHandler< dim >::cell_iterator | old_extractor_cell |
| |
| std::vector< double > | timings_variable_jacobian |
| |
| std::vector< double > | timings_variable_residual |
| |
| 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 |
| |
template<typename Discretization_, typename Model_ = typename DiFfRG::internal::assembler_model_of<Discretization_>::type>
class DiFfRG::LDG::Assembler< Discretization_, Model_ >
The LDG assembler that can be used for any LDG scheme, with as many levels as one wants.
- Template Parameters
-