Dendro  5.01
Dendro in Greek language means tree. The Dendro library is a large scale (262K cores on ORNL's Titan) distributed memory adaptive octree framework. The main goal of Dendro is to perform large scale multiphysics simulations efficeiently in mordern supercomputers. Dendro consists of efficient parallel data structures and algorithms to perform variational ( finite element) methods and finite difference mthods on 2:1 balanced arbitary adaptive octrees which enables the users to perform simulations raning from black holes (binary black hole mergers) to blood flow in human body, where applications ranging from relativity, astrophysics to biomedical engineering.
Public Member Functions | List of all members
ode::solver::RK4_NLSM Class Reference
Inheritance diagram for ode::solver::RK4_NLSM:
Inheritance graph
Collaboration diagram for ode::solver::RK4_NLSM:
Collaboration graph

Public Member Functions

 RK4_NLSM (ot::Mesh *pMesh, double pTBegin, double pTEnd, double pTh)
 default constructor More...
 ~RK4_NLSM ()
 default destructor
void readConfigFile (const char *fName)
 : read parameters related to NLSM simulation and store them in static variables defined in parameters.h
void rkSolve ()
 : starts the rk-45 solver.
void restoreCheckPoint (const char *fNamePrefix, MPI_Comm comm)
 : restore rk45 solver from a given checkpoint. This will overwrite the parameters given in the original constructor More...
- Public Member Functions inherited from ode::solver::RK
 RK (ot::Mesh *pMesh, double pTBegin, double pTEnd, double pTh)
virtual void applyInitialConditions ()
void freeMesh ()
 free memeory of the mesh

Additional Inherited Members

- Protected Attributes inherited from ode::solver::RK
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

Constructor & Destructor Documentation

◆ RK4_NLSM()

ode::solver::RK4_NLSM::RK4_NLSM ( ot::Mesh pMesh,
double  pTBegin,
double  pTEnd,
double  pTh 

default constructor

[in]pMesh: pointer to the mesh.
[in]pTBeginRK45 time begin
[in]pTEndRK45 time end
[in]pThtimes step size.

Member Function Documentation

◆ restoreCheckPoint()

void ode::solver::RK4_NLSM::restoreCheckPoint ( const char *  fNamePrefix,
MPI_Comm  comm 

: restore rk45 solver from a given checkpoint. This will overwrite the parameters given in the original constructor


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