234 lines
16 KiB
Groff
234 lines
16 KiB
Groff
|
|
.TH "serif::mapping::DomainMapper" 3 "Version v0.0.1a" "SERiF" \" -*- nroff -*-
|
||
|
|
.ad l
|
||
|
|
.nh
|
||
|
|
.SH NAME
|
||
|
|
serif::mapping::DomainMapper
|
||
|
|
.SH SYNOPSIS
|
||
|
|
.br
|
||
|
|
.PP
|
||
|
|
.PP
|
||
|
|
\fR#include <domain_mapper\&.hpp>\fP
|
||
|
|
.SS "Public Member Functions"
|
||
|
|
|
||
|
|
.in +1c
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBDomainMapper\fP (const \fBDomainMapper\fP &)=delete"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBDomainMapper\fP & \fBoperator=\fP (const \fBDomainMapper\fP &)=delete"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fB~DomainMapper\fP ()=default"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBDomainMapper\fP (\fBDomainMapper\fP &&)=default"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBDomainMapper\fP & \fBoperator=\fP (\fBDomainMapper\fP &&)=default"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBDomainMapper\fP (\fButils::user_options::DomainMapperOptions\fP \fBoptions\fP, std::unique_ptr< const \fBcompactification::ExteriorDomainMap\fP > exterior_map)"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBMappingStatus\fP \fBevaluate_point\fP (const \fBElementMappingData\fP &element_data, mfem::ElementTransformation &transformation, const mfem::IntegrationPoint &ip, \fBDMWorkspace\fP &workspace, \fBMappingPointContext\fP &context) const"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBMappingStatus\fP \fBevaluate_point\fP (const \fBElementMappingData\fP &element_data, mfem::ElementTransformation &transformation, const mfem::IntegrationPoint &ip, \fBDMWorkspace\fP &workspace, \fBMappingPointContext\fP &context, const \fBDMFixedMeshGeometry\fP &fixed_geometry) const"
|
||
|
|
.br
|
||
|
|
.RI "Map a point using checked fixed geometry sampled by the caller\&. "
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBMappingStatus\fP \fBevaluate_volume\fP (const \fBElementMappingData\fP &element_data, mfem::ElementTransformation &transformation, const mfem::IntegrationPoint &ip, \fBDMWorkspace\fP &workspace, \fBVolumeMappingContext\fP &context, const \fBDMReferenceDisplacementSample\fP *displacement_sample=nullptr, const \fBDMFixedMeshGeometry\fP *fixed_geometry=nullptr) const"
|
||
|
|
.br
|
||
|
|
.RI "Map a volume point, optionally reusing fixed geometry owned by the reference graph node\&. "
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBMappingStatus\fP \fBevaluate_face\fP (const \fBElementMappingData\fP &element_data, mfem::FaceElementTransformations &transformation, \fBFaceElementSide\fP side, const mfem::IntegrationPoint &ip, \fBDMWorkspace\fP &workspace, \fBFaceMappingContext\fP &context) const"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBMappingStatus\fP \fBevaluate_point_variation\fP (const \fBElementMappingData\fP &element_data, const \fBElementDisplacementData\fP &direction, mfem::ElementTransformation &transformation, const mfem::IntegrationPoint &ip, const \fBMappingPointContext\fP &context, \fBDMWorkspace\fP &workspace, \fBMappingPointVariation\fP &variation) const"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBMappingStatus\fP \fBevaluate_point_variation\fP (const \fBElementMappingData\fP &element_data, const \fBElementDisplacementData\fP &direction, mfem::ElementTransformation &transformation, const mfem::IntegrationPoint &ip, const \fBMappingPointContext\fP &context, \fBDMWorkspace\fP &workspace, \fBMappingPointVariation\fP &variation, const mfem::DenseMatrix &inverse_mesh_jacobian) const"
|
||
|
|
.br
|
||
|
|
.RI "Differentiate a point map using its already sampled fixed-mesh inverse Jacobian\&. "
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBMappingStatus\fP \fBevaluate_compactification_coordinate\fP (const \fBElementCompactificationData\fP &compactification, mfem::ElementTransformation &transformation, const mfem::IntegrationPoint &ip, \fBDMWorkspace\fP &workspace, \fBCompactificationPointData\fP &point_data, const mfem::DenseMatrix *inverse_mesh_jacobian=nullptr) const"
|
||
|
|
.br
|
||
|
|
.RI "Sample the fixed compactification coordinate and its gradient in mesh coordinates\&. "
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBMappingStatus\fP \fBevaluate_volume_direction_variation\fP (const \fBElementMappingData\fP &element_data, const \fBElementDisplacementData\fP &direction, mfem::ElementTransformation &transformation, const mfem::IntegrationPoint &ip, const \fBVolumeMappingContext\fP &context, \fBDMWorkspace\fP &workspace, \fBVolumeMappingVariation\fP &variation, const \fBDMReferenceDisplacementSample\fP &direction_sample, const \fBCompactificationPointData\fP *compactification_sample, const mfem::DenseMatrix &inverse_mesh_jacobian) const"
|
||
|
|
.br
|
||
|
|
.RI "Differentiate the physical volume map along one of several directions sharing this point\&. "
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBMappingStatus\fP \fBevaluate_face_variation\fP (const \fBElementMappingData\fP &element_data, const \fBElementDisplacementData\fP &direction, mfem::FaceElementTransformations &transformation, \fBFaceElementSide\fP side, const mfem::IntegrationPoint &ip, const \fBFaceMappingContext\fP &context, \fBDMWorkspace\fP &workspace, \fBFaceMappingVariation\fP &variation) const"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "bool \fBis_compactified_element\fP (const mfem::ElementTransformation &transformation) const noexcept"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "int \fBget_dimension\fP () const noexcept"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "const \fButils::user_options::DomainMapperOptions\fP & \fBoptions\fP () const noexcept"
|
||
|
|
.br
|
||
|
|
.RI "Expose the immutable mapping prescription for reproducible reconstruction\&. "
|
||
|
|
.ti -1c
|
||
|
|
.RI "const \fBcompactification::ExteriorDomainMap\fP & \fBget_exterior_map\fP () const noexcept"
|
||
|
|
.br
|
||
|
|
.in -1c
|
||
|
|
.SS "Private Member Functions"
|
||
|
|
|
||
|
|
.in +1c
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBMappingStatus\fP \fBevaluate_point_impl\fP (const \fBElementMappingData\fP &element_data, mfem::ElementTransformation &transformation, const mfem::IntegrationPoint &ip, \fBDMWorkspace\fP &workspace, \fBMappingPointContext\fP &context, const \fBDMFixedMeshGeometry\fP &geometry, const \fBDMReferenceDisplacementSample\fP *displacement_sample=nullptr) const"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "void \fBvalidate_element_data\fP (const \fBElementMappingData\fP &element_data) const"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "void \fBevaluate_displacement_field\fP (const \fBElementDisplacementData\fP &field, mfem::ElementTransformation &transformation, const mfem::IntegrationPoint &ip, \fBDMWorkspace\fP &workspace, mfem::Vector &value, mfem::DenseMatrix &jacobian, const mfem::DenseMatrix *inverse_mesh_jacobian) const"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fBMappingStatus\fP \fBevaluate_point_variation_impl\fP (const \fBElementMappingData\fP &element_data, const \fBElementDisplacementData\fP &direction, mfem::ElementTransformation &transformation, const mfem::IntegrationPoint &ip, const \fBMappingPointContext\fP &context, \fBDMWorkspace\fP &workspace, \fBMappingPointVariation\fP &variation, const mfem::DenseMatrix *inverse_mesh_jacobian, const \fBDMReferenceDisplacementSample\fP *direction_sample=nullptr, const \fBCompactificationPointData\fP *compactification_sample=nullptr) const"
|
||
|
|
.br
|
||
|
|
.in -1c
|
||
|
|
.SS "Static Private Member Functions"
|
||
|
|
|
||
|
|
.in +1c
|
||
|
|
.ti -1c
|
||
|
|
.RI "static mfem::ElementTransformation & \fBselect_face_element_transformation\fP (const mfem::FaceElementTransformations &transformations, \fBFaceElementSide\fP side)"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "static const mfem::IntegrationPoint & \fBselect_face_element_integration_point\fP (const mfem::FaceElementTransformations &transformations, \fBFaceElementSide\fP side)"
|
||
|
|
.br
|
||
|
|
.in -1c
|
||
|
|
.SS "Private Attributes"
|
||
|
|
|
||
|
|
.in +1c
|
||
|
|
.ti -1c
|
||
|
|
.RI "\fButils::user_options::DomainMapperOptions\fP \fBm_options\fP"
|
||
|
|
.br
|
||
|
|
.ti -1c
|
||
|
|
.RI "std::unique_ptr< const \fBcompactification::ExteriorDomainMap\fP > \fBm_exterior_map\fP"
|
||
|
|
.br
|
||
|
|
.in -1c
|
||
|
|
.SH "Constructor & Destructor Documentation"
|
||
|
|
.PP
|
||
|
|
.SS "serif::mapping::DomainMapper::DomainMapper (const \fBDomainMapper\fP & )\fR [delete]\fP"
|
||
|
|
|
||
|
|
.SS "serif::mapping::DomainMapper::~DomainMapper ()\fR [default]\fP"
|
||
|
|
|
||
|
|
.SS "serif::mapping::DomainMapper::DomainMapper (\fBDomainMapper\fP && )\fR [default]\fP"
|
||
|
|
|
||
|
|
.SS "serif::mapping::DomainMapper::DomainMapper (\fButils::user_options::DomainMapperOptions\fP options, std::unique_ptr< const \fBcompactification::ExteriorDomainMap\fP > exterior_map)"
|
||
|
|
|
||
|
|
.SH "Member Function Documentation"
|
||
|
|
.PP
|
||
|
|
.SS "\fBMappingStatus\fP serif::mapping::DomainMapper::evaluate_compactification_coordinate (const \fBElementCompactificationData\fP & compactification, mfem::ElementTransformation & transformation, const mfem::IntegrationPoint & ip, \fBDMWorkspace\fP & workspace, \fBCompactificationPointData\fP & point_data, const mfem::DenseMatrix * inverse_mesh_jacobian = \fRnullptr\fP) const\fR [nodiscard]\fP"
|
||
|
|
|
||
|
|
.PP
|
||
|
|
Sample the fixed compactification coordinate and its gradient in mesh coordinates\&.
|
||
|
|
.PP
|
||
|
|
\fBParameters\fP
|
||
|
|
.RS 4
|
||
|
|
\fIinverse_mesh_jacobian\fP Optional inverse Jacobian from the same element and point\&.
|
||
|
|
.RE
|
||
|
|
.PP
|
||
|
|
\fBNote\fP
|
||
|
|
.RS 4
|
||
|
|
Reuse this sample for several displacement directions at this point\&. Refresh it when the compactification coefficients, element, point or reference mesh change\&.
|
||
|
|
.RE
|
||
|
|
.PP
|
||
|
|
|
||
|
|
.SS "void serif::mapping::DomainMapper::evaluate_displacement_field (const \fBElementDisplacementData\fP & field, mfem::ElementTransformation & transformation, const mfem::IntegrationPoint & ip, \fBDMWorkspace\fP & workspace, mfem::Vector & value, mfem::DenseMatrix & jacobian, const mfem::DenseMatrix * inverse_mesh_jacobian) const\fR [private]\fP"
|
||
|
|
|
||
|
|
.SS "\fBMappingStatus\fP serif::mapping::DomainMapper::evaluate_face (const \fBElementMappingData\fP & element_data, mfem::FaceElementTransformations & transformation, \fBFaceElementSide\fP side, const mfem::IntegrationPoint & ip, \fBDMWorkspace\fP & workspace, \fBFaceMappingContext\fP & context) const\fR [nodiscard]\fP"
|
||
|
|
|
||
|
|
.SS "\fBMappingStatus\fP serif::mapping::DomainMapper::evaluate_face_variation (const \fBElementMappingData\fP & element_data, const \fBElementDisplacementData\fP & direction, mfem::FaceElementTransformations & transformation, \fBFaceElementSide\fP side, const mfem::IntegrationPoint & ip, const \fBFaceMappingContext\fP & context, \fBDMWorkspace\fP & workspace, \fBFaceMappingVariation\fP & variation) const\fR [nodiscard]\fP"
|
||
|
|
|
||
|
|
.SS "\fBMappingStatus\fP serif::mapping::DomainMapper::evaluate_point (const \fBElementMappingData\fP & element_data, mfem::ElementTransformation & transformation, const mfem::IntegrationPoint & ip, \fBDMWorkspace\fP & workspace, \fBMappingPointContext\fP & context) const\fR [nodiscard]\fP"
|
||
|
|
|
||
|
|
.SS "\fBMappingStatus\fP serif::mapping::DomainMapper::evaluate_point (const \fBElementMappingData\fP & element_data, mfem::ElementTransformation & transformation, const mfem::IntegrationPoint & ip, \fBDMWorkspace\fP & workspace, \fBMappingPointContext\fP & context, const \fBDMFixedMeshGeometry\fP & fixed_geometry) const\fR [nodiscard]\fP"
|
||
|
|
|
||
|
|
.PP
|
||
|
|
Map a point using checked fixed geometry sampled by the caller\&.
|
||
|
|
.PP
|
||
|
|
\fBNote\fP
|
||
|
|
.RS 4
|
||
|
|
Geometry must come from sample_fixed_mesh_geometry for this exact element, point, and mesh revision\&. Dimensions, finite values, positive weight and invertibility are checked; identity and freshness remain the caller's responsibility\&. No sample is retained by the mapper\&.
|
||
|
|
.RE
|
||
|
|
.PP
|
||
|
|
|
||
|
|
.SS "\fBMappingStatus\fP serif::mapping::DomainMapper::evaluate_point_impl (const \fBElementMappingData\fP & element_data, mfem::ElementTransformation & transformation, const mfem::IntegrationPoint & ip, \fBDMWorkspace\fP & workspace, \fBMappingPointContext\fP & context, const \fBDMFixedMeshGeometry\fP & geometry, const \fBDMReferenceDisplacementSample\fP * displacement_sample = \fRnullptr\fP) const\fR [nodiscard]\fP, \fR [private]\fP"
|
||
|
|
|
||
|
|
.SS "\fBMappingStatus\fP serif::mapping::DomainMapper::evaluate_point_variation (const \fBElementMappingData\fP & element_data, const \fBElementDisplacementData\fP & direction, mfem::ElementTransformation & transformation, const mfem::IntegrationPoint & ip, const \fBMappingPointContext\fP & context, \fBDMWorkspace\fP & workspace, \fBMappingPointVariation\fP & variation) const\fR [nodiscard]\fP"
|
||
|
|
|
||
|
|
.SS "\fBMappingStatus\fP serif::mapping::DomainMapper::evaluate_point_variation (const \fBElementMappingData\fP & element_data, const \fBElementDisplacementData\fP & direction, mfem::ElementTransformation & transformation, const mfem::IntegrationPoint & ip, const \fBMappingPointContext\fP & context, \fBDMWorkspace\fP & workspace, \fBMappingPointVariation\fP & variation, const mfem::DenseMatrix & inverse_mesh_jacobian) const\fR [nodiscard]\fP"
|
||
|
|
|
||
|
|
.PP
|
||
|
|
Differentiate a point map using its already sampled fixed-mesh inverse Jacobian\&.
|
||
|
|
.PP
|
||
|
|
\fBNote\fP
|
||
|
|
.RS 4
|
||
|
|
The inverse must come from the checked fixed geometry for this exact element, point and mesh revision; context must describe the same accepted displacement\&. Size and finite values are checked\&. Non-VALUE finite elements retain their original physical-gradient evaluation path\&. Neither the inverse nor any field sample is retained\&.
|
||
|
|
.RE
|
||
|
|
.PP
|
||
|
|
|
||
|
|
.SS "\fBMappingStatus\fP serif::mapping::DomainMapper::evaluate_point_variation_impl (const \fBElementMappingData\fP & element_data, const \fBElementDisplacementData\fP & direction, mfem::ElementTransformation & transformation, const mfem::IntegrationPoint & ip, const \fBMappingPointContext\fP & context, \fBDMWorkspace\fP & workspace, \fBMappingPointVariation\fP & variation, const mfem::DenseMatrix * inverse_mesh_jacobian, const \fBDMReferenceDisplacementSample\fP * direction_sample = \fRnullptr\fP, const \fBCompactificationPointData\fP * compactification_sample = \fRnullptr\fP) const\fR [nodiscard]\fP, \fR [private]\fP"
|
||
|
|
|
||
|
|
.SS "\fBMappingStatus\fP serif::mapping::DomainMapper::evaluate_volume (const \fBElementMappingData\fP & element_data, mfem::ElementTransformation & transformation, const mfem::IntegrationPoint & ip, \fBDMWorkspace\fP & workspace, \fBVolumeMappingContext\fP & context, const \fBDMReferenceDisplacementSample\fP * displacement_sample = \fRnullptr\fP, const \fBDMFixedMeshGeometry\fP * fixed_geometry = \fRnullptr\fP) const\fR [nodiscard]\fP"
|
||
|
|
|
||
|
|
.PP
|
||
|
|
Map a volume point, optionally reusing fixed geometry owned by the reference graph node\&.
|
||
|
|
.PP
|
||
|
|
\fBNote\fP
|
||
|
|
.RS 4
|
||
|
|
Supplied geometry must belong to this element and point at the current mesh revision\&.
|
||
|
|
.RE
|
||
|
|
.PP
|
||
|
|
|
||
|
|
.SS "\fBMappingStatus\fP serif::mapping::DomainMapper::evaluate_volume_direction_variation (const \fBElementMappingData\fP & element_data, const \fBElementDisplacementData\fP & direction, mfem::ElementTransformation & transformation, const mfem::IntegrationPoint & ip, const \fBVolumeMappingContext\fP & context, \fBDMWorkspace\fP & workspace, \fBVolumeMappingVariation\fP & variation, const \fBDMReferenceDisplacementSample\fP & direction_sample, const \fBCompactificationPointData\fP * compactification_sample, const mfem::DenseMatrix & inverse_mesh_jacobian) const\fR [nodiscard]\fP"
|
||
|
|
|
||
|
|
.PP
|
||
|
|
Differentiate the physical volume map along one of several directions sharing this point\&.
|
||
|
|
.PP
|
||
|
|
\fBParameters\fP
|
||
|
|
.RS 4
|
||
|
|
\fIdirection_sample\fP The displacement direction's value and canonical-element gradient at this point\&.
|
||
|
|
.br
|
||
|
|
\fIcompactification_sample\fP Must match this point and the frozen coefficients; it is ignored on interior elements\&. Its dimension and finite values are checked before use\&.
|
||
|
|
.br
|
||
|
|
\fIinverse_mesh_jacobian\fP context\&.quadrature\&.J_element_to_physical_inverse times context\&.mapping\&.mapping_jacobian, formed once per point by the caller\&.
|
||
|
|
.RE
|
||
|
|
.PP
|
||
|
|
|
||
|
|
.SS "int serif::mapping::DomainMapper::get_dimension () const\fR [nodiscard]\fP, \fR [noexcept]\fP"
|
||
|
|
|
||
|
|
.SS "const \fBcompactification::ExteriorDomainMap\fP & serif::mapping::DomainMapper::get_exterior_map () const\fR [nodiscard]\fP, \fR [noexcept]\fP"
|
||
|
|
|
||
|
|
.SS "bool serif::mapping::DomainMapper::is_compactified_element (const mfem::ElementTransformation & transformation) const\fR [nodiscard]\fP, \fR [noexcept]\fP"
|
||
|
|
|
||
|
|
.SS "\fBDomainMapper\fP & serif::mapping::DomainMapper::operator= (const \fBDomainMapper\fP & )\fR [delete]\fP"
|
||
|
|
|
||
|
|
.SS "\fBDomainMapper\fP & serif::mapping::DomainMapper::operator= (\fBDomainMapper\fP && )\fR [default]\fP"
|
||
|
|
|
||
|
|
.SS "const \fButils::user_options::DomainMapperOptions\fP & serif::mapping::DomainMapper::options () const\fR [inline]\fP, \fR [nodiscard]\fP, \fR [noexcept]\fP"
|
||
|
|
|
||
|
|
.PP
|
||
|
|
Expose the immutable mapping prescription for reproducible reconstruction\&.
|
||
|
|
.SS "const mfem::IntegrationPoint & serif::mapping::DomainMapper::select_face_element_integration_point (const mfem::FaceElementTransformations & transformations, \fBFaceElementSide\fP side)\fR [static]\fP, \fR [nodiscard]\fP, \fR [private]\fP"
|
||
|
|
|
||
|
|
.SS "mfem::ElementTransformation & serif::mapping::DomainMapper::select_face_element_transformation (const mfem::FaceElementTransformations & transformations, \fBFaceElementSide\fP side)\fR [static]\fP, \fR [nodiscard]\fP, \fR [private]\fP"
|
||
|
|
|
||
|
|
.SS "void serif::mapping::DomainMapper::validate_element_data (const \fBElementMappingData\fP & element_data) const\fR [private]\fP"
|
||
|
|
|
||
|
|
.SH "Member Data Documentation"
|
||
|
|
.PP
|
||
|
|
.SS "std::unique_ptr<const \fBcompactification::ExteriorDomainMap\fP> serif::mapping::DomainMapper::m_exterior_map\fR [private]\fP"
|
||
|
|
|
||
|
|
.SS "\fButils::user_options::DomainMapperOptions\fP serif::mapping::DomainMapper::m_options\fR [private]\fP"
|
||
|
|
|
||
|
|
|
||
|
|
.SH "Author"
|
||
|
|
.PP
|
||
|
|
Generated automatically by Doxygen for SERiF from the source code\&.
|