![]() |
Gowdy solver
|
GowdyEvolve encapsulates the IVP solver for Gowdy spacetime. More...
Public Member Functions | |
bool | setupInitialData () |
The initial data is prepared by hand (thus not loaded from any file). | |
GowdyEvolve (Parameters ¶ms, UniformGrid &ug, MoLIntegrator &integ) | |
Creates and configures the Gowdy solver from the given parameters. | |
Private Member Functions | |
Real & | t (Real m, Real n) |
Real & | r (Real m, Real n) |
Real & | P (Real m, Real n) |
Real & | P_t (Real m, Real n) |
Real | P_r (Real m, Real n) |
Real | P_rr (Real m, Real n) |
Real & | Q (Real m, Real n) |
Real & | Q_t (Real m, Real n) |
Real | Q_r (Real m, Real n) |
Real | Q_rr (Real m, Real n) |
Real & | R (Real m, Real n) |
Real & | R_t (Real m, Real n) |
Real | R_r (Real m, Real n) |
Real | R_rr (Real m, Real n) |
Real & | S (Real m, Real n) |
Real & | S_t (Real m, Real n) |
Real | S_r (Real m, Real n) |
Real | S_rr (Real m, Real n) |
Real & | L (Real m, Real n) |
Real & | L_t (Real m, Real n) |
Real | L_r (Real m, Real n) |
Real | L_rr (Real m, Real n) |
Real & | C (Real m, Real n) |
Real | eq_P_t (Int m, Int n) |
Real | eq_Q_t (Int m, Int n) |
Real | eq_R_t (Int m, Int n) |
Real | eq_S_t (Int m, Int n) |
Real | eq_L_t (Int m, Int n) |
Real | eq_C_violation (Int m, Int n) |
virtual void | integStep_Prepare (Int m) |
Calculates the dependent variables from the prime state variables which are needed for the integration. | |
virtual void | integStep_CalcEvolutionRHS (Int m) |
Calculate the right-hand side for time evolution. | |
virtual bool | integStep_CheckForNaNs (Int m, Int nFrom, Int nTo) |
At each checkpoint, outputs the grid row every mSkip steps, also reporting the integration time and checking for eventual NaNs. | |
virtual void | integStep_Finalize (Int mNext, Int mPrev) |
Perform the additional steps after each integration step. | |
virtual void | applyLeftBoundaryCondition (Int m) |
Apply the periodic boundary conditions on left. | |
virtual void | applyRightBoundaryCondition (Int m) |
Apply the periodic boundary conditions on right. |
GowdyEvolve encapsulates the IVP solver for Gowdy spacetime.
Definition at line 93 of file gowdy-solver.cpp.
GowdyEvolve::GowdyEvolve | ( | Parameters & | params, |
UniformGrid & | ug, | ||
MoLIntegrator & | integ | ||
) | [inline] |
Creates and configures the Gowdy solver from the given parameters.
Definition at line 254 of file gowdy-solver.cpp.
References MoLIntegrator::addToEvolution(), fld::gowdyEvolved, MoLIntegrator::keepEvolved(), and slog.
: GridUser( ug ) { slog << "Gowdy Solver:" << std::endl << std::endl; // Sign up for the integration // integ.addToEvolution( this ); // Add our grid functions to the evolution // integ.keepEvolved( fld::gowdyEvolved ); // Evolved }
virtual void GowdyEvolve::applyLeftBoundaryCondition | ( | Int | m | ) | [inline, private, virtual] |
Apply the periodic boundary conditions on left.
Implements IntegFace.
Definition at line 200 of file gowdy-solver.cpp.
References L(), GridUser::nGhost, GridUser::nLen, P(), Q(), r(), R(), S(), and t().
virtual void GowdyEvolve::applyRightBoundaryCondition | ( | Int | m | ) | [inline, private, virtual] |
Apply the periodic boundary conditions on right.
Implements IntegFace.
Definition at line 216 of file gowdy-solver.cpp.
References L(), GridUser::nGhost, GridUser::nLen, P(), Q(), r(), R(), S(), and t().
Real& GowdyEvolve::C | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by integStep_CalcEvolutionRHS().
Real GowdyEvolve::eq_C_violation | ( | Int | m, |
Int | n | ||
) | [inline, private] |
Real GowdyEvolve::eq_L_t | ( | Int | m, |
Int | n | ||
) | [inline, private] |
Real GowdyEvolve::eq_P_t | ( | Int | m, |
Int | n | ||
) | [inline, private] |
Definition at line 121 of file gowdy-solver.cpp.
References R().
Referenced by integStep_CalcEvolutionRHS().
{ return R(m, n); }
Real GowdyEvolve::eq_Q_t | ( | Int | m, |
Int | n | ||
) | [inline, private] |
Definition at line 125 of file gowdy-solver.cpp.
References S().
Referenced by integStep_CalcEvolutionRHS().
{ return S(m, n); }
Real GowdyEvolve::eq_R_t | ( | Int | m, |
Int | n | ||
) | [inline, private] |
Real GowdyEvolve::eq_S_t | ( | Int | m, |
Int | n | ||
) | [inline, private] |
virtual void GowdyEvolve::integStep_CalcEvolutionRHS | ( | Int | m | ) | [inline, private, virtual] |
Calculate the right-hand side for time evolution.
Implements IntegFace.
Definition at line 167 of file gowdy-solver.cpp.
References C(), eq_C_violation(), eq_L_t(), eq_P_t(), eq_Q_t(), eq_R_t(), eq_S_t(), L_t(), GridUser::nGhost, GridUser::nLen, OMP_parallel_for, P_t(), Q_t(), R_t(), and S_t().
virtual bool GowdyEvolve::integStep_CheckForNaNs | ( | Int | m, |
Int | nFrom, | ||
Int | nTo | ||
) | [inline, private, virtual] |
At each checkpoint, outputs the grid row every mSkip steps, also reporting the integration time and checking for eventual NaNs.
Implements IntegFace.
Definition at line 185 of file gowdy-solver.cpp.
References GF, GridUser::nGhost, and fld::P.
virtual void GowdyEvolve::integStep_Finalize | ( | Int | mNext, |
Int | mPrev | ||
) | [inline, private, virtual] |
Perform the additional steps after each integration step.
Implements IntegFace.
Definition at line 195 of file gowdy-solver.cpp.
{} // Unimplemented IntegFace methods
virtual void GowdyEvolve::integStep_Prepare | ( | Int | m | ) | [inline, private, virtual] |
Calculates the dependent variables from the prime state variables which are needed for the integration.
Implements IntegFace.
Definition at line 162 of file gowdy-solver.cpp.
{} // Unimplemented
Real& GowdyEvolve::L | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by applyLeftBoundaryCondition(), applyRightBoundaryCondition(), and setupInitialData().
Real GowdyEvolve::L_r | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by eq_C_violation().
Real GowdyEvolve::L_rr | ( | Real | m, |
Real | n | ||
) | [private] |
Real& GowdyEvolve::L_t | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by integStep_CalcEvolutionRHS().
Real& GowdyEvolve::P | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by applyLeftBoundaryCondition(), applyRightBoundaryCondition(), eq_C_violation(), eq_L_t(), eq_R_t(), and setupInitialData().
Real GowdyEvolve::P_r | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by eq_C_violation(), eq_L_t(), and eq_S_t().
Real GowdyEvolve::P_rr | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by eq_R_t().
Real& GowdyEvolve::P_t | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by integStep_CalcEvolutionRHS().
Real& GowdyEvolve::Q | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by applyLeftBoundaryCondition(), applyRightBoundaryCondition(), and setupInitialData().
Real GowdyEvolve::Q_r | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by eq_C_violation(), eq_L_t(), eq_R_t(), and eq_S_t().
Real GowdyEvolve::Q_rr | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by eq_S_t().
Real& GowdyEvolve::Q_t | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by integStep_CalcEvolutionRHS().
Real& GowdyEvolve::r | ( | Real | m, |
Real | n | ||
) | [private] |
Reimplemented from GridUser.
Referenced by applyLeftBoundaryCondition(), applyRightBoundaryCondition(), and setupInitialData().
Real& GowdyEvolve::R | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by applyLeftBoundaryCondition(), applyRightBoundaryCondition(), eq_C_violation(), eq_L_t(), eq_P_t(), eq_S_t(), and setupInitialData().
Real GowdyEvolve::R_r | ( | Real | m, |
Real | n | ||
) | [private] |
Real GowdyEvolve::R_rr | ( | Real | m, |
Real | n | ||
) | [private] |
Real& GowdyEvolve::R_t | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by integStep_CalcEvolutionRHS().
Real& GowdyEvolve::S | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by applyLeftBoundaryCondition(), applyRightBoundaryCondition(), eq_C_violation(), eq_L_t(), eq_Q_t(), eq_R_t(), eq_S_t(), and setupInitialData().
Real GowdyEvolve::S_r | ( | Real | m, |
Real | n | ||
) | [private] |
Real GowdyEvolve::S_rr | ( | Real | m, |
Real | n | ||
) | [private] |
Real& GowdyEvolve::S_t | ( | Real | m, |
Real | n | ||
) | [private] |
Referenced by integStep_CalcEvolutionRHS().
bool GowdyEvolve::setupInitialData | ( | ) | [inline] |
The initial data is prepared by hand (thus not loaded from any file).
Definition at line 234 of file gowdy-solver.cpp.
References L(), GridUser::nGhost, GridUser::nLen, P(), Q(), r(), R(), and S().
Referenced by main().
Real& GowdyEvolve::t | ( | Real | m, |
Real | n | ||
) | [private] |
Reimplemented from GridUser.
Referenced by applyLeftBoundaryCondition(), applyRightBoundaryCondition(), eq_L_t(), eq_R_t(), and eq_S_t().