7 files + 978 − 133 Inline Compare changes Side-by-side Inline Show whitespace changes Files 7 src/language/modules/SchemeModule.cpp +29 −4 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ #include <scheme/NeumannBoundaryConditionDescriptor.hpp> #include <scheme/OutflowBoundaryConditionDescriptor.hpp> #include <scheme/SymmetryBoundaryConditionDescriptor.hpp> #include <scheme/PeriodicBoundaryConditionDescriptor.hpp> #include <scheme/VariableBCDescriptor.hpp> #include <scheme/WallBoundaryConditionDescriptor.hpp> #include <utils/Socket.hpp> Loading Loading @@ -400,6 +401,15 @@ SchemeModule::SchemeModule() )); this->_addBuiltinFunction("periodic", std::function( [](std::shared_ptr<const IBoundaryDescriptor> boundary) -> std::shared_ptr<const IBoundaryConditionDescriptor> { return std::make_shared<PeriodicBoundaryConditionDescriptor>(boundary); } )); this->_addBuiltinFunction("external_fsi_velocity", std::function( Loading Loading @@ -563,10 +573,11 @@ SchemeModule::SchemeModule() [](const std::shared_ptr<const DiscreteFunctionVariant>& f_j_v, const std::shared_ptr<const MeshVariant> primal_mesh_v, const std::shared_ptr<const MeshVariant> dual_mesh_v) -> std::shared_ptr<const DiscreteFunctionVariant> { const std::shared_ptr<const MeshVariant> dual_mesh_v, const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list) -> std::shared_ptr<const DiscreteFunctionVariant> { return DDFVSolverHandler{primal_mesh_v} .solver() .init_dual_sca(f_j_v, primal_mesh_v, dual_mesh_v); .init_dual_sca(f_j_v, primal_mesh_v, dual_mesh_v, bc_descriptor_list); } )); Loading @@ -576,10 +587,24 @@ SchemeModule::SchemeModule() [](const std::shared_ptr<const DiscreteFunctionVariant>& f_j_v, const std::shared_ptr<const MeshVariant> primal_mesh_v, const std::shared_ptr<const MeshVariant> dual_mesh_v, const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list) -> std::shared_ptr<const DiscreteFunctionVariant> { return DDFVSolverHandler{primal_mesh_v} .solver() .init_dual_vec(f_j_v, primal_mesh_v, dual_mesh_v, bc_descriptor_list); } )); this->_addBuiltinFunction("calcul_masse_BC_p", std::function( [](const std::shared_ptr<const DiscreteFunctionVariant>& rho_r_v, const std::shared_ptr<const MeshVariant>& primal_mesh_v, const std::shared_ptr<const MeshVariant> dual_mesh_v) -> std::shared_ptr<const DiscreteFunctionVariant> { return DDFVSolverHandler{primal_mesh_v} .solver() .init_dual_vec(f_j_v, primal_mesh_v, dual_mesh_v); .calcul_masse_BC_p(rho_r_v, primal_mesh_v, dual_mesh_v); } )); Loading src/scheme/DDFVSolver.cpp +900 −128 File changed.Preview size limit exceeded, changes collapsed. Show changes src/scheme/DDFVSolver.hpp +8 −1 Original line number Diff line number Diff line Loading @@ -53,10 +53,17 @@ class DDFVSolverHandler virtual std::shared_ptr<const DiscreteFunctionVariant> init_dual_sca(const std::shared_ptr<const DiscreteFunctionVariant>& f_j_v, const std::shared_ptr<const MeshVariant>& primal_mesh_v, const std::shared_ptr<const MeshVariant>& dual_mesh_v) const =0; const std::shared_ptr<const MeshVariant>& dual_mesh_v, const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list) const =0; virtual std::shared_ptr<const DiscreteFunctionVariant> init_dual_vec(const std::shared_ptr<const DiscreteFunctionVariant>& f_j_v, const std::shared_ptr<const MeshVariant>& primal_mesh_v, const std::shared_ptr<const MeshVariant>& dual_mesh_v, const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list) const =0; virtual std::shared_ptr<const DiscreteFunctionVariant> calcul_masse_BC_p(const std::shared_ptr<const DiscreteFunctionVariant>& rho_r_v, const std::shared_ptr<const MeshVariant>& primal_mesh_v, const std::shared_ptr<const MeshVariant>& dual_mesh_v) const =0; Loading src/scheme/IBoundaryConditionDescriptor.hpp +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ class IBoundaryConditionDescriptor inflow_list, neumann, outflow, periodic, symmetry, wall }; Loading src/scheme/PeriodicBoundaryConditionDescriptor.hpp 0 → 100644 +38 −0 Original line number Diff line number Diff line #ifndef PERIODIC_BOUNDARY_CONDITION_DESCRIPTOR_HPP #define PERIODIC_BOUNDARY_CONDITION_DESCRIPTOR_HPP #include <mesh/IBoundaryDescriptor.hpp> #include <scheme/BoundaryConditionDescriptorBase.hpp> #include <memory> class PeriodicBoundaryConditionDescriptor : public BoundaryConditionDescriptorBase { private: std::ostream& _write(std::ostream& os) const final { os << "periodic(" << *m_boundary_descriptor << ")"; return os; } public: Type type() const final { return Type::periodic; } PeriodicBoundaryConditionDescriptor(const std::shared_ptr<const IBoundaryDescriptor>& boundary_descriptor) : BoundaryConditionDescriptorBase{boundary_descriptor} { ; } PeriodicBoundaryConditionDescriptor(const PeriodicBoundaryConditionDescriptor&) = delete; PeriodicBoundaryConditionDescriptor(PeriodicBoundaryConditionDescriptor&&) = delete; ~PeriodicBoundaryConditionDescriptor() = default; }; #endif // PERIODIC_BOUNDARY_CONDITION_DESCRIPTOR_HPP src/utils/checkpointing/ReadIBoundaryConditionDescriptor.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ #include <scheme/NeumannBoundaryConditionDescriptor.hpp> #include <scheme/OutflowBoundaryConditionDescriptor.hpp> #include <scheme/SymmetryBoundaryConditionDescriptor.hpp> #include <Scheme/PeriodicBoundaryConditionDescriptor.hpp> #include <scheme/WallBoundaryConditionDescriptor.hpp> #include <utils/Exceptions.hpp> #include <utils/checkpointing/IBoundaryConditionDescriptorHFType.hpp> Loading src/utils/checkpointing/WriteIBoundaryConditionDescriptor.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ #include <scheme/NeumannBoundaryConditionDescriptor.hpp> #include <scheme/OutflowBoundaryConditionDescriptor.hpp> #include <scheme/SymmetryBoundaryConditionDescriptor.hpp> #include <Scheme/PeriodicBoundaryConditionDescriptor.hpp> #include <scheme/WallBoundaryConditionDescriptor.hpp> #include <utils/Exceptions.hpp> #include <utils/checkpointing/IBoundaryConditionDescriptorHFType.hpp> Loading
src/language/modules/SchemeModule.cpp +29 −4 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ #include <scheme/NeumannBoundaryConditionDescriptor.hpp> #include <scheme/OutflowBoundaryConditionDescriptor.hpp> #include <scheme/SymmetryBoundaryConditionDescriptor.hpp> #include <scheme/PeriodicBoundaryConditionDescriptor.hpp> #include <scheme/VariableBCDescriptor.hpp> #include <scheme/WallBoundaryConditionDescriptor.hpp> #include <utils/Socket.hpp> Loading Loading @@ -400,6 +401,15 @@ SchemeModule::SchemeModule() )); this->_addBuiltinFunction("periodic", std::function( [](std::shared_ptr<const IBoundaryDescriptor> boundary) -> std::shared_ptr<const IBoundaryConditionDescriptor> { return std::make_shared<PeriodicBoundaryConditionDescriptor>(boundary); } )); this->_addBuiltinFunction("external_fsi_velocity", std::function( Loading Loading @@ -563,10 +573,11 @@ SchemeModule::SchemeModule() [](const std::shared_ptr<const DiscreteFunctionVariant>& f_j_v, const std::shared_ptr<const MeshVariant> primal_mesh_v, const std::shared_ptr<const MeshVariant> dual_mesh_v) -> std::shared_ptr<const DiscreteFunctionVariant> { const std::shared_ptr<const MeshVariant> dual_mesh_v, const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list) -> std::shared_ptr<const DiscreteFunctionVariant> { return DDFVSolverHandler{primal_mesh_v} .solver() .init_dual_sca(f_j_v, primal_mesh_v, dual_mesh_v); .init_dual_sca(f_j_v, primal_mesh_v, dual_mesh_v, bc_descriptor_list); } )); Loading @@ -576,10 +587,24 @@ SchemeModule::SchemeModule() [](const std::shared_ptr<const DiscreteFunctionVariant>& f_j_v, const std::shared_ptr<const MeshVariant> primal_mesh_v, const std::shared_ptr<const MeshVariant> dual_mesh_v, const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list) -> std::shared_ptr<const DiscreteFunctionVariant> { return DDFVSolverHandler{primal_mesh_v} .solver() .init_dual_vec(f_j_v, primal_mesh_v, dual_mesh_v, bc_descriptor_list); } )); this->_addBuiltinFunction("calcul_masse_BC_p", std::function( [](const std::shared_ptr<const DiscreteFunctionVariant>& rho_r_v, const std::shared_ptr<const MeshVariant>& primal_mesh_v, const std::shared_ptr<const MeshVariant> dual_mesh_v) -> std::shared_ptr<const DiscreteFunctionVariant> { return DDFVSolverHandler{primal_mesh_v} .solver() .init_dual_vec(f_j_v, primal_mesh_v, dual_mesh_v); .calcul_masse_BC_p(rho_r_v, primal_mesh_v, dual_mesh_v); } )); Loading
src/scheme/DDFVSolver.cpp +900 −128 File changed.Preview size limit exceeded, changes collapsed. Show changes
src/scheme/DDFVSolver.hpp +8 −1 Original line number Diff line number Diff line Loading @@ -53,10 +53,17 @@ class DDFVSolverHandler virtual std::shared_ptr<const DiscreteFunctionVariant> init_dual_sca(const std::shared_ptr<const DiscreteFunctionVariant>& f_j_v, const std::shared_ptr<const MeshVariant>& primal_mesh_v, const std::shared_ptr<const MeshVariant>& dual_mesh_v) const =0; const std::shared_ptr<const MeshVariant>& dual_mesh_v, const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list) const =0; virtual std::shared_ptr<const DiscreteFunctionVariant> init_dual_vec(const std::shared_ptr<const DiscreteFunctionVariant>& f_j_v, const std::shared_ptr<const MeshVariant>& primal_mesh_v, const std::shared_ptr<const MeshVariant>& dual_mesh_v, const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list) const =0; virtual std::shared_ptr<const DiscreteFunctionVariant> calcul_masse_BC_p(const std::shared_ptr<const DiscreteFunctionVariant>& rho_r_v, const std::shared_ptr<const MeshVariant>& primal_mesh_v, const std::shared_ptr<const MeshVariant>& dual_mesh_v) const =0; Loading
src/scheme/IBoundaryConditionDescriptor.hpp +1 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ class IBoundaryConditionDescriptor inflow_list, neumann, outflow, periodic, symmetry, wall }; Loading
src/scheme/PeriodicBoundaryConditionDescriptor.hpp 0 → 100644 +38 −0 Original line number Diff line number Diff line #ifndef PERIODIC_BOUNDARY_CONDITION_DESCRIPTOR_HPP #define PERIODIC_BOUNDARY_CONDITION_DESCRIPTOR_HPP #include <mesh/IBoundaryDescriptor.hpp> #include <scheme/BoundaryConditionDescriptorBase.hpp> #include <memory> class PeriodicBoundaryConditionDescriptor : public BoundaryConditionDescriptorBase { private: std::ostream& _write(std::ostream& os) const final { os << "periodic(" << *m_boundary_descriptor << ")"; return os; } public: Type type() const final { return Type::periodic; } PeriodicBoundaryConditionDescriptor(const std::shared_ptr<const IBoundaryDescriptor>& boundary_descriptor) : BoundaryConditionDescriptorBase{boundary_descriptor} { ; } PeriodicBoundaryConditionDescriptor(const PeriodicBoundaryConditionDescriptor&) = delete; PeriodicBoundaryConditionDescriptor(PeriodicBoundaryConditionDescriptor&&) = delete; ~PeriodicBoundaryConditionDescriptor() = default; }; #endif // PERIODIC_BOUNDARY_CONDITION_DESCRIPTOR_HPP
src/utils/checkpointing/ReadIBoundaryConditionDescriptor.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ #include <scheme/NeumannBoundaryConditionDescriptor.hpp> #include <scheme/OutflowBoundaryConditionDescriptor.hpp> #include <scheme/SymmetryBoundaryConditionDescriptor.hpp> #include <Scheme/PeriodicBoundaryConditionDescriptor.hpp> #include <scheme/WallBoundaryConditionDescriptor.hpp> #include <utils/Exceptions.hpp> #include <utils/checkpointing/IBoundaryConditionDescriptorHFType.hpp> Loading
src/utils/checkpointing/WriteIBoundaryConditionDescriptor.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ #include <scheme/NeumannBoundaryConditionDescriptor.hpp> #include <scheme/OutflowBoundaryConditionDescriptor.hpp> #include <scheme/SymmetryBoundaryConditionDescriptor.hpp> #include <Scheme/PeriodicBoundaryConditionDescriptor.hpp> #include <scheme/WallBoundaryConditionDescriptor.hpp> #include <utils/Exceptions.hpp> #include <utils/checkpointing/IBoundaryConditionDescriptorHFType.hpp> Loading