Functions

integrators/prototypes.h File Reference

Go to the source code of this file.

Functions

VDFun_t integrate_init (MeshS *pM)
 Initialize integrator; VGDFun_t defined in athena.h.
void integrate_destruct (void)
 Free memory.
void integrate_destruct_1d (void)
 Free temporary integration arrays.
void integrate_init_1d (MeshS *pM)
 Allocate temporary integration arrays.
void integrate_1d_ctu (DomainS *pD)
 1D version of CTU unsplit integrator for MHD
void integrate_1d_vl (DomainS *pD)
 1D version of van Leer unsplit integrator for MHD.
void integrate_destruct_2d (void)
 Free temporary integration arrays.
void integrate_init_2d (MeshS *pM)
 Allocate temporary integration arrays.
void integrate_2d_ctu (DomainS *pD)
 CTU integrator in 2D.
void integrate_2d_vl (DomainS *pD)
 Van Leer unsplit integrator in 2D.
void integrate_destruct_3d (void)
 Free temporary integration arrays.
void integrate_init_3d (MeshS *pM)
 Allocate temporary integration arrays.
void integrate_3d_ctu (DomainS *pD)
 3D CTU integrator for MHD using 6-solve method
void integrate_3d_vl (DomainS *pD)
 3D van Leer unsplit integrator for MHD.

Function Documentation

void integrate_1d_ctu ( DomainS pD  ) 
void integrate_1d_vl ( DomainS pD  ) 
void integrate_2d_ctu ( DomainS pD  ) 

CTU integrator in 2D.

The numbering of steps follows the numbering in the 3D version. NOT ALL STEPS ARE NEEDED IN 2D.

Definition at line 97 of file integrate_2d_ctu.c.

References B1_x1Face, ConsS::B1c, GridS::B1i, B2_x2Face, ConsS::B2c, GridS::B2i, ConsS::B3c, GridS::B3i, Bxc, Bxi, Prim1DS::By, Cons1DS::By, Prim1DS::Bz, Bz(), Cons1DS::Bz, cc_pos(), cfast(), GridS::CGrid, Cons1D_to_Prim1D(), CoolingFunc, GridS::Coup, d(), Prim1DS::d, ConsS::d, Cons1DS::d, d1, dby, dhalf, dim, GridS::dt, GridS::dx1, GridS::dx2, E, ConsS::E, Cons1DS::E, GPCouple::Eloss, emf3, emf3_cc, eta1, eta2, etah, exchange_feedback(), GPCouple::fb1, GPCouple::fb2, GPCouple::fb3, feedback_predictor(), fluxes(), four_pi_G, Gamma, Gamma_1, geom_src, grav_mean_rho, DomainS::Grid, GPCouple::grid_cs, GPCouple::grid_d, GPCouple::grid_v1, GPCouple::grid_v2, GPCouple::grid_v3, GridS::ie, GridOvrlpS::ijke, GridOvrlpS::ijks, il, integrate_emf3_corner(), Integrate_Particles(), GridS::is, Iso_csound2, iu, GridS::je, jl, GridS::js, ju, GridS::ks, lr_states(), ConsS::M1, ConsS::M2, ConsS::M3, Cons1DS::Mx, Cons1DS::My, GridOvrlpS::myEMF3, GridOvrlpS::myFlx, Cons1DS::Mz, n, GridS::NCGrid, GridS::NPGrid, Omega_0, Prim1DS::P, Cons1DS::Pflux, GridS::PGrid, phalf, GridS::Phi, Prim1D_to_Cons1D(), qshear, GridS::r, r, GridS::ri, ri, Cons1DS::s, ConsS::s, s, ShBoxCoord, ShearingBoxPot, StaticGravPot, GridS::U, Ur_x1Face, Ur_x2Face, Prim1DS::Vx, Prim1DS::Vy, Prim1DS::Vz, Wl, Wr, GridS::x1MassFlux, x1vc(), x2Flux, and GridS::x2MassFlux.

Here is the call graph for this function:

void integrate_2d_vl ( DomainS pD  ) 

Van Leer unsplit integrator in 2D.

van Leer unsplit integrator in 2D.

The numbering of steps follows the numbering in the 3D version. NOT ALL STEPS ARE NEEDED IN 2D.

Definition at line 92 of file integrate_2d_vl.c.

References ath_error(), B1_x1Face, PrimS::B1c, ConsS::B1c, GridS::B1i, B2_x2Face, PrimS::B2c, ConsS::B2c, GridS::B2i, PrimS::B3c, ConsS::B3c, Bxc, Bxi, Prim1DS::By, Cons1DS::By, Prim1DS::Bz, Bz(), Cons1DS::Bz, cc_pos(), cfast(), GridS::CGrid, check_Prim(), Cons1D_to_Prim1D(), Cons_to_Prim(), Prim1DS::d, PrimS::d, d(), ConsS::d, Cons1DS::d, dim, GridS::dt, GridS::dx1, GridS::dx2, E, ConsS::E, Cons1DS::E, emf3, emf3_cc, emf3P, entropy_fix(), entropy_flux(), eta1, eta2, etah, fix_vsq(), FixCell(), fluxes(), four_pi_G, Gamma, grav_mean_rho, DomainS::Grid, Int3Vect::i, GridS::ie, GridOvrlpS::ijke, GridOvrlpS::ijks, il, integrate_emf3_corner(), GridS::is, iu, Int3Vect::j, GridS::je, jl, GridS::js, ju, Int3Vect::k, GridS::ks, lr_states(), ConsS::M1, ConsS::M2, ConsS::M3, Cons1DS::Mx, Cons1DS::My, GridOvrlpS::myEMF3, GridOvrlpS::myFlx, Cons1DS::Mz, n, GridS::NCGrid, GridS::NPGrid, Prim1DS::P, PrimS::P, GridS::PGrid, GridS::Phi, Prim1D_to_Cons1D(), Prim_to_Cons(), S, Cons1DS::s, ConsS::s, s, Shalf, StaticGravPot, GridS::U, Ul, Ul_x1Face, Ul_x2Face, Ur, Ur_x1Face, Ur_x2Face, PrimS::V1, PrimS::V2, PrimS::V3, Prim1DS::Vx, Prim1DS::Vy, Vz(), Prim1DS::Vz, W, Whalf, Wl, Wr, Wr_x1Face, Wr_x2Face, x1FluxS, x1FluxSP, GridS::x1MassFlux, x2Flux, x2FluxP, x2FluxS, x2FluxSP, and GridS::x2MassFlux.

Here is the call graph for this function:

void integrate_3d_ctu ( DomainS pD  ) 

3D CTU integrator for MHD using 6-solve method

Definition at line 110 of file integrate_3d_ctu.c.

References B1_x1Face, ConsS::B1c, GridS::B1i, B2_x2Face, ConsS::B2c, GridS::B2i, B3_x3Face, ConsS::B3c, GridS::B3i, Bxc, Bxi, Prim1DS::By, Cons1DS::By, Prim1DS::Bz, Bz(), Cons1DS::Bz, cc_pos(), cfast(), GridS::CGrid, Cons1D_to_Prim1D(), CoolingFunc, GridS::Coup, d(), Prim1DS::d, ConsS::d, Cons1DS::d, d1, dhalf, dim, GridS::dt, GridS::dx1, GridS::dx2, GridS::dx3, E, ConsS::E, Cons1DS::E, GPCouple::Eloss, emf1, emf1_cc, emf2, emf2_cc, emf3, emf3_cc, eta1, eta2, eta3, etah, exchange_feedback(), GPCouple::fb1, GPCouple::fb2, GPCouple::fb3, feedback_predictor(), fluxes(), four_pi_G, Gamma, Gamma_1, geom_src, get_myGridIndex(), grav_mean_rho, DomainS::Grid, GPCouple::grid_cs, GPCouple::grid_d, GPCouple::grid_v1, GPCouple::grid_v2, GPCouple::grid_v3, GridS::ie, GridOvrlpS::ijke, GridOvrlpS::ijks, il, integrate_emf1_corner(), integrate_emf2_corner(), integrate_emf3_corner(), Integrate_Particles(), GridS::is, Iso_csound2, iu, GridS::je, jl, GridS::js, ju, GridS::ke, kl, GridS::ks, ku, lr_states(), ConsS::M1, ConsS::M2, ConsS::M3, Cons1DS::Mx, Cons1DS::My, my_iproc, my_jproc, my_kproc, GridOvrlpS::myEMF1, GridOvrlpS::myEMF2, GridOvrlpS::myEMF3, GridOvrlpS::myFlx, myID_Comm_world, Cons1DS::Mz, n, GridS::NCGrid, DomainS::NGrid, GridS::NPGrid, Omega_0, OrbitalProfile, Prim1DS::P, Cons1DS::Pflux, GridS::PGrid, phalf, GridS::Phi, Prim1D_to_Cons1D(), qshear, GridS::r, r, RemapEy_ix1(), RemapEy_ox1(), remapEyiib, remapEyoib, GridS::ri, ri, Cons1DS::s, ConsS::s, s, ShearingBoxPot, StaticGravPot, GridS::U, Ur_x1Face, Ur_x2Face, Ur_x3Face, Prim1DS::Vx, Prim1DS::Vy, Prim1DS::Vz, Wl, Wr, GridS::x1MassFlux, x1vc(), x2Flux, GridS::x2MassFlux, x3Flux, and GridS::x3MassFlux.

Here is the call graph for this function:

void integrate_3d_vl ( DomainS pD  ) 

3D van Leer unsplit integrator for MHD.

Definition at line 96 of file integrate_3d_vl.c.

References ath_error(), B1_x1Face, PrimS::B1c, ConsS::B1c, GridS::B1i, B2_x2Face, PrimS::B2c, ConsS::B2c, GridS::B2i, B3_x3Face, PrimS::B3c, ConsS::B3c, GridS::B3i, Bxc, Bxi, Prim1DS::By, Cons1DS::By, Prim1DS::Bz, Bz(), Cons1DS::Bz, cc_pos(), cfast(), GridS::CGrid, check_Prim(), Cons1D_to_Prim1D(), Cons_to_Prim(), Prim1DS::d, PrimS::d, d(), ConsS::d, Cons1DS::d, dim, GridS::dt, GridS::dx1, GridS::dx2, GridS::dx3, E, ConsS::E, Cons1DS::E, emf1, emf1_cc, emf1P, emf2, emf2_cc, emf2P, emf3, emf3_cc, emf3P, entropy_fix(), entropy_flux(), eta1, eta2, eta3, etah, fix_vsq(), FixCell(), fluxes(), four_pi_G, Gamma, grav_mean_rho, DomainS::Grid, Int3Vect::i, GridS::ie, GridOvrlpS::ijke, GridOvrlpS::ijks, il, integrate_emf1_corner(), integrate_emf2_corner(), integrate_emf3_corner(), GridS::is, iu, Int3Vect::j, GridS::je, jl, GridS::js, ju, Int3Vect::k, GridS::ke, kl, GridS::ks, ku, lr_states(), ConsS::M1, ConsS::M2, ConsS::M3, Cons1DS::Mx, Cons1DS::My, GridOvrlpS::myEMF1, GridOvrlpS::myEMF2, GridOvrlpS::myEMF3, GridOvrlpS::myFlx, Cons1DS::Mz, n, GridS::NCGrid, GridS::NPGrid, Prim1DS::P, PrimS::P, GridS::PGrid, GridS::Phi, Prim1D_to_Cons1D(), Prim_to_Cons(), S, Cons1DS::s, ConsS::s, s, Shalf, StaticGravPot, GridS::U, Ul, Ul_x1Face, Ul_x2Face, Ul_x3Face, Ur, Ur_x1Face, Ur_x2Face, Ur_x3Face, PrimS::V1, PrimS::V2, PrimS::V3, Prim1DS::Vx, Prim1DS::Vy, Vz(), Prim1DS::Vz, W, Whalf, Wl, Wr, Wr_x1Face, Wr_x2Face, Wr_x3Face, x1FluxS, x1FluxSP, GridS::x1MassFlux, x2Flux, x2FluxP, x2FluxS, x2FluxSP, GridS::x2MassFlux, x3Flux, x3FluxP, x3FluxS, x3FluxSP, and GridS::x3MassFlux.

Here is the call graph for this function:

void integrate_destruct ( void   ) 

Free memory.

Definition at line 93 of file integrate.c.

References ath_error(), dim, integrate_destruct_1d(), integrate_destruct_2d(), and integrate_destruct_3d().

Referenced by integrate_init_1d(), integrate_init_2d(), integrate_init_3d(), and main().

Here is the call graph for this function:

Here is the caller graph for this function:

void integrate_destruct_1d ( void   ) 

Free temporary integration arrays.

Definition at line 685 of file integrate_1d_ctu.c.

References Bxc, Bxi, dhalf, free_1d_array(), geom_src, phalf, Ul, Ur, Ur_x1Face, Wl, Wr, Wr_x1Face, and x1Flux.

Referenced by integrate_destruct().

Here is the call graph for this function:

Here is the caller graph for this function:

void integrate_destruct_2d ( void   ) 

Free temporary integration arrays.

Definition at line 1981 of file integrate_2d_ctu.c.

References B1_x1Face, B2_x2Face, Bxc, Bxi, dhalf, emf3, emf3_cc, emf3P, eta1, eta2, free_2d_array(), geom_src, phalf, S, Shalf, Ul, Ur, Ur_x1Face, Ur_x2Face, Wl, Wr, Wr_x1Face, Wr_x2Face, x1FluxS, x1FluxSP, x2Flux, x2FluxP, x2FluxS, and x2FluxSP.

Referenced by integrate_destruct().

Here is the call graph for this function:

Here is the caller graph for this function:

void integrate_destruct_3d ( void   ) 

Free temporary integration arrays.

Definition at line 3498 of file integrate_3d_ctu.c.

References B1_x1Face, B2_x2Face, B3_x3Face, Bxc, Bxi, dhalf, emf1, emf1_cc, emf1P, emf2, emf2_cc, emf2P, emf3, emf3_cc, emf3P, eta1, eta2, eta3, free_2d_array(), free_3d_array(), geom_src, phalf, remapEyiib, remapEyoib, S, Shalf, Ul, Ur, Ur_x1Face, Ur_x2Face, Ur_x3Face, Wl, Wr, Wr_x1Face, Wr_x2Face, Wr_x3Face, x1FluxS, x1FluxSP, x2Flux, x2FluxP, x2FluxS, x2FluxSP, x3Flux, x3FluxP, x3FluxS, and x3FluxSP.

Referenced by integrate_destruct().

Here is the call graph for this function:

Here is the caller graph for this function:

VDFun_t integrate_init ( MeshS pM  ) 

Initialize integrator; VGDFun_t defined in athena.h.

Definition at line 24 of file integrate.c.

References ath_error(), dim, integrate_init_1d(), integrate_init_2d(), integrate_init_3d(), MeshS::Nx, and par_getd().

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

void integrate_init_1d ( MeshS pM  ) 

Allocate temporary integration arrays.

Definition at line 631 of file integrate_1d_ctu.c.

References ath_error(), Bxc, Bxi, calloc_1d_array(), CoolingFunc, dhalf, MeshS::Domain, MeshS::DomainsPerLevel, geom_src, DomainS::Grid, integrate_destruct(), MeshS::NLevels, GridS::Nx, phalf, StaticGravPot, Ul, Ur, Ur_x1Face, Wl, Wr, Wr_x1Face, and x1Flux.

Referenced by integrate_init().

Here is the call graph for this function:

Here is the caller graph for this function:

void integrate_init_2d ( MeshS pM  ) 

Allocate temporary integration arrays.

Definition at line 1885 of file integrate_2d_ctu.c.

References ath_error(), B1_x1Face, B2_x2Face, Bxc, Bxi, calloc_2d_array(), CoolingFunc, dhalf, MeshS::Domain, MeshS::DomainsPerLevel, emf3, emf3_cc, emf3P, eta1, eta2, geom_src, DomainS::Grid, integrate_destruct(), MeshS::NLevels, GridS::Nx, phalf, S, Shalf, StaticGravPot, Ul, Ur, Ur_x1Face, Ur_x2Face, Wl, Wr, Wr_x1Face, Wr_x2Face, x1FluxS, x1FluxSP, x2Flux, x2FluxP, x2FluxS, and x2FluxSP.

Referenced by integrate_init().

Here is the call graph for this function:

Here is the caller graph for this function:

void integrate_init_3d ( MeshS pM  )