SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::mapping Namespace Reference

Namespaces

namespace  compactification
 

Classes

struct  CompactificationPointData
 A structure representing the compactification point data, including the compactification coordinate and coordinate gradient. More...
 
struct  DMFixedMeshGeometry
 A structure representing the fixed mesh geometry at a specific point, including position, Jacobian, inverse Jacobian, and weight. More...
 
struct  DMReferenceDisplacementSample
 A structure representing a sample of the reference displacement, including the value and gradient of the displacement at a specific point. More...
 
class  DMWorkspace
 A class representing a workspace for displacement mapping operations, including various vectors and matrices used in the mapping process. primarily this is just a separate class so we can more easily make this code thread-safe in the future. At construction of an instance of this class loads of Heap allocation is done (or really whatever mfem does internally for allocation for vector which dependents on the selected device) and then that allocation can be reused. More...
 
class  DomainMapper
 
class  ElementCompactificationData
 A class representing the compactification data for a finite element, including the finite element and degrees of freedom. More...
 
class  ElementDisplacementData
 A class representing the displacement data for a finite element, including the finite element, degree of freedom matrix, and dimension. More...
 
struct  ElementMappingData
 
struct  FaceMappingContext
 A structure representing the context of a face mapping, including the mapping point context and face quadrature context. More...
 
struct  FaceMappingVariation
 
struct  FaceQuadratureContext
 A structure representing the context of a face quadrature point, including the normal vector, surface weight, and scale factor for the dot product of the velocity and normal vector. More...
 
class  GridFunctionMappingEvaluator
 
struct  MappingPointContext
 A structure representing the context of a mapping point, including the reference position, displaced position, physical position, displacement Jacobian, mapping Jacobian, inverse mapping Jacobian, mapping determinant, and compactification status. More...
 
struct  MappingPointVariation
 
class  VolumeMappingCache
 
struct  VolumeMappingContext
 A structure representing the context of a volume mapping, including the mapping point context and volume quadrature context. More...
 
struct  VolumeMappingVariation
 
struct  VolumeQuadratureContext
 A structure representing the context of a volume quadrature point, including the inverse Jacobian of the mapping and the determinant of the mapping. More...
 

Enumerations

enum class  FaceElementSide : uint8_t { ELEMENT_1 , ELEMENT_2 }
 An enumeration representing the side of a face element, either ELEMENT_1 or ELEMENT_2. There is no inherent ordering to these; however, broadly I have been thinking about ELEMENT_1 as the "inner" side and ELEMENT_2 as the "outer" side. More...
 
enum class  MappingStatus : uint16_t {
  VALID , INVALID_DIMENSION = 400 , NON_FINITE_MAPPING_INPUT , INVALID_REFERENCE_RADIUS ,
  AT_COMPACTIFIED_INFINITY , OUTSIDE_REFERENCE_DOMAIN , NON_FINITE_MAPPING_RESULT , NON_POSITIVE_DETERMINATE
}
 

Functions

ElementDisplacementData element_displacement_data_from_element_vdofs (const mfem::FiniteElement &element, mfem::Vector &displacement_dofs)
 Creates an ElementDisplacementData object from a finite element and a vector of displacement degrees of freedom.
 
std::expected< DMFixedMeshGeometry, MappingStatus > sample_fixed_mesh_geometry (mfem::ElementTransformation &transformation, const mfem::IntegrationPoint &point)
 Sample immutable mesh geometry; callers decide how long its mesh revision remains valid.
 
std::unordered_map< MappingStatus, utils::errors::SERiFErrorCode > make_MappingStatus_SERiFErrorCode_map ()
 
std::unordered_map< utils::errors::SERiFErrorCode, MappingStatus > make_SERIFErrorCode_MappingStatus_map ()
 
void map_reference_gradient_to_physical (const MappingPointContext &context, const mfem::Vector &reference_gradient, mfem::Vector &physical_gradient)
 
void map_physical_gradient_to_reference (const MappingPointContext &context, const mfem::Vector &physical_gradient, mfem::Vector &reference_gradient)
 
void map_reference_vector_gradient_to_physical (const MappingPointContext &context, const mfem::DenseMatrix &reference_vector_gradient, mfem::DenseMatrix &physical_vector_gradient)
 
void map_physical_vector_gradient_to_reference (const MappingPointContext &context, const mfem::DenseMatrix &physical_vector_gradient, mfem::DenseMatrix &reference_vector_gradient)
 
void compute_scalar_diffusion_tensor (const MappingPointContext &context, mfem::DenseMatrix &diffusion_tensor)
 
void map_hcurl_field_to_physical (const MappingPointContext &context, const mfem::Vector &reference_field, mfem::Vector &physical_field)
 
void map_physical_field_to_hcurl_reference (const MappingPointContext &context, const mfem::Vector &physical_field, mfem::Vector &reference_field)
 
void map_hcurl_curl_to_physical (const MappingPointContext &context, const mfem::Vector &reference_curl, mfem::Vector &physical_curl)
 
void map_physical_curl_to_hcurl_reference (const MappingPointContext &context, const mfem::Vector &physical_curl, mfem::Vector &reference_curl)
 

Variables

static auto MappingStatus_enum_string_map = meta::enum_to_enum_string_map<MappingStatus>()
 
static auto MappingStatus_string_enum_map = meta::enum_to_string_enum_map<MappingStatus>()
 
static auto MappingStatus_SERiFErrorCode_map = make_MappingStatus_SERiFErrorCode_map()
 
static auto SERiFErrorCode_MappingStatus_map = make_SERIFErrorCode_MappingStatus_map()
 

Enumeration Type Documentation

◆ FaceElementSide

enum class serif::mapping::FaceElementSide : uint8_t
strong

An enumeration representing the side of a face element, either ELEMENT_1 or ELEMENT_2. There is no inherent ordering to these; however, broadly I have been thinking about ELEMENT_1 as the "inner" side and ELEMENT_2 as the "outer" side.

Enumerator
ELEMENT_1 

Represents the first side of a face element.

ELEMENT_2 

Represents the second side of a face element.

◆ MappingStatus

enum class serif::mapping::MappingStatus : uint16_t
strong
Enumerator
VALID 
INVALID_DIMENSION 
NON_FINITE_MAPPING_INPUT 
INVALID_REFERENCE_RADIUS 
AT_COMPACTIFIED_INFINITY 
OUTSIDE_REFERENCE_DOMAIN 
NON_FINITE_MAPPING_RESULT 
NON_POSITIVE_DETERMINATE 

Function Documentation

◆ compute_scalar_diffusion_tensor()

void serif::mapping::compute_scalar_diffusion_tensor ( const MappingPointContext & context,
mfem::DenseMatrix & diffusion_tensor )

◆ element_displacement_data_from_element_vdofs()

ElementDisplacementData serif::mapping::element_displacement_data_from_element_vdofs ( const mfem::FiniteElement & element,
mfem::Vector & displacement_dofs )
nodiscard

Creates an ElementDisplacementData object from a finite element and a vector of displacement degrees of freedom.

Parameters
elementThe finite element associated with the displacement data.
displacement_dofsThe vector containing the displacement degrees of freedom.
Returns
An ElementDisplacementData object constructed from the provided finite element and displacement degrees of freedom.
Note
This is just a convenience function which calls the constructor for ElementDisplacementData.

◆ make_MappingStatus_SERiFErrorCode_map()

std::unordered_map< MappingStatus, utils::errors::SERiFErrorCode > serif::mapping::make_MappingStatus_SERiFErrorCode_map ( )
inline

◆ make_SERIFErrorCode_MappingStatus_map()

std::unordered_map< utils::errors::SERiFErrorCode, MappingStatus > serif::mapping::make_SERIFErrorCode_MappingStatus_map ( )
inline

◆ map_hcurl_curl_to_physical()

void serif::mapping::map_hcurl_curl_to_physical ( const MappingPointContext & context,
const mfem::Vector & reference_curl,
mfem::Vector & physical_curl )

◆ map_hcurl_field_to_physical()

void serif::mapping::map_hcurl_field_to_physical ( const MappingPointContext & context,
const mfem::Vector & reference_field,
mfem::Vector & physical_field )

◆ map_physical_curl_to_hcurl_reference()

void serif::mapping::map_physical_curl_to_hcurl_reference ( const MappingPointContext & context,
const mfem::Vector & physical_curl,
mfem::Vector & reference_curl )

◆ map_physical_field_to_hcurl_reference()

void serif::mapping::map_physical_field_to_hcurl_reference ( const MappingPointContext & context,
const mfem::Vector & physical_field,
mfem::Vector & reference_field )

◆ map_physical_gradient_to_reference()

void serif::mapping::map_physical_gradient_to_reference ( const MappingPointContext & context,
const mfem::Vector & physical_gradient,
mfem::Vector & reference_gradient )

◆ map_physical_vector_gradient_to_reference()

void serif::mapping::map_physical_vector_gradient_to_reference ( const MappingPointContext & context,
const mfem::DenseMatrix & physical_vector_gradient,
mfem::DenseMatrix & reference_vector_gradient )

◆ map_reference_gradient_to_physical()

void serif::mapping::map_reference_gradient_to_physical ( const MappingPointContext & context,
const mfem::Vector & reference_gradient,
mfem::Vector & physical_gradient )

◆ map_reference_vector_gradient_to_physical()

void serif::mapping::map_reference_vector_gradient_to_physical ( const MappingPointContext & context,
const mfem::DenseMatrix & reference_vector_gradient,
mfem::DenseMatrix & physical_vector_gradient )

◆ sample_fixed_mesh_geometry()

std::expected< DMFixedMeshGeometry, MappingStatus > serif::mapping::sample_fixed_mesh_geometry ( mfem::ElementTransformation & transformation,
const mfem::IntegrationPoint & point )
nodiscard

Sample immutable mesh geometry; callers decide how long its mesh revision remains valid.

Variable Documentation

◆ MappingStatus_enum_string_map

auto serif::mapping::MappingStatus_enum_string_map = meta::enum_to_enum_string_map<MappingStatus>()
static

◆ MappingStatus_SERiFErrorCode_map

auto serif::mapping::MappingStatus_SERiFErrorCode_map = make_MappingStatus_SERiFErrorCode_map()
static

◆ MappingStatus_string_enum_map

auto serif::mapping::MappingStatus_string_enum_map = meta::enum_to_string_enum_map<MappingStatus>()
static

◆ SERiFErrorCode_MappingStatus_map

auto serif::mapping::SERiFErrorCode_MappingStatus_map = make_SERIFErrorCode_MappingStatus_map()
static