ExaDG
Loading...
Searching...
No Matches
Public Attributes | List of all members
ExaDG::HelpersALE< dim, Number > Class Template Reference

#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 )
 

Detailed Description

template<int dim, typename Number>
class ExaDG::HelpersALE< dim, Number >

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.

Member Data Documentation

◆ fill_grid_coordinates_vector

template<int dim, typename Number >
std::function<void(dealii::LinearAlgebra::distributed::Vector<Number> & grid_coordinates, dealii::DoFHandler<dim> const & dof_handler) ExaDG::HelpersALE< dim, Number >::fill_grid_coordinates_vector)
Initial value:
=
[](dealii::LinearAlgebra::distributed::Vector<Number> & grid_coordinates,
dealii::DoFHandler<dim> const & dof_handler) {
(void)grid_coordinates;
(void)dof_handler;
AssertThrow(false,
dealii::ExcMessage(
"The function fill_grid_coordinates_vector() has not been implemented."));
}

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.

◆ move_grid

template<int dim, typename Number >
std::function<void(double const & time) ExaDG::HelpersALE< dim, Number >::move_grid)
Initial value:
= [](double const & time) {
(void)time;
AssertThrow(false, dealii::ExcMessage("The function move_grid() has not been implemented."));
}

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.

◆ update_pde_operator_after_grid_motion

template<int dim, typename Number >
std::function<void()> ExaDG::HelpersALE< dim, Number >::update_pde_operator_after_grid_motion
Initial value:
= []() {
AssertThrow(
false,
dealii::ExcMessage(
"The function update_pde_operator_after_grid_motion() has not been implemented."));
}

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.


The documentation for this class was generated from the following file: