|
| auto | make_surface_metric_computation () |
| | Optionally supply the reference surface mass diagonal in native shape coordinates.
|
| |
template<typename Surface>
requires requires(const Surface& model, std::span<const std::array<double, 3>> positions) { { build_surface_embedding(model, positions) } -> std::same_as<std::expected<SurfaceEmbedding, DeformationFailure>>; } |
| auto | make_deformation_computations () |
| | Compile fixed reference factors and evaluate shape motion with one dependency engine.
|
| |
| template<typename Surface> |
| auto | make_deformation_graph () |
| | Provide a standalone graph while leaving the same computations available for equation composition.
|
| |
| std::expected< ConstrainedRadialExtension, DeformationFailure > | make_constrained_radial_extension (std::shared_ptr< const RadialInterpolation > interpolation, const ::mfem::FiniteElementSpace &displacement_space, PowerLawRadialExtension interior={}, FixedInfinityRadialExtension vacuum={}) |
| | Compile the original radial extension and the matching serial component-block constraints.
|
| |
| template<typename Function> |
| void | for_each_displacement_coefficient (const discretization::backend::mfem::DofMap &binding, Function &&visit) |
| | Visit the same displacement coordinate mapping for values and their derivatives.
|
| |
| std::expected< GeometryStepLimit, DeformationFailure > | estimate_geometry_step_limit (const mapping::DomainMapper &mapper, const ::mfem::FiniteElementSpace &displacement_space, const ::mfem::GridFunction &compactification_coordinate, const ::mfem::Vector &accepted_displacement, const ::mfem::Vector &displacement_direction, std::span< const GeometrySampleRule > sample_rules, GeometryStepOptions options={}) |
| | Find the first sampled mapping boundary along accepted + step direction.
|
| |
template<discretization::domain::schema::IsSchema Schema = discretization::domain::schema::CoreEnvelopeVacuumDomainSchema>
requires (Schema::template contains_domain<discretization::domain::StellarDomains>() && Schema::template contains_domain<discretization::domain::VacuumDomain>() && Schema::template contains_boundary<discretization::domain::StellarSurfaceBoundary>() && Schema::template contains_boundary<discretization::domain::InfinitySurfaceBoundary>()) |
| ReferenceDiscretization | deformation_discretization (const ::mfem::FiniteElementSpace &scalar_space, const ::mfem::FiniteElementSpace &displacement_space, ::mfem::Mesh &logical_mesh) |
| | Resolve physical domain names through the schema rather than hard-coded MFEM attributes.
|
| |
| template<typename Surface, typename Interior, typename Vacuum> |
| auto | make_deformation_inputs (const DomainDeformation< Surface, Interior, Vacuum > &model, const ReferenceDiscretization &discretization, const std::vector< double > &coefficients) |
| | Bind physical choices and a borrowed shape vector without evaluating deformation.
|
| |
| template<typename Surface, typename Interior, typename Vacuum> |
| auto | make_deformation_inputs (const DomainDeformation< Surface, Interior, Vacuum > &model, const ReferenceDiscretization &discretization, std::span< const double > coefficients) |
| | Bind shape coordinates directly from a packed numerical state.
|
| |
template<typename Surface, typename Interior, typename Vacuum, std::ranges::range Coefficients>
requires (!std::ranges::borrowed_range<Coefficients>) |
| void | make_deformation_inputs (const DomainDeformation< Surface, Interior, Vacuum > &, const ReferenceDiscretization &, Coefficients &&)=delete |
| | Reject temporary owning containers whose coefficient storage would expire.
|
| |
| std::expected< RadialInterpolation, DeformationFailure > | build_radial_interpolation (const ::mfem::FiniteElementSpace &scalar_space, const ::mfem::FiniteElementSpace &vector_space, ::mfem::Mesh &logical_mesh, std::span< const int > stellar_element_support, std::span< const int > vacuum_element_support, int surface_attribute, int infinity_attribute) |
| | Compile logical-ray interpolation on paired physical and logical meshes. Supports are zero/one element masks. The logical radius is the maximum absolute Cartesian coordinate, preserving the STROID reference foliation after physical distortion. Serial nodal spaces may have hanging nodes away from the conforming stellar surface. The table samples local coefficients; the backend extension enforces their constraints.
|
| |
| DeformationStatus | validate_scalar_reference_space (const ::mfem::FiniteElementSpace &scalar_space) |
| | Reject spaces whose coefficients cannot be interpreted as serial nodal positions.
|
| |
| DeformationStatus | validate_companion_numbering (const ::mfem::FiniteElementSpace &reference_space, const ::mfem::FiniteElementSpace &companion_space) |
| | Require identical scalar coefficient meanings in two companion spaces. Vector component ordering may differ; element bases and their scalar-node indices must agree.
|
| |
| std::expected< std::vector< std::array< double, 3 > >, DeformationFailure > | sample_reference_positions (const ::mfem::FiniteElementSpace &scalar_space, ::mfem::Mesh &reference_mesh) |
| | Sample a paired mesh at the scalar companion nodes, checking shared-node agreement.
|
| |
| std::expected< std::vector< int >, DeformationFailure > | select_surface_scalar_dofs (const ::mfem::FiniteElementSpace &scalar_space, int surface_attribute) |
| | Select canonical surface nodes without retaining a mesh or finite-element-space pointer.
|
| |
| std::expected< ReferenceSurface, DeformationFailure > | sample_reference_surface (const ::mfem::FiniteElementSpace &scalar_space, int surface_attribute) |
| | Sample physical reference positions in ascending scalar-DOF order.
|
| |
| DeformationStatus | validate_surface_trace (const ::mfem::FiniteElementSpace &scalar_space, int surface_attribute, const ReferenceSurface &reference_surface, const SurfaceEmbedding &embedding) |
| | Require the same ordered reference nodes and physical positions as a compiled surface embedding.
|
| |
| std::expected< std::vector< double >, DeformationFailure > | surface_parameter_mass_diagonal (const ::mfem::FiniteElementSpace &scalar_space, int surface_attribute, const ReferenceSurface &reference_surface, const SurfaceEmbedding &embedding) |
| | Measure each shape parameter with the reference boundary mass norm of its Cartesian finite-element trace.
|
| |
| template<typename MetadataKey = operators::backend::mfem::MeshAndCoefficientBindings, discretization::domain::schema::IsSchema Schema> |
| auto | make_volume_displacement_computations (const discretization::backend::mfem::TermBinding< discretization::blocks::displacement::vector, Schema > &binding) |
| | Connect a full component-block deformation vector to an equation's displacement binding.
|
| |
| template<typename MetadataKey = operators::backend::mfem::MeshAndCoefficientBindings, discretization::domain::schema::IsSchema Schema> |
| void | make_volume_displacement_computations (const discretization::backend::mfem::TermBinding< discretization::blocks::displacement::vector, Schema > &&)=delete |
| | A graph cannot retain a displacement binding supplied as a temporary.
|
| |