coefficients.cpp serif/mapping/coefficients.hpp serif/utils/error/errors.hpp serif serif::mapping #include"serif/mapping/coefficients.hpp" #include"serif/utils/error/errors.hpp" namespaceserif::mapping{ usingnamespaceserif::utils::errors; PhysicalPositionFunctionCoefficient::PhysicalPositionFunctionCoefficient( constDomainMapper&mapper, constmfem::GridFunction&displacement, constmfem::GridFunction&compactification_coordinate, Funcfunc ): m_f(std::move(func)), m_mapping(mapper,displacement,compactification_coordinate){} doublePhysicalPositionFunctionCoefficient::Eval(mfem::ElementTransformation&transformation,constmfem::IntegrationPoint&ip){ transformation.SetIntPoint(&ip); MappingPointContextcontext; serif_ensure<SERiFErrorCode::INVALID_MAPPING>(m_mapping.evaluate_point(transformation,ip,context)==MappingStatus::VALID,"MappingevaluationfailedduringPhysicalPositionCoefficientevaluation."); returnm_f(context.physical_position); } }