Loading src/FlowSolverRHEA.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ const int fstream_precision = 15; /// Fstream precision (fixed) FlowSolverRHEA::FlowSolverRHEA() {}; FlowSolverRHEA::FlowSolverRHEA(const string name_configuration_file) : configuration_file(name_configuration_file) { FlowSolverRHEA::FlowSolverRHEA(const string name_configuration_file, function<void(FlowSolverRHEA*)> custom_mesh_filler) : configuration_file(name_configuration_file) { /// Read configuration (input) file this->readConfigurationFile(); Loading Loading @@ -234,7 +234,14 @@ FlowSolverRHEA::FlowSolverRHEA(const string name_configuration_file) : configura T_IBM_field.setTopology(topo,"T_IBM"); /// Fill mesh x, y, z, delta_x, delta_y, delta_z fields //this->fillMeshCoordinatesSizesFields(); if (custom_mesh_filler != nullptr) { /// Run the injected CHILD logic, passing 'this' so it can access the fields custom_mesh_filler(this); } else { /// Run the standard FATHER logic this->fillMeshCoordinatesSizesFields(); } /// Initialize distributed point particles point_particles = new DistributedPointParticles( configuration_file ); Loading src/FlowSolverRHEA.hpp +5 −2 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ #include <iomanip> #include <chrono> #include <mpi.h> #include <functional> #include "yaml-cpp/yaml.h" #include "MacroParameters.hpp" #include "ThermodynamicModel.hpp" Loading Loading @@ -77,7 +78,8 @@ class FlowSolverRHEA { ////////// CONSTRUCTORS & DESTRUCTOR ////////// FlowSolverRHEA(); /// Default constructor FlowSolverRHEA(const std::string configuration_file); /// Parametrized constructor //FlowSolverRHEA(const std::string configuration_file); /// Parametrized constructor FlowSolverRHEA(const std::string name_configuration_file, std::function<void(FlowSolverRHEA*)> custom_mesh_filler = nullptr); /// Parametrized constructor virtual ~FlowSolverRHEA(); /// Destructor ////////// GET FUNCTIONS ////////// Loading Loading @@ -233,7 +235,8 @@ class FlowSolverRHEA { //#pragma acc routine double trilinearInterpolation(const double &x, const double &y, const double &z, const double &xm, const double &xc, const double &xp, const double &ym, const double &yc, const double &yp, const double &zm, const double &zc, const double &zp, const double &fmmm, const double &fmmc, const double &fmmp, const double &fmcm, const double &fmcc, const double &fmcp, const double &fmpm, const double &fmpc, const double &fmpp, const double &fcmm, const double &fcmc, const double &fcmp, const double &fccm, const double &fccc, const double &fccp, const double &fcpm, const double &fcpc, const double &fcpp, const double &fpmm, const double &fpmc, const double &fpmp, const double &fpcm, const double &fpcc, const double &fpcp, const double &fppm, const double &fppc, const double &fppp); protected: //protected: public: ////////// SOLVER PARAMETERS ////////// Loading Loading
src/FlowSolverRHEA.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ const int fstream_precision = 15; /// Fstream precision (fixed) FlowSolverRHEA::FlowSolverRHEA() {}; FlowSolverRHEA::FlowSolverRHEA(const string name_configuration_file) : configuration_file(name_configuration_file) { FlowSolverRHEA::FlowSolverRHEA(const string name_configuration_file, function<void(FlowSolverRHEA*)> custom_mesh_filler) : configuration_file(name_configuration_file) { /// Read configuration (input) file this->readConfigurationFile(); Loading Loading @@ -234,7 +234,14 @@ FlowSolverRHEA::FlowSolverRHEA(const string name_configuration_file) : configura T_IBM_field.setTopology(topo,"T_IBM"); /// Fill mesh x, y, z, delta_x, delta_y, delta_z fields //this->fillMeshCoordinatesSizesFields(); if (custom_mesh_filler != nullptr) { /// Run the injected CHILD logic, passing 'this' so it can access the fields custom_mesh_filler(this); } else { /// Run the standard FATHER logic this->fillMeshCoordinatesSizesFields(); } /// Initialize distributed point particles point_particles = new DistributedPointParticles( configuration_file ); Loading
src/FlowSolverRHEA.hpp +5 −2 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ #include <iomanip> #include <chrono> #include <mpi.h> #include <functional> #include "yaml-cpp/yaml.h" #include "MacroParameters.hpp" #include "ThermodynamicModel.hpp" Loading Loading @@ -77,7 +78,8 @@ class FlowSolverRHEA { ////////// CONSTRUCTORS & DESTRUCTOR ////////// FlowSolverRHEA(); /// Default constructor FlowSolverRHEA(const std::string configuration_file); /// Parametrized constructor //FlowSolverRHEA(const std::string configuration_file); /// Parametrized constructor FlowSolverRHEA(const std::string name_configuration_file, std::function<void(FlowSolverRHEA*)> custom_mesh_filler = nullptr); /// Parametrized constructor virtual ~FlowSolverRHEA(); /// Destructor ////////// GET FUNCTIONS ////////// Loading Loading @@ -233,7 +235,8 @@ class FlowSolverRHEA { //#pragma acc routine double trilinearInterpolation(const double &x, const double &y, const double &z, const double &xm, const double &xc, const double &xp, const double &ym, const double &yc, const double &yp, const double &zm, const double &zc, const double &zp, const double &fmmm, const double &fmmc, const double &fmmp, const double &fmcm, const double &fmcc, const double &fmcp, const double &fmpm, const double &fmpc, const double &fmpp, const double &fcmm, const double &fcmc, const double &fcmp, const double &fccm, const double &fccc, const double &fccp, const double &fcpm, const double &fcpc, const double &fcpp, const double &fpmm, const double &fpmc, const double &fpmp, const double &fpcm, const double &fpcc, const double &fpcp, const double &fppm, const double &fppc, const double &fppp); protected: //protected: public: ////////// SOLVER PARAMETERS ////////// Loading