ExaDG
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
ExaDG::MappingDoFVector< dim, Number > Class Template Reference

#include <mapping_dof_vector.h>

Inheritance diagram for ExaDG::MappingDoFVector< dim, Number >:
ExaDG::DeformedMappingBase< dim, Number > ExaDG::DeformedMappingFunction< dim, Number > ExaDG::Poisson::DeformedMapping< dim, Number > ExaDG::Structure::DeformedMapping< dim, Number >

Public Types

typedef dealii::LinearAlgebra::distributed::Vector< Number > VectorType
 

Public Member Functions

 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)
 

Public Attributes

std::vector< unsigned int > hierarchic_to_lexicographic_numbering
 
std::vector< unsigned int > lexicographic_to_hierarchic_numbering
 

Protected Attributes

std::shared_ptr< dealii::MappingQCache< dim > > mapping_q_cache
 

Detailed Description

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

A mapping class based on dealii::MappingQCache equipped with practical interfaces that can be used to initialize the mapping.

The two functions fill_grid_coordinates_vector() and initialize_mapping_q_cache() should become member functions of dealii::MappingQCache in dealii, rendering this class superfluous in ExaDG.

Constructor & Destructor Documentation

◆ MappingDoFVector()

template<int dim, typename Number >
ExaDG::MappingDoFVector< dim, Number >::MappingDoFVector ( unsigned int const mapping_degree)
inline

Constructor.

◆ ~MappingDoFVector()

template<int dim, typename Number >
virtual ExaDG::MappingDoFVector< dim, Number >::~MappingDoFVector ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ fill_grid_coordinates_vector() [1/2]

template<int dim, typename Number >
void ExaDG::MappingDoFVector< dim, Number >::fill_grid_coordinates_vector ( dealii::Mapping< dim > const & mapping,
VectorType & grid_coordinates,
dealii::DoFHandler< dim > const & dof_handler ) const
inline

Extract the grid coordinates for a given external mapping and fill a dof-vector given a corresponding dealii::DoFHandler object.

◆ fill_grid_coordinates_vector() [2/2]

template<int dim, typename Number >
void ExaDG::MappingDoFVector< dim, Number >::fill_grid_coordinates_vector ( VectorType & grid_coordinates,
dealii::DoFHandler< dim > const & dof_handler ) const
inline

Extract the grid coordinates of the current mesh configuration described by the dealii::MappingQCache object and fill a dof-vector given a corresponding dealii::DoFHandler object.

◆ get_mapping()

template<int dim, typename Number >
std::shared_ptr< dealii::Mapping< dim > const > ExaDG::MappingDoFVector< dim, Number >::get_mapping ( ) const
inline

returns the deal.ii mapping object that describes the deformed mapping

◆ initialize_mapping_from_dof_vector()

template<int dim, typename Number >
void ExaDG::MappingDoFVector< dim, Number >::initialize_mapping_from_dof_vector ( std::shared_ptr< dealii::Mapping< dim > const > mapping,
VectorType const & displacement_vector,
dealii::DoFHandler< dim > const & dof_handler )
inline

Initializes the dealii::MappingQCache object by providing a mapping that describes an undeformed reference configuration and a displacement dof-vector (with a corresponding dealii::DoFHandler object) that describes the displacement of the mesh compared to that reference configuration. There are two special cases:

If the mapping pointer is invalid, this implies that the reference coordinates are interpreted as zero, i.e., the displacement vector describes the absolute coordinates of the grid points.

If the displacement_vector is empty or uninitialized, this implies that no displacements will be added to the grid coordinates of the reference configuration described by mapping.


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