Sets up shock at angle to grid to test multidimensional algorithm. More...
Go to the source code of this file.
Functions | |
void | shkset2d_iib (GridS *pGrid) |
Sets ghost zones using the nearest computational grid cells implied by the size of the unit cell (r1xr2). | |
void | shkset2d_oib (GridS *pGrid) |
Sets ghost zones using the nearest computational grid cells implied by the size of the unit cell (r1xr2). | |
void | shkset2d_ijb (GridS *pGrid) |
Sets ghost zones using the nearest computational grid cells implied by the size of the unit cell (r1xr2). | |
void | shkset2d_ojb (GridS *pGrid) |
Sets ghost zones using the nearest computational grid cells implied by the size of the unit cell (r1xr2). | |
void | problem (DomainS *pDomain) |
Problem initial conditions, edited for each problem. | |
void | problem_write_restart (MeshS *pM, FILE *fp) |
Problem specific subroutine for use with writing restart files, Edited for each problem. | |
void | problem_read_restart (MeshS *pM, FILE *fp) |
Problem specific subroutine for use with reading restart files, Edited for each problem. | |
ConsFun_t | get_usr_expr (const char *expr) |
Sets pointer to expression for special output data. | |
VOutFun_t | get_usr_out_fun (const char *name) |
Returns a user defined output function pointer. | |
void | Userwork_in_loop (MeshS *pM) |
Problem work executed during each step in the main Athena loop, see main.c. | |
void | Userwork_after_loop (MeshS *pM) |
Problem work executed after the main Athena loop, see main.c Edited for each problem. | |
Variables | |
static Real | Lx |
static Real | Ly |
static int | r1 |
static int | r2 |
Sets up shock at angle to grid to test multidimensional algorithm.
PURPOSE: Sets up shock at angle to grid to test multidimensional algorithm. The grid angle atan(Ly/Lx) is fixed to be atan(0.5), or atan(1), and Nx1/Nx2 must be the same ratio as Lx/Ly. Uses the angle of the shock to remap ghost cells to the equivalent active grid cells, which requires that Nx1>32, using special function pointers. The shock is initialized with reference to a coordinate system (x,y,z) with transformation rules to the code coordinate system (x1,x2,x3)
This inverts to:
PRIVATE FUNCTION PROTOTYPES:
Definition in file shkset2d.c.
ConsFun_t get_usr_expr | ( | const char * | expr | ) |
Sets pointer to expression for special output data.
Definition at line 353 of file shkset2d.c.
VOutFun_t get_usr_out_fun | ( | const char * | name | ) |
Returns a user defined output function pointer.
Definition at line 358 of file shkset2d.c.
void problem | ( | DomainS * | pDomain | ) |
Problem initial conditions, edited for each problem.
Definition at line 58 of file shkset2d.c.
References ath_error(), ath_gcd(), ath_pout(), ConsS::B1c, GridS::B1i, ConsS::B2c, GridS::B2i, ConsS::B3c, GridS::B3i, bvals_mhd_fun(), Bxl, Bxr, Cons1DS::By, Prim1DS::By, Cons1DS::Bz, Prim1DS::Bz, cos_a, Cons1DS::d, ConsS::d, Prim1DS::d, GridS::Disp, GridS::dx1, GridS::dx2, Cons1DS::E, ConsS::E, DomainS::Grid, GridS::ie, GridS::is, GridS::je, GridS::js, GridS::ke, kl, GridS::ks, ku, left_x1, left_x2, DomainS::Level, Lx, Ly, ConsS::M1, ConsS::M2, ConsS::M3, Cons1DS::Mx, Cons1DS::My, Cons1DS::Mz, GridS::Nx, nx1, nx2, Prim1DS::P, par_getd(), Prim1D_to_Cons1D(), r1, r2, right_x1, right_x2, DomainS::RootMaxX, DomainS::RootMinX, shkset2d_iib(), shkset2d_ijb(), shkset2d_oib(), shkset2d_ojb(), sin_a, GridS::U, Ul, Ur, Prim1DS::Vx, Prim1DS::Vy, Prim1DS::Vz, Wl, and Wr.
void problem_read_restart | ( | MeshS * | pM, | |
FILE * | fp | |||
) |
Problem specific subroutine for use with reading restart files, Edited for each problem.
Definition at line 348 of file shkset2d.c.
void problem_write_restart | ( | MeshS * | pM, | |
FILE * | fp | |||
) |
Problem specific subroutine for use with writing restart files, Edited for each problem.
Definition at line 343 of file shkset2d.c.
void shkset2d_iib | ( | GridS * | pGrid | ) |
Sets ghost zones using the nearest computational grid cells implied by the size of the unit cell (r1xr2).
Definition at line 378 of file shkset2d.c.
References GridS::B1i, GridS::B2i, GridS::B3i, GridS::is, GridS::je, jl, GridS::js, ju, GridS::ke, kl, GridS::ks, ku, GridS::Nx, r1, r2, and GridS::U.
Referenced by problem().
void shkset2d_ijb | ( | GridS * | pGrid | ) |
Sets ghost zones using the nearest computational grid cells implied by the size of the unit cell (r1xr2).
Definition at line 464 of file shkset2d.c.
References GridS::B1i, GridS::B2i, GridS::B3i, GridS::ie, il, GridS::is, iu, GridS::js, GridS::ke, kl, GridS::ks, ku, GridS::Nx, r1, r2, and GridS::U.
Referenced by problem().
void shkset2d_oib | ( | GridS * | pGrid | ) |
Sets ghost zones using the nearest computational grid cells implied by the size of the unit cell (r1xr2).
Definition at line 420 of file shkset2d.c.
References GridS::B1i, GridS::B2i, GridS::B3i, GridS::ie, GridS::je, jl, GridS::js, ju, GridS::ke, kl, GridS::ks, ku, GridS::Nx, r1, r2, and GridS::U.
Referenced by problem().
void shkset2d_ojb | ( | GridS * | pGrid | ) |
Sets ghost zones using the nearest computational grid cells implied by the size of the unit cell (r1xr2).
Definition at line 501 of file shkset2d.c.
References GridS::B1i, GridS::B2i, GridS::B3i, GridS::ie, il, GridS::is, iu, GridS::je, GridS::ke, kl, GridS::ks, ku, GridS::Nx, r1, r2, and GridS::U.
Referenced by problem().
void Userwork_after_loop | ( | MeshS * | pM | ) |
Problem work executed after the main Athena loop, see main.c Edited for each problem.
Definition at line 366 of file shkset2d.c.
void Userwork_in_loop | ( | MeshS * | pM | ) |
Problem work executed during each step in the main Athena loop, see main.c.
Edited for each problem.
Definition at line 362 of file shkset2d.c.
Definition at line 52 of file shkset2d.c.
Definition at line 52 of file shkset2d.c.
int r1 [static] |
Definition at line 53 of file shkset2d.c.
Referenced by ParticleTroj(), ParticleVel(), problem(), shkset2d_iib(), shkset2d_ijb(), shkset2d_oib(), shkset2d_ojb(), and Userwork_in_loop().
int r2 [static] |
Definition at line 53 of file shkset2d.c.
Referenced by grav_pot(), outflow_ix1(), outflow_ix3(), outflow_ox1(), outflow_ox2(), outflow_ox3(), ParticleTroj(), ParticleVel(), problem(), shkset2d_iib(), shkset2d_ijb(), shkset2d_oib(), and shkset2d_ojb().