ExaDG
|
#include <lambda_functions_ale.h>
Public Attributes | |
std::function< void(double const &time)> | move_grid |
std::function< void()> | update_pde_operator_after_grid_motion |
std::function< void(dealii::LinearAlgebra::distributed::Vector< Number > &grid_coordinates, dealii::DoFHandler< dim > const &dof_handler)> | fill_grid_coordinates_vector |
This class is a collection of helper / utility functions required by time integration routines in case of Arbitrary Lagrangian-Eulerian (ALE) methods with moving domains / grids. We realize these utility functions as lambda functions so that the time integrator classes do not depend on data structures owned by other classes.
std::function<void(dealii::LinearAlgebra::distributed::Vector<Number> & grid_coordinates, dealii::DoFHandler<dim> const & dof_handler)> ExaDG::HelpersALE< dim, Number >::fill_grid_coordinates_vector |
This function fills a DoF-vector describing the grid coordinates given an underlying dof-handler.
The default implementation causes the program to terminate, in order to avoid uninitialized / undefined functions leading to erroneous results.
std::function<void(double const & time)> ExaDG::HelpersALE< dim, Number >::move_grid |
This function moves the grid. It only affects basic deal.II data structures such as dealii::Triangulation and dealii::Mapping. All dependent data structures need to be updated separately.
The default implementation causes the program to terminate, in order to avoid uninitialized / undefined functions leading to erroneous results.
std::function<void()> ExaDG::HelpersALE< dim, Number >::update_pde_operator_after_grid_motion |
This function updates the PDE operator after the grid has been moved. This function makes sure that weak forms are evaluated correctly after the grid has been moved.
The default implementation causes the program to terminate, in order to avoid uninitialized / undefined functions leading to erroneous results.