HARM
harm and utilities
 All Data Structures Files Functions Variables Typedefs Macros Pages
Functions
global.bounds.h File Reference

Function declarations (used globally) from bounds.tools.c. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int bound_x1dn_analytic (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR])
 X1DN FIXEDUSINGPANALYTIC. More...
 
int bound_x1up_analytic (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR])
 X1UP FIXEDUSINGPANALYTIC. More...
 
int bound_x2dn_analytic (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR])
 X2DN FIXEDUSINGPANALYTIC. More...
 
int bound_x2up_analytic (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR])
 X2UP FIXEDUSINGPANALYTIC. More...
 
int bound_x3dn_analytic (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR])
 X3DN FIXEDUSINGPANALYTIC. More...
 
int bound_x3up_analytic (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR])
 X3UP FIXEDUSINGPANALYTIC. More...
 
int bound_x1dn_outflow (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 X1 inner OUTFLOW/FIXEDOUTFLOW. More...
 
int bound_x1up_outflow (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 X1 outer OUTFLOW/FIXEDOUTFLOW. More...
 
int bound_x1dn_sym (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 X1 inner R0SING. More...
 
int bound_x2dn_polaraxis_full3d (int whichcall, int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 X2 inner POLARAXIS with full3d, flip sign of both B2 and B3 Flip B2 because ghost cells will then be same sign if pointing in same physical location, and opposite sign if pointing opposite physical location across the pole. More...
 
int bound_x2dn_polaraxis (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 X2 inner POLARAXIS. More...
 
int bound_x2up_polaraxis_full3d (int whichcall, int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 X2 outer POLARAXIS full3d. More...
 
int bound_x2up_polaraxis (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 X2 outer POLARAXIS. More...
 
int bound_x1_periodic (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 X1 periodic. More...
 
int bound_x2_periodic (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 X2 inner periodic. More...
 
int bound_x3_periodic (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 X3 inner periodic. More...
 
int bound_x1dn_r0singfixinterior (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 X1 inner R0SING. More...
 
int bound_checks1 (int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 Check that boundary conditions were set properly. More...
 
int extrapfunc (int boundary, int j, int k, int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 OPTMARK: all get_geometries, etc. More...
 
int poledeath (int whichx2, int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 interpolate across pole to remove numerical errors there Note that this function is done over all zones More...
 
int polesmooth (int whichx2, int boundstage, int finalstep, SFTYPE boundtime, int whichdir, int boundvartype, int *dirprim, int ispstag, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *inboundloop, int *outboundloop, int *innormalloop, int *outnormalloop, int(*inoutlohi)[NUMUPDOWN][NDIM], int riin, int riout, int rjin, int rjout, int rkin, int rkout, int *dosetbc, int enerregion, int *localenerpos)
 Average quasi-Cartesian components around the polar axis Note that if special3dspc==1, then bound_x2dn/x2up_polaraxis_full3d() [that calls poledeath() and/or polesmooth()] is called after MPI call in bound_prim_user_after_mpi_dir() If special3dspc==0, then not accurately handling polar axis so can't expect polesmooth() to be as effective. More...
 
void user1_adjust_fluxctstag_emfs (SFTYPE time, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *Nvec, FTYPE(*fluxvec[NDIM])[NSTORE2][NSTORE3][NPR+NSPECIAL])
 NOTEMARK: Sasha's 289ddfa614ac0d10c30b2badff2964aa65853fd6 corrects some bugs. More...
 
void user1_adjust_fluxctstag_vpot (SFTYPE time, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], int *Nvec, FTYPE(*vpot)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3])
 

Detailed Description

Function declarations (used globally) from bounds.tools.c.

Definition in file global.bounds.h.

Function Documentation

int bound_checks1 ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

Check that boundary conditions were set properly.

Definition at line 2531 of file bounds.tools.c.

int bound_x1_periodic ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

X1 periodic.

Definition at line 1849 of file bounds.tools.c.

Here is the caller graph for this function:

int bound_x1dn_analytic ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR] 
)

X1DN FIXEDUSINGPANALYTIC.

Currently assume completely general situation where only triggers on BCs, but across all CPUs. Use grid sectioning to enforce per-CPU dependence if desired. Any other CPUs that have BCs set will have BCs overwritten by MPI routines SUPERGODMARK: Should be able to use set_boundloop()'s result if included FIXED version, but currently it only handles OUTFLOW types for grid sectioning

Definition at line 24 of file bounds.tools.c.

Here is the caller graph for this function:

int bound_x1dn_outflow ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

X1 inner OUTFLOW/FIXEDOUTFLOW.

Definition at line 578 of file bounds.tools.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int bound_x1dn_r0singfixinterior ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

X1 inner R0SING.

Definition at line 2400 of file bounds.tools.c.

Here is the caller graph for this function:

int bound_x1dn_sym ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

X1 inner R0SING.

Definition at line 927 of file bounds.tools.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int bound_x1up_analytic ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR] 
)

X1UP FIXEDUSINGPANALYTIC.

Currently assume completely general situation where only triggers on BCs, but across all CPUs. Use grid sectioning to enforce per-CPU dependence if desired. Any other CPUs that have BCs set will have BCs overwritten by MPI routines SUPERGODMARK: Should be able to use set_boundloop()'s result if included FIXED version, but currently it only handles OUTFLOW types for grid sectioning

Definition at line 73 of file bounds.tools.c.

Here is the caller graph for this function:

int bound_x1up_outflow ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

X1 outer OUTFLOW/FIXEDOUTFLOW.

Definition at line 758 of file bounds.tools.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int bound_x2_periodic ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

X2 inner periodic.

Definition at line 1941 of file bounds.tools.c.

Here is the caller graph for this function:

int bound_x2dn_analytic ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR] 
)

X2DN FIXEDUSINGPANALYTIC.

Currently assume completely general situation where only triggers on BCs, but across all CPUs. Use grid sectioning to enforce per-CPU dependence if desired. Any other CPUs that have BCs set will have BCs overwritten by MPI routines SUPERGODMARK: Should be able to use set_boundloop()'s result if included FIXED version, but currently it only handles OUTFLOW types for grid sectioning

Definition at line 121 of file bounds.tools.c.

Here is the caller graph for this function:

int bound_x2dn_polaraxis ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

X2 inner POLARAXIS.

Definition at line 1450 of file bounds.tools.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int bound_x2dn_polaraxis_full3d ( int  whichcall,
int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

X2 inner POLARAXIS with full3d, flip sign of both B2 and B3 Flip B2 because ghost cells will then be same sign if pointing in same physical location, and opposite sign if pointing opposite physical location across the pole.

Flip B3 because RBhat3 (as growing enclosed current from pole) gives Bhat3 constant near pole and so Bhat3 B3 and so B3 1/. So can either interpolation (e.g.) B3 and v3 and obtain higher-order accuracy near pole. Or can flip sign of B3 and v3 and keep more stable but still no diffusive term that otherwise B3 and v3 would have due to their sign change across the pole.

Definition at line 1305 of file bounds.tools.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int bound_x2up_analytic ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR] 
)

X2UP FIXEDUSINGPANALYTIC.

Currently assume completely general situation where only triggers on BCs, but across all CPUs. Use grid sectioning to enforce per-CPU dependence if desired. Any other CPUs that have BCs set will have BCs overwritten by MPI routines SUPERGODMARK: Should be able to use set_boundloop()'s result if included FIXED version, but currently it only handles OUTFLOW types for grid sectioning

Definition at line 171 of file bounds.tools.c.

Here is the caller graph for this function:

int bound_x2up_polaraxis ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

X2 outer POLARAXIS.

Definition at line 1718 of file bounds.tools.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int bound_x2up_polaraxis_full3d ( int  whichcall,
int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

X2 outer POLARAXIS full3d.

Definition at line 1581 of file bounds.tools.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int bound_x3_periodic ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

X3 inner periodic.

Definition at line 2305 of file bounds.tools.c.

Here is the caller graph for this function:

int bound_x3dn_analytic ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR] 
)

X3DN FIXEDUSINGPANALYTIC.

Currently assume completely general situation where only triggers on BCs, but across all CPUs. Use grid sectioning to enforce per-CPU dependence if desired. Any other CPUs that have BCs set will have BCs overwritten by MPI routines SUPERGODMARK: Should be able to use set_boundloop()'s result if included FIXED version, but currently it only handles OUTFLOW types for grid sectioning

Definition at line 220 of file bounds.tools.c.

Here is the caller graph for this function:

int bound_x3up_analytic ( int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR] 
)

X3UP FIXEDUSINGPANALYTIC.

Currently assume completely general situation where only triggers on BCs, but across all CPUs. Use grid sectioning to enforce per-CPU dependence if desired. Any other CPUs that have BCs set will have BCs overwritten by MPI routines SUPERGODMARK: Should be able to use set_boundloop()'s result if included FIXED version, but currently it only handles OUTFLOW types for grid sectioning

Definition at line 270 of file bounds.tools.c.

Here is the caller graph for this function:

int extrapfunc ( int  boundary,
int  j,
int  k,
int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

OPTMARK: all get_geometries, etc.

could be simplified if take advantage of fact that only really 2 cases: all CENT or CENT for all except B's. otherwise extrapfunc() and poledeath()'s get_geometry() dominates CPU time when few active cells or many boundary cells boundary = X1DN or X1UP assume if ispstag==1 then only doing field part – otherwise logic would get more complicated

did assume densities roughly constant (good for disk, not as good for polar region of mostly radial Bondi-like flow)

Definition at line 2605 of file bounds.tools.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int poledeath ( int  whichx2,
int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

interpolate across pole to remove numerical errors there Note that this function is done over all zones

Definition at line 3330 of file bounds.tools.c.

Here is the call graph for this function:

Here is the caller graph for this function:

int polesmooth ( int  whichx2,
int  boundstage,
int  finalstep,
SFTYPE  boundtime,
int  whichdir,
int  boundvartype,
int *  dirprim,
int  ispstag,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  inboundloop,
int *  outboundloop,
int *  innormalloop,
int *  outnormalloop,
int(*)  inoutlohi[NUMUPDOWN][NDIM],
int  riin,
int  riout,
int  rjin,
int  rjout,
int  rkin,
int  rkout,
int *  dosetbc,
int  enerregion,
int *  localenerpos 
)

Average quasi-Cartesian components around the polar axis Note that if special3dspc==1, then bound_x2dn/x2up_polaraxis_full3d() [that calls poledeath() and/or polesmooth()] is called after MPI call in bound_prim_user_after_mpi_dir() If special3dspc==0, then not accurately handling polar axis so can't expect polesmooth() to be as effective.

Definition at line 4677 of file bounds.tools.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void user1_adjust_fluxctstag_emfs ( SFTYPE  time,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  Nvec,
FTYPE(*[])  NDIM[NSTORE2][NSTORE3][NPR+NSPECIAL] 
)

NOTEMARK: Sasha's 289ddfa614ac0d10c30b2badff2964aa65853fd6 corrects some bugs.

STAG version (different because emf vs. flux, where emf has extra zone – otherwise same! reset emf's (E_3) at the boundaries in x1-x2 plane to zero

Definition at line 5285 of file bounds.tools.c.

void user1_adjust_fluxctstag_vpot ( SFTYPE  time,
FTYPE(*)  prim[NSTORE2][NSTORE3][NPR],
int *  Nvec,
FTYPE(*)  vpot[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3] 
)