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

#include <evaluator.hpp>

Collaboration diagram for serif::mapping::GridFunctionMappingEvaluator:
[legend]

Public Member Functions

 GridFunctionMappingEvaluator (const DomainMapper &mapper, const mfem::GridFunction &displacement, const mfem::GridFunction &compactification_coordinate)
 
const mfem::Mesh * mesh () const noexcept
 Identify the mesh supplying the mapping fields so callers can validate shared geometry.
 
void invalidate_cache () noexcept
 
void refresh ()
 
MappingStatus evaluate_point (mfem::ElementTransformation &transformation, const mfem::IntegrationPoint &integration_point, MappingPointContext &context)
 
MappingStatus evaluate_volume (mfem::ElementTransformation &transformation, const mfem::IntegrationPoint &integration_point, VolumeMappingContext &context)
 
MappingStatus evaluate_face (mfem::FaceElementTransformations &transformation, FaceElementSide side, const mfem::IntegrationPoint &integration_point, FaceMappingContext &context)
 

Private Member Functions

void validate_field_bindings () const
 
bool invalidate_for_changed_spaces ()
 
void load_element (int element_id)
 

Private Attributes

const DomainMapper & m_mapper
 
const mfem::GridFunction & m_displacement
 
const mfem::GridFunction & m_compactification_coordinate
 
const mfem::FiniteElementSpace * m_displacement_space
 
const mfem::FiniteElementSpace * m_compactification_space
 
long m_displacement_space_sequence
 
long m_compactification_space_sequence
 
DMWorkspace m_workspace
 
mfem::Array< int > m_displacement_dofs
 
mfem::Array< int > m_compactification_dofs
 
mfem::Vector m_element_displacement
 
mfem::Vector m_element_compactification
 
std::unique_ptr< ElementDisplacementData > m_displacement_data
 
std::unique_ptr< ElementCompactificationData > m_compactification_data
 
int m_cached_element_id {-1}
 

Constructor & Destructor Documentation

◆ GridFunctionMappingEvaluator()

serif::mapping::GridFunctionMappingEvaluator::GridFunctionMappingEvaluator ( const DomainMapper & mapper,
const mfem::GridFunction & displacement,
const mfem::GridFunction & compactification_coordinate )

Member Function Documentation

◆ evaluate_face()

MappingStatus serif::mapping::GridFunctionMappingEvaluator::evaluate_face ( mfem::FaceElementTransformations & transformation,
FaceElementSide side,
const mfem::IntegrationPoint & integration_point,
FaceMappingContext & context )
nodiscard

◆ evaluate_point()

MappingStatus serif::mapping::GridFunctionMappingEvaluator::evaluate_point ( mfem::ElementTransformation & transformation,
const mfem::IntegrationPoint & integration_point,
MappingPointContext & context )
nodiscard

◆ evaluate_volume()

MappingStatus serif::mapping::GridFunctionMappingEvaluator::evaluate_volume ( mfem::ElementTransformation & transformation,
const mfem::IntegrationPoint & integration_point,
VolumeMappingContext & context )
nodiscard

◆ invalidate_cache()

void serif::mapping::GridFunctionMappingEvaluator::invalidate_cache ( )
noexcept

◆ invalidate_for_changed_spaces()

bool serif::mapping::GridFunctionMappingEvaluator::invalidate_for_changed_spaces ( )
nodiscardprivate

◆ load_element()

void serif::mapping::GridFunctionMappingEvaluator::load_element ( int element_id)
private

◆ mesh()

const mfem::Mesh * serif::mapping::GridFunctionMappingEvaluator::mesh ( ) const
inlinenodiscardnoexcept

Identify the mesh supplying the mapping fields so callers can validate shared geometry.

◆ refresh()

void serif::mapping::GridFunctionMappingEvaluator::refresh ( )

◆ validate_field_bindings()

void serif::mapping::GridFunctionMappingEvaluator::validate_field_bindings ( ) const
private

Member Data Documentation

◆ m_cached_element_id

int serif::mapping::GridFunctionMappingEvaluator::m_cached_element_id {-1}
private

◆ m_compactification_coordinate

const mfem::GridFunction& serif::mapping::GridFunctionMappingEvaluator::m_compactification_coordinate
private

◆ m_compactification_data

std::unique_ptr<ElementCompactificationData> serif::mapping::GridFunctionMappingEvaluator::m_compactification_data
private

◆ m_compactification_dofs

mfem::Array<int> serif::mapping::GridFunctionMappingEvaluator::m_compactification_dofs
private

◆ m_compactification_space

const mfem::FiniteElementSpace* serif::mapping::GridFunctionMappingEvaluator::m_compactification_space
private

◆ m_compactification_space_sequence

long serif::mapping::GridFunctionMappingEvaluator::m_compactification_space_sequence
private

◆ m_displacement

const mfem::GridFunction& serif::mapping::GridFunctionMappingEvaluator::m_displacement
private

◆ m_displacement_data

std::unique_ptr<ElementDisplacementData> serif::mapping::GridFunctionMappingEvaluator::m_displacement_data
private

◆ m_displacement_dofs

mfem::Array<int> serif::mapping::GridFunctionMappingEvaluator::m_displacement_dofs
private

◆ m_displacement_space

const mfem::FiniteElementSpace* serif::mapping::GridFunctionMappingEvaluator::m_displacement_space
private

◆ m_displacement_space_sequence

long serif::mapping::GridFunctionMappingEvaluator::m_displacement_space_sequence
private

◆ m_element_compactification

mfem::Vector serif::mapping::GridFunctionMappingEvaluator::m_element_compactification
private

◆ m_element_displacement

mfem::Vector serif::mapping::GridFunctionMappingEvaluator::m_element_displacement
private

◆ m_mapper

const DomainMapper& serif::mapping::GridFunctionMappingEvaluator::m_mapper
private

◆ m_workspace

DMWorkspace serif::mapping::GridFunctionMappingEvaluator::m_workspace
private

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