ExaDG
|
#include <mapping_deformation_base.h>
Public Types | |
typedef dealii::LinearAlgebra::distributed::Vector< Number > | VectorType |
![]() | |
typedef dealii::LinearAlgebra::distributed::Vector< Number > | VectorType |
Public Member Functions | |
DeformedMappingBase (std::shared_ptr< dealii::Mapping< dim > const > mapping_undeformed, unsigned int const mapping_degree_deformed, dealii::Triangulation< dim > const &triangulation) | |
virtual | ~DeformedMappingBase () |
virtual void | update (double const time, bool const print_solver_info, types::time_step time_step_number)=0 |
virtual void | print_iterations () const |
![]() | |
MappingDoFVector (unsigned int const mapping_degree) | |
virtual | ~MappingDoFVector () |
std::shared_ptr< dealii::Mapping< dim > const > | get_mapping () const |
std::shared_ptr< dealii::MappingQCache< dim > > | get_mapping_q_cache () const |
void | fill_grid_coordinates_vector (VectorType &grid_coordinates, dealii::DoFHandler< dim > const &dof_handler) const |
void | fill_grid_coordinates_vector (dealii::Mapping< dim > const &mapping, VectorType &grid_coordinates, dealii::DoFHandler< dim > const &dof_handler) const |
void | initialize_mapping_from_dof_vector (std::shared_ptr< dealii::Mapping< dim > const > mapping, VectorType const &displacement_vector, dealii::DoFHandler< dim > const &dof_handler) |
Protected Attributes | |
std::shared_ptr< dealii::Mapping< dim > const > | mapping_undeformed |
![]() | |
std::shared_ptr< dealii::MappingQCache< dim > > | mapping_q_cache |
Additional Inherited Members | |
![]() | |
std::vector< unsigned int > | hierarchic_to_lexicographic_numbering |
std::vector< unsigned int > | lexicographic_to_hierarchic_numbering |
Base class to describe grid deformations, where the grid coordinates described by a reference mapping are superimposed by a displacement DoF vector.
A typical use case of this class are Arbitrary Lagrangian-Eulerian type problems with moving domains / grids, where the displacement vector describes the time-dependent deformation of the grid. However, this class may also be used for stationary problems, e.g. to apply high-order curved boundaries on top of low-order approximation of a certain geometry.
TODO: extend this class to simplicial elements.
|
inline |
Constructor.
The constructor assumes a vanishing displacement field, i.e. after construction the reference configuration described by mapping_undeformed
describes the absolute coordinates of the grid.
|
inlinevirtual |
Desctructor.
|
inlinevirtual |
Print the number of iterations for PDE-type grid deformation problems.
TODO: this function is only relevant for PDE-type grid deformation problems, and should therefore not appear in this base class.
Reimplemented in ExaDG::Poisson::DeformedMapping< dim, Number >, and ExaDG::Structure::DeformedMapping< dim, Number >.
|
pure virtual |
Updates the mapping, i.e., moves the grid.
TODO: The parameters print_solver_info and time_step_number are only relevant for PDE-type grid deformation problems. Hence this function with these particular arguments should not appear in this base class.
Implemented in ExaDG::DeformedMappingFunction< dim, Number >, ExaDG::Poisson::DeformedMapping< dim, Number >, and ExaDG::Structure::DeformedMapping< dim, Number >.
|
protected |
mapping describing undeformed reference state