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

Abstract interface for some mapping from reference coordinates to physical coordinates in the exterior domain. Currently the only concrete implementation of this is the kelvin compactification. More...

#include <compactification.hpp>

Inheritance diagram for serif::mapping::compactification::ExteriorDomainMap:
[legend]

Public Member Functions

virtual ~ExteriorDomainMap ()=default
 
virtual bool is_affine_in_displacement () const noexcept=0
 Check if the mapping is affine in the displacement, that is if the mapping is linear in the displacement and does not depend on the displacement.
 
virtual MappingStatus evaluate (const ExteriorMapInput &input, ExteriorMapResult &result) const =0
 Evaluate the mapping at a given point in the reference domain.
 
virtual MappingStatus evaluate_variation (const ExteriorMapInput &input, const ExteriorMapResult &result, const ExteriorMapDirection &direction, ExteriorMapVariation &variation) const =0
 Evaluate the variation of the mapping at a given point in the reference domain.
 
virtual std::string_view get_name () const noexcept=0
 Return the name of the mapping, which is used for debugging and logging.
 

Detailed Description

Abstract interface for some mapping from reference coordinates to physical coordinates in the exterior domain. Currently the only concrete implementation of this is the kelvin compactification.

Constructor & Destructor Documentation

◆ ~ExteriorDomainMap()

virtual serif::mapping::compactification::ExteriorDomainMap::~ExteriorDomainMap ( )
virtualdefault

Member Function Documentation

◆ evaluate()

virtual MappingStatus serif::mapping::compactification::ExteriorDomainMap::evaluate ( const ExteriorMapInput & input,
ExteriorMapResult & result ) const
nodiscardpure virtual

Evaluate the mapping at a given point in the reference domain.

Parameters
inputThe input to the mapping, which contains the reference coordinates and the displacement.
resultThe result of the mapping, which contains the physical coordinates and the Jacobian of the mapping.
Returns
The status of the mapping evaluation, which indicates if the evaluation was successful or if there was an error.

Implemented in serif::mapping::compactification::KelvinCompactification.

◆ evaluate_variation()

virtual MappingStatus serif::mapping::compactification::ExteriorDomainMap::evaluate_variation ( const ExteriorMapInput & input,
const ExteriorMapResult & result,
const ExteriorMapDirection & direction,
ExteriorMapVariation & variation ) const
nodiscardpure virtual

Evaluate the variation of the mapping at a given point in the reference domain.

Parameters
inputThe input to the mapping, which contains the reference coordinates and the displacement.
resultThe result of the mapping, which contains the physical coordinates and the Jacobian of the mapping.
directionThe direction of the variation, which is a vector in the reference domain.
variationThe variation of the mapping, which contains the variation of the physical coordinates and the variation of the Jacobian.
Returns
The status of the mapping evaluation, which indicates if the evaluation was successful or if there was an error.

Implemented in serif::mapping::compactification::KelvinCompactification.

◆ get_name()

virtual std::string_view serif::mapping::compactification::ExteriorDomainMap::get_name ( ) const
nodiscardpure virtualnoexcept

Return the name of the mapping, which is used for debugging and logging.

Returns
The name of the mapping.

Implemented in serif::mapping::compactification::KelvinCompactification.

◆ is_affine_in_displacement()

virtual bool serif::mapping::compactification::ExteriorDomainMap::is_affine_in_displacement ( ) const
nodiscardpure virtualnoexcept

Check if the mapping is affine in the displacement, that is if the mapping is linear in the displacement and does not depend on the displacement.

Returns
True if the mapping is affine in the displacement, false otherwise.

Implemented in serif::mapping::compactification::KelvinCompactification.


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