diff --git a/src/language/modules/MeshModule.cpp b/src/language/modules/MeshModule.cpp index d06d378dd8eb5a79a80f41497cb592407db37849..fe0e438a80009cf18c15b3f2793361c931d12d68 100644 --- a/src/language/modules/MeshModule.cpp +++ b/src/language/modules/MeshModule.cpp @@ -11,7 +11,7 @@ #include <mesh/DiamondDualMeshManager.hpp> #include <mesh/GmshReader.hpp> #include <mesh/Mesh.hpp> -#include <mesh/MeshInterpoler.hpp> +#include <mesh/MeshRelaxer.hpp> #include <mesh/MeshTransformer.hpp> #include <utils/Exceptions.hpp> @@ -42,7 +42,7 @@ MeshModule::MeshModule() )); - this->_addBuiltinFunction("interpolate", + this->_addBuiltinFunction("relax", std::make_shared<BuiltinFunctionEmbedder< std::shared_ptr<const IMesh>(const std::shared_ptr<const IMesh>&, const std::shared_ptr<const IMesh>&, const double&)>>( @@ -50,7 +50,7 @@ MeshModule::MeshModule() [](const std::shared_ptr<const IMesh>& source_mesh, const std::shared_ptr<const IMesh>& destination_mesh, const double& theta) -> std::shared_ptr<const IMesh> { - return MeshInterpoler{}.interpolate(source_mesh, destination_mesh, theta); + return MeshRelaxer{}.relax(source_mesh, destination_mesh, theta); } )); diff --git a/src/mesh/CMakeLists.txt b/src/mesh/CMakeLists.txt index f536bae7afe8b6d1bc979e4abd9feccaf7c86a7d..309e3323a435571b14d0e0d0f631675558c6314b 100644 --- a/src/mesh/CMakeLists.txt +++ b/src/mesh/CMakeLists.txt @@ -20,7 +20,7 @@ add_library( MeshFaceBoundary.cpp MeshFlatFaceBoundary.cpp MeshFlatNodeBoundary.cpp - MeshInterpoler.cpp + MeshRelaxer.cpp MeshLineNodeBoundary.cpp MeshNodeBoundary.cpp MeshRandomizer.cpp diff --git a/src/mesh/MeshInterpoler.hpp b/src/mesh/MeshInterpoler.hpp deleted file mode 100644 index f8a79eea4918bf71b6b7586683a14f2a67194df9..0000000000000000000000000000000000000000 --- a/src/mesh/MeshInterpoler.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef MESH_INTERPOLER_HPP -#define MESH_INTERPOLER_HPP - -class IMesh; - -template <typename ConnectivityType> -class Mesh; - -#include <memory> - -class MeshInterpoler -{ - private: - template <typename ConnectivityType> - std::shared_ptr<const Mesh<ConnectivityType>> _interpolate(const Mesh<ConnectivityType>& source_mesh, - const Mesh<ConnectivityType>& destination_mesh, - const double& theta) const; - - public: - std::shared_ptr<const IMesh> interpolate(const std::shared_ptr<const IMesh>& p_source_mesh, - const std::shared_ptr<const IMesh>& p_destination_mesh, - const double& theta) const; - MeshInterpoler() = default; - ~MeshInterpoler() = default; -}; - -#endif // MESH_INTERPOLER_HPP diff --git a/src/mesh/MeshInterpoler.cpp b/src/mesh/MeshRelaxer.cpp similarity index 57% rename from src/mesh/MeshInterpoler.cpp rename to src/mesh/MeshRelaxer.cpp index 26cba4bff5eeca4b75690b47e30126bac070646b..bda3cc7d17680bf8e2b43596d2e9ad2c7d9759ed 100644 --- a/src/mesh/MeshInterpoler.cpp +++ b/src/mesh/MeshRelaxer.cpp @@ -1,13 +1,13 @@ -#include <mesh/MeshInterpoler.hpp> +#include <mesh/MeshRelaxer.hpp> #include <mesh/Connectivity.hpp> #include <mesh/Mesh.hpp> template <typename ConnectivityType> std::shared_ptr<const Mesh<ConnectivityType>> -MeshInterpoler::_interpolate(const Mesh<ConnectivityType>& source_mesh, - const Mesh<ConnectivityType>& destination_mesh, - const double& theta) const +MeshRelaxer::_relax(const Mesh<ConnectivityType>& source_mesh, + const Mesh<ConnectivityType>& destination_mesh, + const double& theta) const { if (source_mesh.shared_connectivity() == destination_mesh.shared_connectivity()) { const ConnectivityType& connectivity = source_mesh.connectivity(); @@ -23,14 +23,14 @@ MeshInterpoler::_interpolate(const Mesh<ConnectivityType>& source_mesh, return std::make_shared<Mesh<ConnectivityType>>(source_mesh.shared_connectivity(), theta_xr); } else { - throw NormalError("interpolated meshes must share the same connectivity"); + throw NormalError("relaxed meshes must share the same connectivity"); } } std::shared_ptr<const IMesh> -MeshInterpoler::interpolate(const std::shared_ptr<const IMesh>& p_source_mesh, - const std::shared_ptr<const IMesh>& p_destination_mesh, - const double& theta) const +MeshRelaxer::relax(const std::shared_ptr<const IMesh>& p_source_mesh, + const std::shared_ptr<const IMesh>& p_destination_mesh, + const double& theta) const { if (p_source_mesh->dimension() != p_destination_mesh->dimension()) { throw NormalError("incompatible mesh dimensions"); @@ -38,18 +38,18 @@ MeshInterpoler::interpolate(const std::shared_ptr<const IMesh>& p_source_mesh, switch (p_source_mesh->dimension()) { case 1: { using MeshType = Mesh<Connectivity<1>>; - return this->_interpolate(dynamic_cast<const MeshType&>(*p_source_mesh), - dynamic_cast<const MeshType&>(*p_destination_mesh), theta); + return this->_relax(dynamic_cast<const MeshType&>(*p_source_mesh), + dynamic_cast<const MeshType&>(*p_destination_mesh), theta); } case 2: { using MeshType = Mesh<Connectivity<2>>; - return this->_interpolate(dynamic_cast<const MeshType&>(*p_source_mesh), - dynamic_cast<const MeshType&>(*p_destination_mesh), theta); + return this->_relax(dynamic_cast<const MeshType&>(*p_source_mesh), + dynamic_cast<const MeshType&>(*p_destination_mesh), theta); } case 3: { using MeshType = Mesh<Connectivity<3>>; - return this->_interpolate(dynamic_cast<const MeshType&>(*p_source_mesh), - dynamic_cast<const MeshType&>(*p_destination_mesh), theta); + return this->_relax(dynamic_cast<const MeshType&>(*p_source_mesh), + dynamic_cast<const MeshType&>(*p_destination_mesh), theta); } default: { throw UnexpectedError("invalid mesh dimension"); diff --git a/src/mesh/MeshRelaxer.hpp b/src/mesh/MeshRelaxer.hpp new file mode 100644 index 0000000000000000000000000000000000000000..96846cbadfefe61902199e927c99ecf96aaf176a --- /dev/null +++ b/src/mesh/MeshRelaxer.hpp @@ -0,0 +1,27 @@ +#ifndef MESH_RELAXER_HPP +#define MESH_RELAXER_HPP + +class IMesh; + +template <typename ConnectivityType> +class Mesh; + +#include <memory> + +class MeshRelaxer +{ + private: + template <typename ConnectivityType> + std::shared_ptr<const Mesh<ConnectivityType>> _relax(const Mesh<ConnectivityType>& source_mesh, + const Mesh<ConnectivityType>& destination_mesh, + const double& theta) const; + + public: + std::shared_ptr<const IMesh> relax(const std::shared_ptr<const IMesh>& p_source_mesh, + const std::shared_ptr<const IMesh>& p_destination_mesh, + const double& theta) const; + MeshRelaxer() = default; + ~MeshRelaxer() = default; +}; + +#endif // MESH_RELAXER_HPP