function declarations for initbase.c functions used globally More...
Go to the source code of this file.
Functions | |
int | post_init_specific_init (void) |
int | pre_init_specific_init (void) |
int | prepre_init_specific_init (void) |
int | init_consts (void) |
int | init_grid (void) |
int | init_global (void) |
int | init_defcoord (void) |
int | init_primitives (FTYPE(*prim)[NSTORE2][NSTORE3][NPR], FTYPE(*pstag)[NSTORE2][NSTORE3][NPR], FTYPE(*ucons)[NSTORE2][NSTORE3][NPR], FTYPE(*vpot)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*Bhat)[NSTORE2][NSTORE3][NPR], FTYPE(*panalytic)[NSTORE2][NSTORE3][NPR], FTYPE(*pstaganalytic)[NSTORE2][NSTORE3][NPR], FTYPE(*vpotanalytic)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*Bhatanalytic)[NSTORE2][NSTORE3][NPR], FTYPE(*F1)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*F2)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*F3)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*Atemp)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3]) |
int | init_vpot (FTYPE(*prim)[NSTORE2][NSTORE3][NPR], FTYPE(*pstag)[NSTORE2][NSTORE3][NPR], FTYPE(*ucons)[NSTORE2][NSTORE3][NPR], FTYPE(*vpot)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*Bhat)[NSTORE2][NSTORE3][NPR], FTYPE(*F1)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*F2)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*F3)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*Atemp)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3]) |
initialize vector potential given user function assumes normal non-staggered field in pr Notice that if using F (flux), then location can be different for (e.g.) F1[B2] and F2[B1] while if using A_3 then no choice in varying positions More... | |
int | get_vpot_fluxctstag_primecoords (SFTYPE time, int i, int j, int k, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], FTYPE *vpot) |
get A_i in PRIMECOORDS for FLUXB==FLUXCTSTAG at CORNi for each A_i, the natural staggered field locations for A_i (i.e. not all same location for all A_i) More... | |
int | init_vpot_justAcov (SFTYPE time, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], FTYPE(*A)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3]) |
initialize vector potential given user function assumes normal non-staggered field in pr More... | |
int | init_vpot_toF (FTYPE(*A)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*F1)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*F2)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*F3)[NSTORE2][NSTORE3][NPR+NSPECIAL]) |
initialize vector potential given user function assumes normal non-staggered field in pr Notice that if using F (flux), then location can be different for (e.g.) F1[B2] and F2[B1] while if using A_3 then no choice in varying positions More... | |
int | vpot2field (SFTYPE time, FTYPE(*A)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*pfield)[NSTORE2][NSTORE3][NPR], FTYPE(*pstag)[NSTORE2][NSTORE3][NPR], FTYPE(*ucons)[NSTORE2][NSTORE3][NPR], FTYPE(*Bhat)[NSTORE2][NSTORE3][NPR], FTYPE(*F1)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*F2)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*F3)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*Atemp)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*uconstemp)[NSTORE2][NSTORE3][NPR]) |
assumes normal field p pleft used as temp var if FLUXB==FLUXCTSTAG assigns conserved field in UEVOLVE form (i.e. More... | |
int | update_vpot (int whichmethod, int stage, FTYPE(*pr)[NSTORE2][NSTORE3][NPR], FTYPE(*ptrfluxvec[NDIM])[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*emf)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE *CUf, FTYPE *CUnew, SFTYPE fluxdt, FTYPE(*vpot)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*vpot0)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*vpotlast)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*vpotcum)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3]) |
update A_i More... | |
int | set_emfflux (int whichmethod, int stage, FTYPE(*pr)[NSTORE2][NSTORE3][NPR], FTYPE(*fluxvec[NDIM])[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*emf)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE *CUf, FTYPE *CUnew, SFTYPE fluxdt, FTYPE(*vpot)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*vpot0)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*vpotlast)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3]) |
fix EMF_i (in Flux space so ready to be used) from A_i and Aold_i pretty similar to update_vpot(), but inverted assignment. More... | |
int | normalize_field_withnorm (FTYPE norm, FTYPE(*prim)[NSTORE2][NSTORE3][NPR], FTYPE(*pstag)[NSTORE2][NSTORE3][NPR], FTYPE(*ucons)[NSTORE2][NSTORE3][NPR], FTYPE(*vpot)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*Bhat)[NSTORE2][NSTORE3][NPR]) |
renormalize field using user norm GODMARK: in reality should renormalize A_i and then recompute and can renormalize each A_i independently this type of function assumes renormalizing field energy density in lab-frame More... | |
int | assign_fieldconservatives_pointvalues (FTYPE(*prim)[NSTORE2][NSTORE3][NPR], FTYPE(*pstag)[NSTORE2][NSTORE3][NPR], FTYPE(*ucons)[NSTORE2][NSTORE3][NPR]) |
used when not using vector potential and just assigning conserved quantities as point values from primitives for field uses global p and pstagscratch More... | |
void | setfdivb (FTYPE *divb, FTYPE(*p)[NSTORE2][NSTORE3][NPR], FTYPE(*pstag)[NSTORE2][NSTORE3][NPR], FTYPE(*U)[NSTORE2][NSTORE3][NPR], FTYPE(*Bhat)[NSTORE2][NSTORE3][NPR], int i, int j, int k) |
find divb if higher order method, then must use conserved value U[] assumed to then exist and be used for field More... | |
int | init_vpot_user (int *whichcoord, int l, SFTYPE time, int i, int j, int k, int loc, FTYPE(*p)[NSTORE2][NSTORE3][NPR], FTYPE *V, FTYPE *A) |
int | init_vpot2field_user (SFTYPE time, FTYPE(*A)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*prim)[NSTORE2][NSTORE3][NPR], FTYPE(*pstag)[NSTORE2][NSTORE3][NPR], FTYPE(*ucons)[NSTORE2][NSTORE3][NPR], FTYPE(*Bhat)[NSTORE2][NSTORE3][NPR]) |
int | transform_primitive_vB (int whichvel, int whichcoord, int i, int j, int k, FTYPE(*p)[NSTORE2][NSTORE3][NPR], FTYPE(*pstag)[NSTORE2][NSTORE3][NPR]) |
used to transform from one coordinate system to PRIMECOORDS when acting on pstag, only relevant for magnetic field part, and in that case if didn't use vector potential to define pstag then assume not too important to get high accuracy, so average field to other positions in simple way More... | |
int | assignrough_primitive_pstag (int i, int j, int k, FTYPE(*p)[NSTORE2][NSTORE3][NPR], FTYPE(*pstag)[NSTORE2][NSTORE3][NPR], FTYPE(*ucons)[NSTORE2][NSTORE3][NPR]) |
this assigns rough pstag value from p in case not using vector potential More... | |
int | init_zero_field (FTYPE(*prim)[NSTORE2][NSTORE3][NPR], FTYPE(*pstag)[NSTORE2][NSTORE3][NPR], FTYPE(*ucons)[NSTORE2][NSTORE3][NPR], FTYPE(*vpot)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*Bhat)[NSTORE2][NSTORE3][NPR]) |
zero-out field for primitives (and pstag too) More... | |
int | init_postvpot (int i, int j, int k, FTYPE *pr, FTYPE *pstag, FTYPE *ucons) |
int | addremovefromnpr (int doadd, int *whichpltoavg, int *ifnotavgthencopy, int *nprlocalstart, int *nprlocalend, int *nprlocallist, FTYPE(*in)[NSTORE2][NSTORE3][NPR], FTYPE(*out)[NSTORE2][NSTORE3][NPR]) |
acts on globals, assumes static internals that get recalled upon reentering More... | |
function declarations for initbase.c functions used globally
Definition in file initbase.funcdeclare.h.
int addremovefromnpr | ( | int | doadd, |
int * | whichpltoavg, | ||
int * | ifnotavgthencopy, | ||
int * | nprlocalstart, | ||
int * | nprlocalend, | ||
int * | nprlocallist, | ||
FTYPE(*) | in[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | out[NSTORE2][NSTORE3][NPR] | ||
) |
acts on globals, assumes static internals that get recalled upon reentering
Definition at line 2910 of file initbase.c.
int assign_fieldconservatives_pointvalues | ( | FTYPE(*) | prim[NSTORE2][NSTORE3][NPR], |
FTYPE(*) | pstag[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | ucons[NSTORE2][NSTORE3][NPR] | ||
) |
used when not using vector potential and just assigning conserved quantities as point values from primitives for field uses global p and pstagscratch
Definition at line 1670 of file fluxvpot.c.
int assignrough_primitive_pstag | ( | int | i, |
int | j, | ||
int | k, | ||
FTYPE(*) | p[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | pstag[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | ucons[NSTORE2][NSTORE3][NPR] | ||
) |
this assigns rough pstag value from p in case not using vector potential
Definition at line 1717 of file fluxvpot.c.
int get_vpot_fluxctstag_primecoords | ( | SFTYPE | time, |
int | i, | ||
int | j, | ||
int | k, | ||
FTYPE(*) | prim[NSTORE2][NSTORE3][NPR], | ||
FTYPE * | vpot | ||
) |
get A_i in PRIMECOORDS for FLUXB==FLUXCTSTAG at CORNi for each A_i, the natural staggered field locations for A_i (i.e. not all same location for all A_i)
Definition at line 428 of file fluxvpot.c.
int init_consts | ( | void | ) |
int init_defcoord | ( | void | ) |
int init_global | ( | void | ) |
int init_grid | ( | void | ) |
int init_primitives | ( | FTYPE(*) | prim[NSTORE2][NSTORE3][NPR], |
FTYPE(*) | pstag[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | ucons[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | vpot[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], | ||
FTYPE(*) | Bhat[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | panalytic[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | pstaganalytic[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | vpotanalytic[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], | ||
FTYPE(*) | Bhatanalytic[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | F1[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | F2[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | F3[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | Atemp[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3] | ||
) |
int init_vpot | ( | FTYPE(*) | prim[NSTORE2][NSTORE3][NPR], |
FTYPE(*) | pstag[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | ucons[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | vpot[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], | ||
FTYPE(*) | Bhat[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | F1[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | F2[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | F3[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | Atemp[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3] | ||
) |
initialize vector potential given user function assumes normal non-staggered field in pr Notice that if using F (flux), then location can be different for (e.g.) F1[B2] and F2[B1] while if using A_3 then no choice in varying positions
Definition at line 387 of file fluxvpot.c.
int init_vpot_justAcov | ( | SFTYPE | time, |
FTYPE(*) | prim[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | A[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3] | ||
) |
initialize vector potential given user function assumes normal non-staggered field in pr
Definition at line 473 of file fluxvpot.c.
int init_vpot_toF | ( | FTYPE(*) | A[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], |
FTYPE(*) | F1[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | F2[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | F3[NSTORE2][NSTORE3][NPR+NSPECIAL] | ||
) |
initialize vector potential given user function assumes normal non-staggered field in pr Notice that if using F (flux), then location can be different for (e.g.) F1[B2] and F2[B1] while if using A_3 then no choice in varying positions
Definition at line 603 of file fluxvpot.c.
int init_zero_field | ( | FTYPE(*) | prim[NSTORE2][NSTORE3][NPR], |
FTYPE(*) | pstag[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | ucons[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | vpot[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], | ||
FTYPE(*) | Bhat[NSTORE2][NSTORE3][NPR] | ||
) |
zero-out field for primitives (and pstag too)
Definition at line 1770 of file fluxvpot.c.
int normalize_field_withnorm | ( | FTYPE | norm, |
FTYPE(*) | prim[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | pstag[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | ucons[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | vpot[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], | ||
FTYPE(*) | Bhat[NSTORE2][NSTORE3][NPR] | ||
) |
renormalize field using user norm GODMARK: in reality should renormalize A_i and then recompute and can renormalize each A_i independently this type of function assumes renormalizing field energy density in lab-frame
Definition at line 1598 of file fluxvpot.c.
int post_init_specific_init | ( | void | ) |
int pre_init_specific_init | ( | void | ) |
int prepre_init_specific_init | ( | void | ) |
int set_emfflux | ( | int | whichmethod, |
int | stage, | ||
FTYPE(*) | pr[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*[]) | NDIM[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | emf[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], | ||
FTYPE * | CUf, | ||
FTYPE * | CUnew, | ||
SFTYPE | fluxdt, | ||
FTYPE(*) | vpot[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], | ||
FTYPE(*) | vpot0[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], | ||
FTYPE(*) | vpotlast[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3] | ||
) |
fix EMF_i (in Flux space so ready to be used) from A_i and Aold_i pretty similar to update_vpot(), but inverted assignment.
So removed detailed comments/debug from this function.
Definition at line 1481 of file fluxvpot.c.
void setfdivb | ( | FTYPE * | divb, |
FTYPE(*) | p[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | pstag[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | U[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | Bhat[NSTORE2][NSTORE3][NPR], | ||
int | i, | ||
int | j, | ||
int | k | ||
) |
find divb if higher order method, then must use conserved value U[] assumed to then exist and be used for field
Definition at line 875 of file fluxvpot.c.
int transform_primitive_vB | ( | int | whichvel, |
int | whichcoord, | ||
int | i, | ||
int | j, | ||
int | k, | ||
FTYPE(*) | p[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | pstag[NSTORE2][NSTORE3][NPR] | ||
) |
used to transform from one coordinate system to PRIMECOORDS when acting on pstag, only relevant for magnetic field part, and in that case if didn't use vector potential to define pstag then assume not too important to get high accuracy, so average field to other positions in simple way
Definition at line 2987 of file initbase.c.
int update_vpot | ( | int | whichmethod, |
int | stage, | ||
FTYPE(*) | pr[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*[]) | NDIM[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | emf[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], | ||
FTYPE * | CUf, | ||
FTYPE * | CUnew, | ||
SFTYPE | fluxdt, | ||
FTYPE(*) | vpot[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], | ||
FTYPE(*) | vpot0[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], | ||
FTYPE(*) | vpotlast[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], | ||
FTYPE(*) | vpotcum[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3] | ||
) |
update A_i
#if((SIMULBCCALC==2)&&(TYPE2==1)) COMPFZLOOP(is,js,ks) else
Definition at line 1317 of file fluxvpot.c.
int vpot2field | ( | SFTYPE | time, |
FTYPE(*) | A[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], | ||
FTYPE(*) | pfield[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | pstag[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | ucons[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | Bhat[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | F1[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | F2[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | F3[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | Atemp[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], | ||
FTYPE(*) | uconstemp[NSTORE2][NSTORE3][NPR] | ||
) |
assumes normal field p pleft used as temp var if FLUXB==FLUXCTSTAG assigns conserved field in UEVOLVE form (i.e.
with gdet always) implicitly Flux F1,F2,F3 are inputted into function
Definition at line 158 of file fluxvpot.c.