Function declarations for fluxvpot.c. More...
Go to the source code of this file.
Functions | |
int | vpot2field_useflux (int *fieldloc, FTYPE(*pfield)[NSTORE2][NSTORE3][NPR], FTYPE(*ufield)[NSTORE2][NSTORE3][NPR], FTYPE(*F1)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*F2)[NSTORE2][NSTORE3][NPR+NSPECIAL], FTYPE(*F3)[NSTORE2][NSTORE3][NPR+NSPECIAL]) |
Used with FLUXB==FLUXCTHLL actually uses F1/F2/F3 instead of inputted A[] When using FLUXCTHLL, doesn't preserve divb, but gives correct CENT position of field given face vector potential If flux is really vector potential at corners and vector potential is direction-dependent quasi-deaveraged version. More... | |
int | vpot2field_centeredfield (FTYPE(*A)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*pfield)[NSTORE2][NSTORE3][NPR], FTYPE(*ufield)[NSTORE2][NSTORE3][NPR]) |
compute field at CENT from vector potential A at CORN1,2,3 assumes normal field p More... | |
int | vpot2field_staggeredfield (FTYPE(*A)[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], FTYPE(*pfield)[NSTORE2][NSTORE3][NPR], FTYPE(*ufield)[NSTORE2][NSTORE3][NPR]) |
This vpot2field function is for staggered method to evolve quasi-deaveraged fields (i.e. More... | |
int | interpolate_ustag2fieldcent (int stage, SFTYPE boundtime, int timeorder, int numtimeorders, FTYPE(*preal)[NSTORE2][NSTORE3][NPR], FTYPE(*pstag)[NSTORE2][NSTORE3][NPR], FTYPE(*ucent)[NSTORE2][NSTORE3][NPR], FTYPE(*pcent)[NSTORE2][NSTORE3][NPR]) |
wrapper for taking staggered conserved field quantity and obtaining centered field quantity upoint enters as stag and leaves as CENT once this function is done we have: 1) pstag will have correct staggered point value 2) upoint (if needed) will be replaced with center conserved value 3) pfield will contain centered field primitive value Note that no averaging or deaveraging occurs in this function – everything is points More... | |
int | ucons2upointppoint (SFTYPE boundtime, FTYPE(*pfield)[NSTORE2][NSTORE3][NPR], FTYPE(*pstag)[NSTORE2][NSTORE3][NPR], FTYPE(*unew)[NSTORE2][NSTORE3][NPR], FTYPE(*ulast)[NSTORE2][NSTORE3][NPR], FTYPE(*pcent)[NSTORE2][NSTORE3][NPR]) |
convert conservative U to stag point P and CENT point U and CENT point primitive More... | |
int | deaverage_ustag2pstag (FTYPE(*preal)[NSTORE2][NSTORE3][NPR], FTYPE(*ustag)[NSTORE2][NSTORE3][NPR], FTYPE(*pstag)[NSTORE2][NSTORE3][NPR]) |
Function declarations for fluxvpot.c.
Definition in file fluxvpot.funcdeclare.h.
int deaverage_ustag2pstag | ( | FTYPE(*) | preal[NSTORE2][NSTORE3][NPR], |
FTYPE(*) | ustag[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | pstag[NSTORE2][NSTORE3][NPR] | ||
) |
int interpolate_ustag2fieldcent | ( | int | stage, |
SFTYPE | boundtime, | ||
int | timeorder, | ||
int | numtimeorders, | ||
FTYPE(*) | preal[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | pstag[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | ucent[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | pcent[NSTORE2][NSTORE3][NPR] | ||
) |
wrapper for taking staggered conserved field quantity and obtaining centered field quantity upoint enters as stag and leaves as CENT once this function is done we have: 1) pstag will have correct staggered point value 2) upoint (if needed) will be replaced with center conserved value 3) pfield will contain centered field primitive value Note that no averaging or deaveraging occurs in this function – everything is points
Definition at line 812 of file fluxctstag.c.
int ucons2upointppoint | ( | SFTYPE | boundtime, |
FTYPE(*) | pfield[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | pstag[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | unew[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | ulast[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | pcent[NSTORE2][NSTORE3][NPR] | ||
) |
convert conservative U to stag point P and CENT point U and CENT point primitive
Definition at line 309 of file fluxvpot.c.
int vpot2field_staggeredfield | ( | FTYPE(*) | A[NSTORE1+SHIFTSTORE1][NSTORE2+SHIFTSTORE2][NSTORE3+SHIFTSTORE3], |
FTYPE(*) | pfield[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | ufield[NSTORE2][NSTORE3][NPR] | ||
) |
This vpot2field function is for staggered method to evolve quasi-deaveraged fields (i.e.
not point fields) when doing higher order compute field at FACE1,2,3 from vector potential A at CORN1,2,3 assumes normal field p assume if 1D then along the 1D direction the field doesn't change and input pfield and ufield are already correct and set
end 3D LOOP
Definition at line 72 of file fluxctstag.c.
int vpot2field_useflux | ( | int * | fieldloc, |
FTYPE(*) | pfield[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | ufield[NSTORE2][NSTORE3][NPR], | ||
FTYPE(*) | F1[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | F2[NSTORE2][NSTORE3][NPR+NSPECIAL], | ||
FTYPE(*) | F3[NSTORE2][NSTORE3][NPR+NSPECIAL] | ||
) |
Used with FLUXB==FLUXCTHLL actually uses F1/F2/F3 instead of inputted A[] When using FLUXCTHLL, doesn't preserve divb, but gives correct CENT position of field given face vector potential If flux is really vector potential at corners and vector potential is direction-dependent quasi-deaveraged version.
Definition at line 937 of file fluxvpot.c.