Problem generator for double Mach reflection test. More...
Go to the source code of this file.
Functions | |
void | dmrbv_iib (GridS *pGrid) |
Sets boundary condition on left X boundary (iib) for dmr test. | |
void | dmrbv_ijb (GridS *pGrid) |
Sets boundary condition on lower Y boundary (ijb) for dmr test. | |
void | dmrbv_ojb (GridS *pGrid) |
Sets TIME-DEPENDENT boundary condition on upper Y boundary (ojb) for dmr test. | |
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. |
Problem generator for double Mach reflection test.
PURPOSE: Problem generator for double Mach reflection test. Only works for genuinely 2D problems in X1-X2 plane.
REFERENCE: P. Woodward & P. Colella, "The numerical simulation of two-dimensional fluid flow with strong shocks", JCP, 54, 115, sect. IVc.
Definition in file dmr.c.
void dmrbv_iib | ( | GridS * | pGrid | ) |
Sets boundary condition on left X boundary (iib) for dmr test.
Note quantities at this boundary are held fixed at the downstream state
Definition at line 140 of file dmr.c.
References ConsS::d, d0, ConsS::E, e0, GridS::ie, GridS::is, GridS::je, jl, GridS::js, ju, GridS::ks, ConsS::M1, ConsS::M2, and GridS::U.
Referenced by problem().
void dmrbv_ijb | ( | GridS * | pGrid | ) |
Sets boundary condition on lower Y boundary (ijb) for dmr test.
Note quantaties at this boundary are held fixed at the downstream state for x1 < 0.16666666, and are reflected for x1 > 0.16666666
Definition at line 175 of file dmr.c.
References cc_pos(), d(), ConsS::d, d0, E, ConsS::E, e0, GridS::ie, il, GridS::is, iu, GridS::je, GridS::js, GridS::ks, ConsS::M1, M2(), ConsS::M2, and GridS::U.
Referenced by problem().
void dmrbv_ojb | ( | GridS * | pGrid | ) |
Sets TIME-DEPENDENT boundary condition on upper Y boundary (ojb) for dmr test.
Quantaties at this boundary are held fixed at the downstream state for x1 < 0.16666666+v1_shock*time, and at the upstream state for x1 > 0.16666666+v1_shock*time
Definition at line 222 of file dmr.c.
References cc_pos(), ConsS::d, d0, ConsS::E, e0, GridS::ie, il, GridS::is, iu, GridS::je, GridS::js, GridS::ks, ConsS::M1, ConsS::M2, GridS::time, and GridS::U.
Referenced by problem().
ConsFun_t get_usr_expr | ( | const char * | expr | ) |
VOutFun_t get_usr_out_fun | ( | const char * | name | ) |
void problem | ( | DomainS * | pDomain | ) |
Problem initial conditions, edited for each problem.
Definition at line 43 of file dmr.c.
References ath_error(), bvals_mhd_fun(), cc_pos(), ConsS::d, d0, DomainS::Disp, dmrbv_iib(), dmrbv_ijb(), dmrbv_ojb(), ConsS::E, e0, DomainS::Grid, GridS::ie, GridS::is, GridS::je, GridS::js, GridS::ks, left_x1, left_x2, ConsS::M1, ConsS::M2, DomainS::MaxX, GridS::Nx, right_x2, DomainS::RootMaxX, and GridS::U.
void problem_read_restart | ( | MeshS * | pM, | |
FILE * | fp | |||
) |
void problem_write_restart | ( | MeshS * | pM, | |
FILE * | fp | |||
) |
void Userwork_after_loop | ( | MeshS * | pM | ) |