SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
geometry_inspection.hpp File Reference
#include <expected>
#include <span>
#include <utility>
#include "mfem/fem/fespace.hpp"
#include "serif/geometry/deformation/geometry_inspection.hpp"
#include "serif/geometry/deformation/linearization.hpp"
Include dependency graph for geometry_inspection.hpp:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  serif
 
namespace  serif::discretization
 
namespace  serif::discretization::backend
 
namespace  serif::discretization::backend::mfem
 
namespace  serif::mapping
 
namespace  serif::geometry
 
namespace  serif::geometry::deformation
 
namespace  serif::geometry::deformation::backend
 
namespace  serif::geometry::deformation::backend::mfem
 

Functions

std::expected< DeformationGeometryReport, DeformationFailure > serif::geometry::deformation::backend::mfem::inspect_deformation_geometry (const ::mfem::FiniteElementSpace &displacement_space, const ::mfem::Vector &displacement)
 Inspect a serial displacement in the finite-element space's native true-DOF ordering.
 
std::expected< DeformationGeometryReport, DeformationFailure > serif::geometry::deformation::backend::mfem::inspect_deformation_geometry (const ::mfem::FiniteElementSpace &displacement_space, const ::mfem::Vector &displacement, discretization::backend::mfem::TensorBasisCache &basis_cache, const mapping::DomainMapper *reference_geometry=nullptr)
 Reuse existing tensor plans between inspections while reading current reference mesh Jacobians.
 
std::expected< DeformationGeometryReport, DeformationFailure > serif::geometry::deformation::backend::mfem::inspect_deformation_geometry (const ::mfem::FiniteElementSpace &displacement_space, std::span< const double > displacement, ::mfem::Ordering::Type coefficient_ordering)
 Inspect true coefficients with an explicit ordering, including deformation's component-block byNODES vectors.
 
std::expected< DeformationGeometryReport, DeformationFailure > serif::geometry::deformation::backend::mfem::inspect_deformation_geometry (const ::mfem::FiniteElementSpace &displacement_space, std::span< const double > displacement, ::mfem::Ordering::Type coefficient_ordering, discretization::backend::mfem::TensorBasisCache &basis_cache, const mapping::DomainMapper *reference_geometry=nullptr)
 Inspect explicitly ordered true coefficients using the same caller-owned canonical basis cache.
 
template<DeformationMap Map>
requires std::same_as<typename Map::OutputSpace, spaces::VolumeDisplacement>
std::expected< ValidatedDisplacement, DeformationFailure > serif::geometry::deformation::backend::mfem::build_validated_displacement (const Map &map, std::span< const double > parameters, const ::mfem::FiniteElementSpace &displacement_space, const double determinant_floor=0.0)
 Generate a displacement and publish it only when every sampled computational determinant exceeds the floor. The map must produce component-block coefficients for the supplied displacement space. Repeated solver work can compose evaluate_displacement and inspect_deformation_geometry as ordinary dependency computations.