10 #ifndef SFCSORTBENCH_RK4NLSM_H 11 #define SFCSORTBENCH_RK4NLSM_H 15 #include "fdCoefficient.h" 17 #include "checkPoint.h" 21 #include "nlsmUtils.h" 22 #include "parameters.h" 25 #include "test/meshTestUtils.h" 28 static const double RK4_C[]={1.0/6.0,1.0/3.0,1.0/3.0,1.0/6.0};
30 static const double RK4_T[]={0,1.0/2.0,1.0/2.0,1.0};
31 static const double RK4_U[]={0.0,1.0/2.0,1.0/2.0,1.0};
49 double ** m_uiPrevVar;
55 double **m_uiUnzipVar;
58 double **m_uiUnzipVarRHS;
64 double ** m_uiConstraintVars;
67 double ** m_uiUnzipConstraintVars;
70 double ** m_uiSendNodeBuf;
73 double ** m_uiRecvNodeBuf;
76 MPI_Request ** m_uiSendReqs;
79 MPI_Request ** m_uiRecvReqs;
82 MPI_Status ** m_uiSendSts;
85 MPI_Status ** m_uiRecvSts;
121 void initialGridConverge();
124 void reallocateMPIResources();
127 void performGhostExchangeVars(
double** zipIn);
130 void intergridTransferVars(
double **& zipIn,
const ot::Mesh* pnewMesh);
133 void unzipVars(
double ** zipIn ,
double **uzipOut);
136 void unzipVars_async(
double ** zipIn ,
double **uzipOut);
139 void zipVars(
double** uzipIn ,
double** zipOut);
142 void writeToVTU(
double **evolZipVarIn,
double ** constrZipVarIn,
unsigned int numEvolVars,
unsigned int numConstVars,
const unsigned int * evolVarIndices,
const unsigned int * constVarIndices);
145 void performSingleIteration();
148 void applyBoundaryConditions();
153 void storeCheckPoint(
const char * fNamePrefix);
165 #endif //SFCSORTBENCH_RK4NLSM_H
~RK4_NLSM()
default destructor
Definition: rk4nlsm.cpp:101
void restoreCheckPoint(const char *fNamePrefix, MPI_Comm comm)
: restore rk45 solver from a given checkpoint. This will overwrite the parameters given in the origin...
Definition: rk4nlsm.cpp:1108
This file contains the base class for the Rungge-Kutta 45 Method.
Definition: rk4nlsm.h:33
void readConfigFile(const char *fName)
: read parameters related to NLSM simulation and store them in static variables defined in parameters...
void rkSolve()
: starts the rk-45 solver.
Definition: rk4nlsm.cpp:793
virtual void applyInitialConditions()
Definition: rk.h:133
RK4_NLSM(ot::Mesh *pMesh, double pTBegin, double pTEnd, double pTh)
default constructor
Definition: rk4nlsm.cpp:17