calibration.hpp serif/solver/preconditioner/backend/mfem/surface/calibrated_mass.hpp src/lib/serif/solver/preconditioner/backend/mfem/surface/calibrated_mass.cpp src/lib/serif/solver/preconditioner/backend/mfem/surface/calibration.cpp src/lib/serif/solver/preconditioner/backend/mfem/surface/fitted_h1.cpp src/lib/serif/solver/preconditioner/backend/mfem/surface/reference_mass.cpp serif serif::solver serif::solver::preconditioner serif::solver::preconditioner::backend serif::solver::preconditioner::backend::mfem serif::solver::preconditioner::backend::mfem::detail #pragmaonce #include"serif/solver/preconditioner/backend/mfem/surface/calibrated_mass.hpp" namespaceserif::solver::preconditioner::backend::mfem::detail { [[nodiscard]]std::expected<OperatorHandle,Failure>surface_target(constSurfaceTargets&targets,strategies::surface::CalibrationTargettarget,intsize); [[nodiscard]]std::expected<void,Failure>validate_surface_metric(std::span<constdouble>metric); [[nodiscard]]std::expected<void,Failure>fill_surface_probe(intsample,::mfem::Vector&probe,boolinclude_smooth_modes); [[nodiscard]]std::expected<SurfaceMassInverse,Failure>surface_mass_inverse(std::span<constdouble>metric,strategies::surface::SurfaceMassFitfit,strategies::inverse::DiagonalRegularizationregularization); }//namespaceserif::solver::preconditioner::backend::mfem::detail