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

Function declarations for fluxvpot.c. More...

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

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])
 

Detailed Description

Function declarations for fluxvpot.c.

Definition in file fluxvpot.funcdeclare.h.

Function Documentation

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.

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 38 of file fluxct.c.

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the caller graph for this function: