|
| RK45Transport (ot::Mesh *pMesh, double pTBegin, double pTEnd, double pTh) |
| Default constructor. More...
|
|
| ~RK45Transport () |
|
void | setParameters (double *b, std::function< double(double, double, double)>g, std::function< double(double, double, double, double)> f, const char *fprefix, double wltTol) |
| : set parameters for transport equation More...
|
|
void | setLDImbParameters (double ldTol=0.1, unsigned int sfK=2) |
| Used to set the load balancing parameters for the solver. More...
|
|
void | applyInitialConditions () |
|
void | performSingleIteration () |
| : Implementation of the base class time step function
|
|
void | applyBoundaryConditions () |
| : Implementation of the base class function to apply boundary conditions.
|
|
template<typename T > |
void | applyBoundaryConditions (const double time, T *vec) |
| : apply boundary conditions for the each stage of rk45
|
|
void | rkSolve () |
| : starts the rk-45 solver.
|
|
int | storeCheckPoint (const char *fNamePrefix) |
| : stores the all the variables that is required to restore the rk45 solver at a given stage. More...
|
|
int | restoreRK45Solver (const char *fNamePrefix, const unsigned int step, const MPI_Comm comm) |
| : restore rk45 solver from a given checkpoint. This will overwrite the parameters given in the original constructor More...
|
|
| RK (ot::Mesh *pMesh, double pTBegin, double pTEnd, double pTh) |
|
void | freeMesh () |
| free memeory of the mesh
|
|
|
ot::Mesh * | m_uiMesh |
|
unsigned int | m_uiOrder |
|
unsigned int | m_uiNrp |
|
MPI_Comm | m_uiComm |
|
double | m_uiTimeBegin |
|
double | m_uiTimeEnd |
|
double | m_uiT_h |
|
double | m_uiCurrentTime |
|
double | m_uiT_h_prev |
|
double | m_uiTimeStepCurrent |
|
unsigned int | m_uiCurrentStep |
|
const double | RK45_STAGE_1_COEF =16.0/135.0 |
|
const double | RK45_STAGE_1_T =1.0 |
|
const double | RK45_STAGE_1_U =1.0 |
|
const double | RK45_STAGE_2_COEF =0.0 |
|
const double | RK45_STAGE_2_T =(1.0/4.0) |
|
const double | RK45_STAGE_2_U =(1.0/4.0) |
|
const double | RK45_STAGE_3_COEF =6656.0/12825.0 |
|
const double | RK45_STAGE_3_T =(3.0/8.0) |
|
const double | RK45_STAGE_3_U1 =(3.0/32.0) |
|
const double | RK45_STAGE_3_U2 =(9.0/32.0) |
|
const double | RK45_STAGE_4_COEF =28561.0/56430 |
|
const double | RK45_STAGE_4_T =(12.0/13.0) |
|
const double | RK45_STAGE_4_U1 =(1932.0/2197.0) |
|
const double | RK45_STAGE_4_U2 =(-7200.0/2197.0) |
|
const double | RK45_STAGE_4_U3 =(7296.0/2197.0) |
|
const double | RK45_STAGE_5_COEF =-9.0/50.0 |
|
const double | RK45_STAGE_5_T =1.0 |
|
const double | RK45_STAGE_5_U1 =(439.0/216.0) |
|
const double | RK45_STAGE_5_U2 =(-8.0) |
|
const double | RK45_STAGE_5_U3 =(3680.0/513.0) |
|
const double | RK45_STAGE_5_U4 =(-845.0/4104.0) |
|
const double | RK45_STAGE_6_COEF =2.0/55.0 |
|
const double | RK45_STAGE_6_T =0.5 |
|
const double | RK45_STAGE_6_U1 =(-8.0/27.0) |
|
const double | RK45_STAGE_6_U2 =(2.0) |
|
const double | RK45_STAGE_6_U3 =(-3544.0/2565.0) |
|
const double | RK45_STAGE_6_U4 =(1859.0/4104.0) |
|
const double | RK45_STAGE_6_U5 =(-11.0/40.0) |
|
std::vector< unsigned int > | m_uiRefinedOctIDs |
|
std::vector< unsigned int > | m_uiCoarsenOctIDs |
|
◆ RK45Transport()
ode::solver::RK45Transport::RK45Transport |
( |
ot::Mesh * |
pMesh, |
|
|
double |
pTBegin, |
|
|
double |
pTEnd, |
|
|
double |
pTh |
|
) |
| |
Default constructor.
- Parameters
-
[in] | pMesh | mesh that we will use to solve transport equation. |
[in] | pTBegin | begin time of time step. |
[in] | pTEnd | end time of time step. |
◆ ~RK45Transport()
ode::solver::RK45Transport::~RK45Transport |
( |
| ) |
|
: Destructor to release the memory for the allocated variables
◆ applyInitialConditions()
void ode::solver::RK45Transport::applyInitialConditions |
( |
| ) |
|
|
virtual |
◆ restoreRK45Solver()
int ode::solver::RK45Transport::restoreRK45Solver |
( |
const char * |
fNamePrefix, |
|
|
const unsigned int |
step, |
|
|
const MPI_Comm |
comm |
|
) |
| |
: restore rk45 solver from a given checkpoint. This will overwrite the parameters given in the original constructor
- Parameters
-
◆ setLDImbParameters()
void ode::solver::RK45Transport::setLDImbParameters |
( |
double |
ldTol = 0.1 , |
|
|
unsigned int |
sfK = 2 |
|
) |
| |
Used to set the load balancing parameters for the solver.
- Parameters
-
[in] | ldTol | load imbalance toelrance |
[in] | sfK | splitter fix value |
◆ setParameters()
void ode::solver::RK45Transport::setParameters |
( |
double * |
b, |
|
|
std::function< double(double, double, double)> |
g, |
|
|
std::function< double(double, double, double, double)> |
f, |
|
|
const char * |
fprefix, |
|
|
double |
wltTol |
|
) |
| |
: set parameters for transport equation
- Parameters
-
[in] | constant | vector b as given in transport equation. This should be an array size of 3. |
[in] | g | initial value when t=pTBegin. |
◆ storeCheckPoint()
int ode::solver::RK45Transport::storeCheckPoint |
( |
const char * |
fNamePrefix | ) |
|
: stores the all the variables that is required to restore the rk45 solver at a given stage.
- Parameters
-
[in] | fNamePrefix | checkpoint file pre-fix name. |
The documentation for this class was generated from the following files: