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

Classes

struct  serif::model::backend::mfem::ShapeDerivatives< Deformation >
 Share one accepted deformation and its projected derivative across all physical equations. More...
 

Namespaces

namespace  serif
 
namespace  serif::discretization
 
namespace  serif::discretization::backend
 
namespace  serif::discretization::backend::mfem
 
namespace  serif::model
 
namespace  serif::model::backend
 
namespace  serif::model::backend::mfem
 
namespace  serif::model::backend::mfem::detail
 

Functions

LinearizedBlock serif::model::backend::mfem::displacement_projection (const discretization::backend::mfem::DofMap &binding)
 Map the deformation's component ordering into the supported displacement ordering once.
 
template<geometry::deformation::DeformationMap Map>
void serif::model::backend::mfem::detail::validate_deformation (const std::shared_ptr< const geometry::deformation::DeformationLinearization< Map > > &state)
 Reject null accepted maps and dimensions that MFEM cannot represent.
 
void serif::model::backend::mfem::detail::require_deformation_action (const geometry::deformation::DeformationStatus &status)
 Preserve the originating deformation diagnostic at the MFEM action boundary.
 
template<geometry::deformation::DeformationMap Map>
LinearizedBlock serif::model::backend::mfem::deformation_tangent (std::shared_ptr< const geometry::deformation::DeformationLinearization< Map > > state)
 Retain the accepted shape and expose its displacement tangent E and exact transpose E^T.
 
template<geometry::deformation::DeformationMap Map>
LinearizedBlock serif::model::backend::mfem::deformation_curvature (std::shared_ptr< const geometry::deformation::DeformationLinearization< Map > > state, std::vector< double > force)
 Freeze the force-weighted curvature H = d(E^T force)/dq for the accepted geometry.