Bimetric 3+1 toolkit for spherical symmetry
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
BimetricEvolve Class Reference

BimetricEvolve encapsulates a 3+1 evolution solver for bimetric spacetimes. More...

Inheritance diagram for BimetricEvolve:
Collaboration diagram for BimetricEvolve:

Public Member Functions

 BimetricEvolve (Parameters &params, UniformGrid &ug, GridOutputWriter &output, MoL &integ)
 Creates and configures the bimetric solver from the given parameters.

Private Types

enum  Slicing {
  SLICE_CONSTG = 0, SLICE_CONSTGF = 1, SLICE_MS2 = 2, SLICE_MS4 = 3,
  SLICE_MS2OPT = 4, SLICE_BM = 5
}
 < Known slicing methods More...

Private Member Functions

RealgA (Real m, Real n)
RealgA_t (Real m, Real n)
RealfA (Real m, Real n)
RealfA_t (Real m, Real n)
RealgB (Real m, Real n)
RealgB_t (Real m, Real n)
RealfB (Real m, Real n)
RealfB_t (Real m, Real n)
RealgK (Real m, Real n)
RealgK_t (Real m, Real n)
RealfK (Real m, Real n)
RealfK_t (Real m, Real n)
RealgKD (Real m, Real n)
RealgKD_t (Real m, Real n)
RealfKD (Real m, Real n)
RealfKD_t (Real m, Real n)
RealgDA (Real m, Real n)
RealgDA_t (Real m, Real n)
RealfDA (Real m, Real n)
RealfDA_t (Real m, Real n)
RealgDB (Real m, Real n)
RealgDB_t (Real m, Real n)
RealfDB (Real m, Real n)
RealfDB_t (Real m, Real n)
RealgSig (Real m, Real n)
RealgSig_t (Real m, Real n)
RealfSig (Real m, Real n)
RealfSig_t (Real m, Real n)
Realp (Real m, Real n)
Realp_g (Real m, Real n)
Realp_f (Real m, Real n)
Realp_t (Real m, Real n)
Realq (Real m, Real n)
RealgAlp (Real m, Real n)
RealgAlp_t (Real m, Real n)
RealgDAlp (Real m, Real n)
RealgDAlp_t (Real m, Real n)
RealfAlp (Real m, Real n)
RealfDAlp (Real m, Real n)
RealgW (Real m, Real n)
RealfW (Real m, Real n)
RealcW (Real m, Real n)
Realg_rho (Real m, Real n)
Realf_rho (Real m, Real n)
Realg_JK1 (Real m, Real n)
Realf_JK1 (Real m, Real n)
Realg_JK2 (Real m, Real n)
Realf_JK2 (Real m, Real n)
RealpfD (Real m, Real n)
RealpfD_t (Real m, Real n)
RealpfS (Real m, Real n)
RealpfS_t (Real m, Real n)
Realpftau (Real m, Real n)
Realpftau_t (Real m, Real n)
Realpfv (Real m, Real n)
Realpfv_r (Real m, Real n)
RealC_1 (Real m, Real n)
RealC_2 (Real m, Real n)
RealC_3 (Real m, Real n)
RealC_4 (Real m, Real n)
RealgHorz (Real m, Real n)
RealfHorz (Real m, Real n)
RealLt (Real m, Real n)
RealR (Real m, Real n)
Real gA_r (Real m, Real n)
Real fA_r (Real m, Real n)
Real gB_r (Real m, Real n)
Real fB_r (Real m, Real n)
Real gK_r (Real m, Real n)
Real fK_r (Real m, Real n)
Real gKD_r (Real m, Real n)
Real fKD_r (Real m, Real n)
Real gDA_r (Real m, Real n)
Real fDA_r (Real m, Real n)
Real gDB_r (Real m, Real n)
Real fDB_r (Real m, Real n)
Real p_r (Real m, Real n)
Real q_r (Real m, Real n)
Real gAlp_r (Real m, Real n)
Real fAlp_r (Real m, Real n)
Real gDAlp_r (Real m, Real n)
Real fDAlp_r (Real m, Real n)
Real pfD_r (Real m, Real n)
Real pfS_r (Real m, Real n)
Real pftau_r (Real m, Real n)
Real p_rr (Real m, Real n)
Real q_rr (Real m, Real n)
Real fAlp_rr (Real m, Real n)
Real gK1 (Int m, Int n)
Real gK2 (Int m, Int n)
Real fK1 (Int m, Int n)
Real fK2 (Int m, Int n)
Real eq_pr_r (Real m, Real n)
Real eq_qr_r (Real m, Real n)
Real eq_BM_gAlp_t (Int m, Int n)
Real eq_BM_gDAlp_t (Int m, Int n)
Real eq_gA_t (Int m, Int n)
Real eq_fA_t (Int m, Int n)
Real eq_gB_t (Int m, Int n)
Real eq_fB_t (Int m, Int n)
Real eq_gDA_t (Int m, Int n)
Real eq_fDA_t (Int m, Int n)
Real eq_gDB_t (Int m, Int n)
Real eq_fDB_t (Int m, Int n)
Real eq_gSig_t (Int m, Int n)
Real eq_fSig_t (Int m, Int n)
Real eq_base_gK_t (Int m, Int n)
Real eq_invr_gK_t (Int m, Int n)
Real eq_gK_t (Int m, Int n)
Real eq_base_gKD_t (Int m, Int n)
Real eq_invr_gKD_t (Int m, Int n)
Real eq_gKD_t (Int m, Int n)
Real eq_base_fK_t (Int m, Int n)
Real eq_invr_fK_t (Int m, Int n)
Real eq_fK_t (Int m, Int n)
Real eq_base_fKD_t (Int m, Int n)
Real eq_invr_fKD_t (Int m, Int n)
Real eq_fKD_t (Int m, Int n)
Real eq_base_gK1_t (Int m, Int n)
Real eq_invr_gK1_t (Int m, Int n)
Real eq_base_gK2_t (Int m, Int n)
Real eq_invr_gK2_t (Int m, Int n)
Real eq_base_fK1_t (Int m, Int n)
Real eq_invr_fK1_t (Int m, Int n)
Real eq_base_fK2_t (Int m, Int n)
Real eq_invr_fK2_t (Int m, Int n)
Real eq_p_t (Int m, Int n)
Real eq_p1_t (Int m, Int n)
Real eq_base_p_g (Int m, Int n)
Real eq_invr_p_g (Int m, Int n)
Real eq_p_g (Int m, Int n)
Real eq_base_p_f (Int m, Int n)
Real eq_invr_p_f (Int m, Int n)
Real eq_p_f (Int m, Int n)
Real eq_gC_rho (Int m, Int n)
Real eq_fC_rho (Int m, Int n)
Real eq_gC_j (Int m, Int n)
Real eq_fC_j (Int m, Int n)
Real eq_C_bimConsLaw (Int m, Int n)
Real eq_j_over_p (Int m, Int n)
Real eq_C_1 (Int m, Int n)
Real eq_C_2 (Int m, Int n)
Real eq_C_3 (Int m, Int n)
Real eq_C_4 (Int m, Int n)
Real eq_g_rho (Int m, Int n)
Real eq_f_rho (Int m, Int n)
Real eq_g_j (Int m, Int n)
Real eq_f_j (Int m, Int n)
Real eq_g_JK1 (Int m, Int n)
Real eq_f_JK1 (Int m, Int n)
Real eq_g_JK2 (Int m, Int n)
Real eq_f_JK2 (Int m, Int n)
Real eq_pf_D (Int m, Int n)
Real eq_pf_S (Int m, Int n)
Real eq_pf_tau (Int m, Int n)
Real eq_pf_v (Int m, Int n)
Real eq_pf_v_r (Int m, Int n)
Real eq_pf_D_t (Int m, Int n)
Real eq_pf_S_t (Int m, Int n)
Real eq_pf_tau_t (Int m, Int n)
Real eq_pf_rho (Int m, Int n)
Real eq_pf_j (Int m, Int n)
Real eq_pf_J1 (Int m, Int n)
Real eq_pf_J2 (Int m, Int n)
Real eq_q (Int m, Int n)
Real eq_gAlp (Int m, Int n)
Real eq_gW (Int m, Int n)
Real eq_fW (Int m, Int n)
Real eq_cW (Int m, Int n)
Real eq_fAlp (Int m, Int n)
Real eq_gHorz (Int m, Int n)
Real eq_fHorz (Int m, Int n)
Real eq_gBet (Int m, Int n)
Real eq_gBet_r (Int m, Int n)
Real eq_gBetr_r (Int m, Int n)
Real eq_fBet (Int m, Int n)
Real eq_fBet_r (Int m, Int n)
Real eq_fBetr_r (Int m, Int n)
void maximalSlice_2 (Int m, Int N, Real gAlp_at_N)
 Finds the maximal slice using a second-order accurate finite difference scheme.
void maximalSlice_4 (Int m, Int N, Real gAlp_at_N)
 Finds the maximal slice using a fourth-order accurate finite difference scheme.
void maximalSlice_2opt (Int m, Int N, Real gAlp_at_N)
 Finds the maximal slice using a second-order accurate finite difference scheme.
void maximalSlice_PostSteps (Int m, Int N)
 Additional steps for gAlp and gDAlp (like fixing boundary conditions.)
void calculateDerivedVariables (Int m, Int n)
 Calculate the derived variables R, Lt, and pfv.
void determineGaugeFunctions (Int m)
 Determine gAlp (e.g.
void applySommerfeldBC (Int m, Int n, Int m_old, Int gf, Real background=0.0, Int fall_off=1)
 Sommerfeld outgoing (radiative) wave condition on a variable.
virtual void integStep_Prepare (Int m)
 Calculate the dependent variables from the prime state variables which are needed for the integration.
virtual void integStep_CalcEvolutionRHS (Int m)
 Prepare the right-hand side of the evolution equations.
virtual void integStep_Finalize (Int mNext, Int mPrev)
 Perform the additional steps after each integration step.
virtual bool integStep_Diagnostics (Int m, Int chkNaNs_nFrom, Int chkNaNs_nTo)
 At each checkpoint calculate diagnostics variables and check for eventual NaNs.
virtual void applyLeftBoundaryCondition (Int m)
 Fix the state variables at the left boundary.
virtual void applyRightBoundaryCondition (Int m)
 Fix the state variables at the right boundary.

Private Attributes

Int slicing
 Select the slicing: maximal, Bona-Masso, ...
Int lin2n
 Left grid-zone linear smoothing (default: nGhost)
Int cub2n
 Left grid-zone cubic spline smoothing (default: 5*nGhost/2+6)
Real delta_t
 The integration step (obtained from the integrator)
Int smooth
 Smooth the fields (level of smoothness)

Detailed Description

BimetricEvolve encapsulates a 3+1 evolution solver for bimetric spacetimes.

Todo:

EvolvedBy f, f_t --> add dissipation here?

Implement PIRK?

Definition at line 233 of file bim-solver.cpp.


Member Enumeration Documentation

enum BimetricEvolve::Slicing [private]

< Known slicing methods

Enumerator:
SLICE_CONSTG 
SLICE_CONSTGF 
SLICE_MS2 
SLICE_MS4 
SLICE_MS2OPT 
SLICE_BM 

Definition at line 238 of file bim-solver.cpp.

    {
        SLICE_CONSTG  = 0,  // Constant slice in g (f calculated)
        SLICE_CONSTGF = 1,  // Constant slice in both g and f
        SLICE_MS2     = 2,  // Maximal slicing, 2nd order FD
        SLICE_MS4     = 3,  // Maximal slicing, 4th order FD
        SLICE_MS2OPT  = 4,  // Maximal slicing, 2nd order FD, optimized algorithm
        SLICE_BM      = 5   // Bona-Masso slicing
    };

Field Documentation

Left grid-zone cubic spline smoothing (default: 5*nGhost/2+6)

Definition at line 250 of file bim-solver.cpp.

The integration step (obtained from the integrator)

Definition at line 251 of file bim-solver.cpp.

Left grid-zone linear smoothing (default: nGhost)

Definition at line 249 of file bim-solver.cpp.

Select the slicing: maximal, Bona-Masso, ...

Definition at line 248 of file bim-solver.cpp.

Smooth the fields (level of smoothness)

Definition at line 252 of file bim-solver.cpp.


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