PhyStar  v0.0.0 thu24
solver::fluidsol::SimCartFlow< N_dim, SpaceID > Class Template Reference

#include <SimCartFlow.hpp>

Inheritance diagram for solver::fluidsol::SimCartFlow< N_dim, SpaceID >:
Collaboration diagram for solver::fluidsol::SimCartFlow< N_dim, SpaceID >:

Public Member Functions

 SimCartFlow ()
 
virtual ~SimCartFlow ()
 
virtual void Init ()
 
virtual void Solve (const int &step, const Real &time, std::vector< std::shared_ptr< ppsol::PPSolBase >> ppsol={})
 
virtual void SolveStageOne (const int &step, const Real &time, const Real &coef=1.0)
 
virtual void SolveStageTwo (const int &step, const Real &time, const Real &coef=1.0)
 
virtual void Finish (const int &step, const Real &time)
 
virtual void WriteFields (const int &step, const Real &time)
 
virtual std::string GetSolverName ()
 
virtual std::string GetMeshName ()
 
auto & CreateUniformMesh (std::vector< int > nsize, std::vector< std::vector< Real >> edges, std::vector< std::vector< int >> ghs={{0}, {0}, {0}})
 
auto & CreateUniformMesh (int nsize, std::vector< Real > edges, std::vector< int > ghs={0})
 
auto & CreateVelocityFields (std::vector< std::vector< int >> flgs)
 
auto & CreatePressureField (std::vector< int > flgs)
 
auto & CreateGradField (std::vector< int > flgs)
 
auto & CreateScalarFields (std::vector< int > flgs, const int n)
 
void TGVFlow (const Real &time)
 
void ShearFlow (const Real &time)
 
void ConfigFlowDict ()
 
void CheckConfigFlowDict ()
 
void GenerateFlow (const std::string ftype, const Real &time)
 
- Public Member Functions inherited from solver::fluidsol::SimpleFlow
 SimpleFlow ()
 
virtual ~SimpleFlow ()
 
- Public Member Functions inherited from solver::Solver
 Solver ()
 
virtual ~Solver ()
 
void PrintAbstract ()
 
void Relase (const SolverNameList &flag)
 
void ConfigGlobalDict (const std::string filename)
 
void PrintConfigGlobalDict ()
 
- Public Member Functions inherited from solver::CartDataSpace< N_dim, 999 >
 CartDataSpace ()
 
 ~CartDataSpace ()
 
void ConfigDataSpaceDict ()
 config information of mpi from ControlDict.in More...
 
void CheckConfigDataSpaceDict ()
 

Public Attributes

blockelm::CartBlock< N_dim > & block = CartDataSpace<N_dim, SpaceID>::cartblock
 
blockelm::CartMesh< N_dim > & gb_mesh = CartDataSpace<N_dim, SpaceID>::gb_cartmesh
 
std::vector< std::vector< Real > > & domain_size = CartDataSpace<N_dim, SpaceID>::domain_size
 
std::vector< std::vector< Real > > & gb_domain_size = CartDataSpace<N_dim, SpaceID>::gb_domain_size
 
std::vector< int > & mesh_size = CartDataSpace<N_dim, SpaceID>::mesh_size
 
std::vector< int > & gb_mesh_size = CartDataSpace<N_dim, SpaceID>::gb_mesh_size
 
std::vector< std::vector< int > > & ghost_size = CartDataSpace<N_dim, SpaceID>::ghost_size
 
std::vector< std::vector< int > > & stagger_flag = CartDataSpace<N_dim, SpaceID>::stagger_flag
 
const std::vector< int > & center_flag = CartDataSpace<N_dim, SpaceID>::center_flag
 
gsmpi::GSMPICart< N_dim > & mpicomm = CartDataSpace<N_dim, SpaceID>::mpicomm
 
std::vector< ibm::IBMCart< 3 > > & cartibm = CartDataSpace<3, SpaceID>::cartibm
 
int & ibm_flag = CartDataSpace<3, SpaceID>::ibm_flag
 
struct {
   std::string   flow_type
 
   Real   dt
 
   Real   kvisc
 
   Real   density
 
   std::vector< Real >   domain_size
 
   std::vector< int >   mesh_size
 
   std::vector< int >   ghost_size
 
   std::string   work_path
 
   std::vector< int >   stagger_flag
 
flowdict
 
- Public Attributes inherited from solver::CartDataSpace< N_dim, 999 >
std::vector< Realdomain_size
 
std::vector< int > mesh_size
 
std::vector< int > ghost_size
 
std::vector< int > stagger_flag
 

Private Attributes

const std::string _name = "SimCartFlow"
 

Additional Inherited Members

- Static Public Member Functions inherited from solver::Solver
static const auto & GlobalDict ()
 
static const auto & Dt ()
 
- Static Public Member Functions inherited from solver::CartDataSpace< N_dim, 999 >
static std::vector< int > CalTotalShape (const std::vector< int > &flag)
 
- Static Public Attributes inherited from solver::CartDataSpace< N_dim, 999 >
static std::vector< std::vector< Real > > domain_size
 
static std::vector< std::vector< Real > > gb_domain_size
 
static std::vector< int > mesh_size
 
static std::vector< int > gb_mesh_size
 
static std::vector< int > start_index
 
static std::vector< std::vector< int > > ghost_size
 
static std::vector< std::vector< int > > stagger_flag
 
static const std::vector< int > center_flag
 
static blockelm::CartMesh< N_dim > gb_cartmesh
 
static blockelm::CartBlock< N_dim > cartblock
 
static gsmpi::GSMPICart< N_dim > mpicomm
 
static std::vector< ibm::IBMCart< N_dim > > cartibm
 
static int ibm_flag
 
static std::vector< blockelm::CartField< Real, N_dim > * > tempfields
 
static tml::tmlnode dataspacetml
 
struct {
   std::vector< Real >   domain_size
 
   std::vector< int >   mesh_size
 
   std::vector< int >   ghost_size
 
   std::vector< int >   stagger_flag
 
dataspacedict
 
- Protected Member Functions inherited from solver::fluidsol::FluidSolBase
 FluidSolBase ()
 
virtual ~FluidSolBase ()
 
- Protected Attributes inherited from solver::fluidsol::FluidSolBase
tml::tmlnode fluidsoltml
 
tml::tmlnode fparams
 
- Static Protected Attributes inherited from solver::fluidsol::FluidSolBase
static Realdtf = dt
 
- Static Protected Attributes inherited from solver::Solver
static std::string header = "PhyStar"
 
static std::string version = "v0.0.1"
 
static int count
 
static Solverptr_fluidsol = nullptr
 
static Solverptr_point_particlesol = nullptr
 
static Solverptr_resolved_particlesol = nullptr
 
static Real dt
 
static Real kvisc
 
static Real density
 
static tml::tmlnode globaltml
 
struct {
   std::string   casename
 
   Real   time_start
 
   Real   time_end
 
   Real   time_ndump
 
   int   ndim
 
   int   step_start
 
   int   nstep
 
   int   step_end
 
   int   step_ndump
 
   int   step_nscreen
 
   int   step_nstat
 
   int   step_nrefresh
 
   int   ppsol_flag
 
   int   ppsol_same_dict
 
   unsigned int   random_seed
 
globaldict
 

Constructor & Destructor Documentation

◆ SimCartFlow()

template<int N_dim, int SpaceID>
solver::fluidsol::SimCartFlow< N_dim, SpaceID >::SimCartFlow

◆ ~SimCartFlow()

template<int N_dim, int SpaceID>
solver::fluidsol::SimCartFlow< N_dim, SpaceID >::~SimCartFlow
virtual

Member Function Documentation

◆ CheckConfigFlowDict()

◆ ConfigFlowDict()

template<int N_dim, int SpaceID = 999>
void solver::fluidsol::SimCartFlow< N_dim, SpaceID >::ConfigFlowDict ( )
inline

◆ CreateGradField()

template<int N_dim, int SpaceID = 999>
auto& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::CreateGradField ( std::vector< int >  flgs)
inline

◆ CreatePressureField()

template<int N_dim, int SpaceID = 999>
auto& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::CreatePressureField ( std::vector< int >  flgs)
inline

◆ CreateScalarFields()

template<int N_dim, int SpaceID = 999>
auto& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::CreateScalarFields ( std::vector< int >  flgs,
const int  n 
)
inline

◆ CreateUniformMesh() [1/2]

template<int N_dim, int SpaceID = 999>
auto& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::CreateUniformMesh ( int  nsize,
std::vector< Real edges,
std::vector< int >  ghs = {0} 
)
inline

◆ CreateUniformMesh() [2/2]

template<int N_dim, int SpaceID = 999>
auto& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::CreateUniformMesh ( std::vector< int >  nsize,
std::vector< std::vector< Real >>  edges,
std::vector< std::vector< int >>  ghs = {{0}, {0}, {0}} 
)
inline

◆ CreateVelocityFields()

template<int N_dim, int SpaceID = 999>
auto& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::CreateVelocityFields ( std::vector< std::vector< int >>  flgs)
inline

◆ Finish()

template<int N_dim, int SpaceID>
void solver::fluidsol::SimCartFlow< N_dim, SpaceID >::Finish ( const int &  step,
const Real time 
)
virtual

◆ GenerateFlow()

template<int N_dim, int SpaceID = 999>
void solver::fluidsol::SimCartFlow< N_dim, SpaceID >::GenerateFlow ( const std::string  ftype,
const Real time 
)
inline

◆ GetMeshName()

template<int N_dim, int SpaceID>
std::string solver::fluidsol::SimCartFlow< N_dim, SpaceID >::GetMeshName
virtual

Reimplemented from solver::Solver.

◆ GetSolverName()

template<int N_dim, int SpaceID>
std::string solver::fluidsol::SimCartFlow< N_dim, SpaceID >::GetSolverName
virtual

Reimplemented from solver::Solver.

◆ Init()

template<int N_dim, int SpaceID>
void solver::fluidsol::SimCartFlow< N_dim, SpaceID >::Init
virtual

Implements solver::fluidsol::FluidSolBase.

Here is the caller graph for this function:

◆ ShearFlow()

template<int N_dim, int SpaceID>
void solver::fluidsol::SimCartFlow< N_dim, SpaceID >::ShearFlow ( const Real time)
Here is the caller graph for this function:

◆ Solve()

template<int N_dim, int SpaceID>
void solver::fluidsol::SimCartFlow< N_dim, SpaceID >::Solve ( const int &  step,
const Real time,
std::vector< std::shared_ptr< ppsol::PPSolBase >>  ppsol = {} 
)
virtual

Implements solver::fluidsol::FluidSolBase.

Here is the caller graph for this function:

◆ SolveStageOne()

template<int N_dim, int SpaceID>
void solver::fluidsol::SimCartFlow< N_dim, SpaceID >::SolveStageOne ( const int &  step,
const Real time,
const Real coef = 1.0 
)
virtual

◆ SolveStageTwo()

template<int N_dim, int SpaceID>
void solver::fluidsol::SimCartFlow< N_dim, SpaceID >::SolveStageTwo ( const int &  step,
const Real time,
const Real coef = 1.0 
)
virtual

◆ TGVFlow()

template<int N_dim, int SpaceID>
void solver::fluidsol::SimCartFlow< N_dim, SpaceID >::TGVFlow ( const Real time)
Here is the caller graph for this function:

◆ WriteFields()

Member Data Documentation

◆ _name

template<int N_dim, int SpaceID = 999>
const std::string solver::fluidsol::SimCartFlow< N_dim, SpaceID >::_name = "SimCartFlow"
private

◆ block

template<int N_dim, int SpaceID = 999>
blockelm::CartBlock<N_dim>& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::block = CartDataSpace<N_dim, SpaceID>::cartblock

◆ cartibm

template<int N_dim, int SpaceID = 999>
std::vector<ibm::IBMCart<3> >& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::cartibm = CartDataSpace<3, SpaceID>::cartibm

◆ center_flag

template<int N_dim, int SpaceID = 999>
const std::vector<int>& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::center_flag = CartDataSpace<N_dim, SpaceID>::center_flag

◆ density

template<int N_dim, int SpaceID = 999>
Real solver::fluidsol::SimCartFlow< N_dim, SpaceID >::density

◆ domain_size [1/2]

template<int N_dim, int SpaceID = 999>
std::vector<std::vector<Real> >& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::domain_size = CartDataSpace<N_dim, SpaceID>::domain_size

◆ domain_size [2/2]

template<int N_dim, int SpaceID = 999>
std::vector<Real> solver::fluidsol::SimCartFlow< N_dim, SpaceID >::domain_size

◆ dt

template<int N_dim, int SpaceID = 999>
Real solver::fluidsol::SimCartFlow< N_dim, SpaceID >::dt

◆ flow_type

template<int N_dim, int SpaceID = 999>
std::string solver::fluidsol::SimCartFlow< N_dim, SpaceID >::flow_type

◆ 

struct { ... } solver::fluidsol::SimCartFlow< N_dim, SpaceID >::flowdict

◆ gb_domain_size

template<int N_dim, int SpaceID = 999>
std::vector<std::vector<Real> >& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::gb_domain_size = CartDataSpace<N_dim, SpaceID>::gb_domain_size

◆ gb_mesh

template<int N_dim, int SpaceID = 999>
blockelm::CartMesh<N_dim>& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::gb_mesh = CartDataSpace<N_dim, SpaceID>::gb_cartmesh

◆ gb_mesh_size

template<int N_dim, int SpaceID = 999>
std::vector<int>& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::gb_mesh_size = CartDataSpace<N_dim, SpaceID>::gb_mesh_size

◆ ghost_size [1/2]

template<int N_dim, int SpaceID = 999>
std::vector<std::vector<int> >& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::ghost_size = CartDataSpace<N_dim, SpaceID>::ghost_size

◆ ghost_size [2/2]

template<int N_dim, int SpaceID = 999>
std::vector<int> solver::fluidsol::SimCartFlow< N_dim, SpaceID >::ghost_size

◆ ibm_flag

template<int N_dim, int SpaceID = 999>
int& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::ibm_flag = CartDataSpace<3, SpaceID>::ibm_flag

◆ kvisc

template<int N_dim, int SpaceID = 999>
Real solver::fluidsol::SimCartFlow< N_dim, SpaceID >::kvisc

◆ mesh_size [1/2]

template<int N_dim, int SpaceID = 999>
std::vector<int>& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::mesh_size = CartDataSpace<N_dim, SpaceID>::mesh_size

◆ mesh_size [2/2]

template<int N_dim, int SpaceID = 999>
std::vector<int> solver::fluidsol::SimCartFlow< N_dim, SpaceID >::mesh_size

◆ mpicomm

template<int N_dim, int SpaceID = 999>
gsmpi::GSMPICart<N_dim>& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::mpicomm = CartDataSpace<N_dim, SpaceID>::mpicomm

◆ stagger_flag [1/2]

template<int N_dim, int SpaceID = 999>
std::vector<std::vector<int> >& solver::fluidsol::SimCartFlow< N_dim, SpaceID >::stagger_flag = CartDataSpace<N_dim, SpaceID>::stagger_flag

◆ stagger_flag [2/2]

template<int N_dim, int SpaceID = 999>
std::vector<int> solver::fluidsol::SimCartFlow< N_dim, SpaceID >::stagger_flag

◆ work_path

template<int N_dim, int SpaceID = 999>
std::string solver::fluidsol::SimCartFlow< N_dim, SpaceID >::work_path

The documentation for this class was generated from the following files: