Functions

prob/dmr.c File Reference

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.

Detailed Description

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.


Function Documentation

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().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

ConsFun_t get_usr_expr ( const char *  expr  ) 

Sets pointer to expression for special output data.

Definition at line 114 of file dmr.c.

VOutFun_t get_usr_out_fun ( const char *  name  ) 

Returns a user defined output function pointer.

Definition at line 119 of file dmr.c.

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.

Here is the call graph for this function:

void problem_read_restart ( MeshS pM,
FILE *  fp 
)

Problem specific subroutine for use with reading restart files, Edited for each problem.

Definition at line 109 of file dmr.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 104 of file dmr.c.

void Userwork_after_loop ( MeshS pM  ) 

Problem work executed after the main Athena loop, see main.c Edited for each problem.

Definition at line 127 of file dmr.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 123 of file dmr.c.