Magnetic field and divB=0 related macros. More...
Go to the source code of this file.
Macros | |
#define | MYGDET(i, j, k, p) (GLOBALMETMACP1A0(gdet,p,0,0,0)) |
#define | FgCORN(F, i, j, k) (MAC(F,i,j,k)) |
below 4 macros used for vpot2field() in initbase.c More... | |
#define | AVGCORN_1(F, i, j, k) (0.5*(FgCORN(F,ip1mac(i),j,k) + FgCORN(F,i,j,k) )) |
AVG_x functions that average in x direction typically operates on CORN1,2,3 quantities to get face quantities. More... | |
#define | AVGCORN_2(F, i, j, k) (0.5*(FgCORN(F,i,jp1mac(j),k) + FgCORN(F,i,j,k) )) |
#define | AVGCORN_3(F, i, j, k) (0.5*(FgCORN(F,i,j,kp1mac(k)) + FgCORN(F,i,j,k) )) |
#define | NOAVGCORN_1(F, i, j, k) (FgCORN(F,i,j,k)) |
do-nothing functions More... | |
#define | NOAVGCORN_2(F, i, j, k) (FgCORN(F,i,j,k)) |
#define | NOAVGCORN_3(F, i, j, k) (FgCORN(F,i,j,k)) |
#define | FgN(F, i, j, k, pl) (MACP0A1(F,i,j,k,pl)) |
below macros are similar to those farther below for divb, but no gdet stuff More... | |
#define | AVGN_1(F, i, j, k, pl) (0.5*(FgN(F,i,j,k,pl) + FgN(F,im1mac(i),j,k,pl) )) |
AVGN_x functions that average in x direction typically operates on centered quantities to get face quantities OR on face quantities to get edge quantities. More... | |
#define | AVGN_2(F, i, j, k, pl) (0.5*(FgN(F,i,j,k,pl) + FgN(F,i,jm1mac(j),k,pl) )) |
#define | AVGN_3(F, i, j, k, pl) (0.5*(FgN(F,i,j,k,pl) + FgN(F,i,j,km1mac(k),pl) )) |
#define | NOAVGN_1(F, i, j, k, pl) (FgN(F,i,j,k,pl)) |
#define | NOAVGN_2(F, i, j, k, pl) (FgN(F,i,j,k,pl)) |
#define | NOAVGN_3(F, i, j, k, pl) (FgN(F,i,j,k,pl)) |
#define | AVGN_for1(F, i, j, k, pl) (0.5*(AVGN_2(F,i,j,k,pl)+AVGN_2(F,i,j,km1mac(k),pl))) |
just average of 4 quantities that eventually lives on (0.5,0,0) (i.e. CORN1) More... | |
#define | AVGN_for2(F, i, j, k, pl) (0.5*(AVGN_1(F,i,j,k,pl)+AVGN_1(F,i,j,km1mac(k),pl))) |
lives on (0,0.5,0) (i.e. CORN2) More... | |
#define | AVGN_for3(F, i, j, k, pl) (0.5*(AVGN_2(F,i,j,k,pl)+AVGN_2(F,im1mac(i),j,k,pl))) |
lives on (0,0,0.5) (i.e. CORN3) More... | |
#define | NOAVGN_for1(F, i, j, k, pl) (NOAVGN_1(F,i,j,k,pl)) |
#define | NOAVGN_for2(F, i, j, k, pl) (NOAVGN_2(F,i,j,k,pl)) |
#define | NOAVGN_for3(F, i, j, k, pl) (NOAVGN_3(F,i,j,k,pl)) |
#define | absFgN(F, i, j, k, pl) (fabs(MACP0A1(F,i,j,k,pl))) |
below macros are similar to those farther below for divb, but no gdet stuff More... | |
#define | absAVGN_1(F, i, j, k, pl) (0.5*(absFgN(F,i,j,k,pl) + absFgN(F,im1mac(i),j,k,pl) )) |
AVGN_x functions that average in x direction typically operates on centered quantities to get face quantities OR on face quantities to get edge quantities. More... | |
#define | absAVGN_2(F, i, j, k, pl) (0.5*(absFgN(F,i,j,k,pl) + absFgN(F,i,jm1mac(j),k,pl) )) |
#define | absAVGN_3(F, i, j, k, pl) (0.5*(absFgN(F,i,j,k,pl) + absFgN(F,i,j,km1mac(k),pl) )) |
#define | absNOAVGN_1(F, i, j, k, pl) (absFgN(F,i,j,k,pl)) |
#define | absNOAVGN_2(F, i, j, k, pl) (absFgN(F,i,j,k,pl)) |
#define | absNOAVGN_3(F, i, j, k, pl) (absFgN(F,i,j,k,pl)) |
#define | absAVGN_for1(F, i, j, k, pl) (0.5*(absAVGN_2(F,i,j,k,pl)+absAVGN_2(F,i,j,km1mac(k),pl))) |
just average of 4 quantities that eventually lives on (0.5,0,0) (i.e. CORN1) More... | |
#define | absAVGN_for2(F, i, j, k, pl) (0.5*(absAVGN_1(F,i,j,k,pl)+absAVGN_1(F,i,j,km1mac(k),pl))) |
lives on (0,0.5,0) (i.e. CORN2) More... | |
#define | absAVGN_for3(F, i, j, k, pl) (0.5*(absAVGN_2(F,i,j,k,pl)+absAVGN_2(F,im1mac(i),j,k,pl))) |
lives on (0,0,0.5) (i.e. CORN3) More... | |
#define | absNOAVGN_for1(F, i, j, k, pl) (absNOAVGN_1(F,i,j,k,pl)) |
#define | absNOAVGN_for2(F, i, j, k, pl) (absNOAVGN_2(F,i,j,k,pl)) |
#define | absNOAVGN_for3(F, i, j, k, pl) (absNOAVGN_3(F,i,j,k,pl)) |
#define | Fg(F, i, j, k, pl) (MACP0A1(F,i,j,k,pl)*MYGDET(i,j,k,CENT)) |
below macros used for divb definition (with gdet) More... | |
#define | Fgface(F, i, j, k, pl) (MACP0A1(F,i,j,k,pl)*MYGDET(i,j,k,FACE1+pl-B1)) |
#define | AVG_1(F, i, j, k, pl) (0.5*(Fg(F,i,j,k,pl) + Fg(F,im1mac(i),j,k,pl) )) |
AVG_x functions that average in x direction (includes geometry) typically operates on centered quantities to get face quantities OR on face quantities to get edge quantities. More... | |
#define | AVG_2(F, i, j, k, pl) (0.5*(Fg(F,i,j,k,pl) + Fg(F,i,jm1mac(j),k,pl) )) |
#define | AVG_3(F, i, j, k, pl) (0.5*(Fg(F,i,j,k,pl) + Fg(F,i,j,km1mac(k),pl) )) |
#define | NOAVG_1(F, i, j, k, pl) (Fg(F,i,j,k,pl)) |
#define | NOAVG_2(F, i, j, k, pl) (Fg(F,i,j,k,pl)) |
#define | NOAVG_3(F, i, j, k, pl) (Fg(F,i,j,k,pl)) |
#define | NOAVGFACE_1(F, i, j, k, pl) (Fgface(F,i,j,k,pl)) |
#define | NOAVGFACE_2(F, i, j, k, pl) (Fgface(F,i,j,k,pl)) |
#define | NOAVGFACE_3(F, i, j, k, pl) (Fgface(F,i,j,k,pl)) |
#define | AVG_for1(F, i, j, k, pl) (0.5*(AVG_2(F,i,j,k,pl)+AVG_2(F,i,j,km1mac(k),pl))) |
just average of 4 quantities that eventually lives on (0.5,0,0) (i.e. CORN1) More... | |
#define | AVG_for2(F, i, j, k, pl) (0.5*(AVG_1(F,i,j,k,pl)+AVG_1(F,i,j,km1mac(k),pl))) |
lives on (0,0.5,0) (i.e. CORN2) More... | |
#define | AVG_for3(F, i, j, k, pl) (0.5*(AVG_2(F,i,j,k,pl)+AVG_2(F,im1mac(i),j,k,pl))) |
lives on (0,0,0.5) (i.e. CORN3) More... | |
#define | NOAVG_for1(F, i, j, k, pl) (NOAVG_1(F,i,j,k,pl)) |
#define | NOAVG_for2(F, i, j, k, pl) (NOAVG_2(F,i,j,k,pl)) |
#define | NOAVG_for3(F, i, j, k, pl) (NOAVG_3(F,i,j,k,pl)) |
#define | NOAVGFACE_for1(F, i, j, k, pl) (NOAVGFACE_1(F,i,j,k,pl)) |
#define | NOAVGFACE_for2(F, i, j, k, pl) (NOAVGFACE_2(F,i,j,k,pl)) |
#define | NOAVGFACE_for3(F, i, j, k, pl) (NOAVGFACE_3(F,i,j,k,pl)) |
#define | absFg(F, i, j, k, pl) (fabs(MACP0A1(F,i,j,k,pl)*MYGDET(i,j,k,CENT))) |
below macros used for divb definition (with gdet) More... | |
#define | absFgface(F, i, j, k, pl) (fabs(MACP0A1(F,i,j,k,pl)*MYGDET(i,j,k,FACE1+pl-B1))) |
#define | absAVG_1(F, i, j, k, pl) (0.5*(absFg(F,i,j,k,pl) + absFg(F,im1mac(i),j,k,pl) )) |
absAVG_x functions that average in x direction typically operates on centered quantities to get face quantities OR on face quantities to get edge quantities More... | |
#define | absAVG_2(F, i, j, k, pl) (0.5*(absFg(F,i,j,k,pl) + absFg(F,i,jm1mac(j),k,pl) )) |
#define | absAVG_3(F, i, j, k, pl) (0.5*(absFg(F,i,j,k,pl) + absFg(F,i,j,km1mac(k),pl) )) |
#define | absAVGFACE_1(F, i, j, k, pl) (0.5*(absFgface(F,i,j,k,pl) + absFgface(F,im1mac(i),j,k,pl) )) |
#define | absAVGFACE_2(F, i, j, k, pl) (0.5*(absFgface(F,i,j,k,pl) + absFgface(F,i,jm1mac(j),k,pl) )) |
#define | absAVGFACE_3(F, i, j, k, pl) (0.5*(absFgface(F,i,j,k,pl) + absFgface(F,i,j,km1mac(k),pl) )) |
#define | absNOAVG_1(F, i, j, k, pl) (absFg(F,i,j,k,pl)) |
absAVG_x functions that average in x direction typically operates on centered quantities to get face quantities OR on face quantities to get edge quantities More... | |
#define | absNOAVG_2(F, i, j, k, pl) (absFg(F,i,j,k,pl)) |
#define | absNOAVG_3(F, i, j, k, pl) (absFg(F,i,j,k,pl)) |
#define | absNOAVGFACE_1(F, i, j, k, pl) (absFgface(F,i,j,k,pl)) |
#define | absNOAVGFACE_2(F, i, j, k, pl) (absFgface(F,i,j,k,pl)) |
#define | absNOAVGFACE_3(F, i, j, k, pl) (absFgface(F,i,j,k,pl)) |
#define | absAVG_for1(F, i, j, k, pl) (0.5*(absAVG_2(F,i,j,k,pl)+absAVG_2(F,i,j,km1mac(k),pl))) |
just average of 4 quantities that eventually lives on (0.5,0,0) (i.e. CORN1) More... | |
#define | absAVG_for2(F, i, j, k, pl) (0.5*(absAVG_1(F,i,j,k,pl)+absAVG_1(F,i,j,km1mac(k),pl))) |
lives on (0,0.5,0) (i.e. CORN2) More... | |
#define | absAVG_for3(F, i, j, k, pl) (0.5*(absAVG_2(F,i,j,k,pl)+absAVG_2(F,im1mac(i),j,k,pl))) |
lives on (0,0,0.5) (i.e. CORN3) More... | |
#define | absNOAVG_for1(F, i, j, k, pl) (absAVG_1(F,i,j,k,pl)) |
#define | absNOAVG_for2(F, i, j, k, pl) (absAVG_2(F,i,j,k,pl)) |
#define | absNOAVG_for3(F, i, j, k, pl) (absAVG_3(F,i,j,k,pl)) |
#define | absNOAVGFACE_for1(F, i, j, k, pl) (absAVGFACE_1(F,i,j,k,pl)) |
#define | absNOAVGFACE_for2(F, i, j, k, pl) (absAVGFACE_2(F,i,j,k,pl)) |
#define | absNOAVGFACE_for3(F, i, j, k, pl) (absAVGFACE_3(F,i,j,k,pl)) |
#define | DIVBCDIR1 ((i >= -N1BND+1 && i <= N1 - 1 + N1BND - 1) || (!N1NOT1)) |
only consider within bounds or ignore condition if no such dimension More... | |
#define | DIVBCDIR2 ((j >= -N2BND+1 && j <= N2 - 1 + N2BND - 1) || (!N2NOT1)) |
#define | DIVBCDIR3 ((k >= -N3BND+1 && k <= N3 - 1 + N3BND - 1) || (!N3NOT1)) |
#define | DIVBCONDITION(p, i, j, k) if(DIVBCDIR1&&DIVBCDIR2&&DIVBCDIR3) |
#define | DIVBDIFFFLUXCTTOTHPRIMx(p, i, j, k) (AVG_for1(p,i,j,k,B1)-AVG_for1(p,im1mac(i),j,k,B1)) |
PRMITIVE quantity the below lines results in quantity at TRUE CORNER. More... | |
#define | DIVBDIFFFLUXCTTOTHPRIMy(p, i, j, k) (AVG_for2(p,i,j,k,B2)-AVG_for2(p,i,jm1mac(j),k,B2)) |
#define | DIVBDIFFFLUXCTTOTHPRIMz(p, i, j, k) (AVG_for3(p,i,j,k,B3)-AVG_for3(p,i,j,km1mac(k),B3)) |
#define | DIVBNORMFLUXCTTOTHPRIMx(p, i, j, k) (absAVG_for1(p,i,j,k,B1)+absAVG_for1(p,im1mac(i),j,k,B1)) |
#define | DIVBNORMFLUXCTTOTHPRIMy(p, i, j, k) (absAVG_for2(p,i,j,k,B2)+absAVG_for2(p,i,jm1mac(j),k,B2)) |
#define | DIVBNORMFLUXCTTOTHPRIMz(p, i, j, k) (absAVG_for3(p,i,j,k,B3)+absAVG_for3(p,i,j,km1mac(k),B3)) |
#define | DIVBNORMFLUXCTTOTHPRIM(p, i, j, k) (1.0/(fabs(DIVBNORMFLUXCTTOTHPRIMx(p,i,j,k)/dx[1]+DIVBNORMFLUXCTTOTHPRIMy(p,i,j,k)/dx[2]+DIVBNORMFLUXCTTOTHPRIMz(p,i,j,k)/dx[3]) +SMALL)) |
#define | DIVBFLUXCTTOTHPRIM(p, i, j, k) |
#define | DIVBDIFFFLUXCTTOTHx(U, i, j, k) (AVGN_for1(U,i,j,k,B1)-AVGN_for1(U,im1mac(i),j,k,B1)) |
CONSERVED quantity the below lines results in quantity at TRUE CORNER. More... | |
#define | DIVBDIFFFLUXCTTOTHy(U, i, j, k) (AVGN_for2(U,i,j,k,B2)-AVGN_for2(U,i,jm1mac(j),k,B2)) |
#define | DIVBDIFFFLUXCTTOTHz(U, i, j, k) (AVGN_for3(U,i,j,k,B3)-AVGN_for3(U,i,j,km1mac(k),B3)) |
#define | DIVBNORMFLUXCTTOTHx(U, i, j, k) (absAVGN_for1(U,i,j,k,B1)+absAVGN_for1(U,im1mac(i),j,k,B1)) |
#define | DIVBNORMFLUXCTTOTHy(U, i, j, k) (absAVGN_for2(U,i,j,k,B2)+absAVGN_for2(U,i,jm1mac(j),k,B2)) |
#define | DIVBNORMFLUXCTTOTHz(U, i, j, k) (absAVGN_for3(U,i,j,k,B3)+absAVGN_for3(U,i,j,km1mac(k),B3)) |
#define | DIVBNORMFLUXCTTOTH(U, i, j, k) (1.0/(fabs(DIVBNORMFLUXCTTOTHx(U,i,j,k)/dx[1]+DIVBNORMFLUXCTTOTHy(U,i,j,k)/dx[2]+DIVBNORMFLUXCTTOTHz(U,i,j,k)/dx[3]) +SMALL)) |
the below as dividing by too many 's since MYGDET in division and inside B More... | |
#define | DIVBFLUXCTTOTH(U, i, j, k) |
#define | DIVBDIFFFLUXCTSTAGx(U, i, j, k) (NOAVGN_for1(U,ip1mac(i),j,k,B1)-NOAVGN_for1(U,i,j,k,B1)) |
CONSERVED quantity as input for divb calculation (otherwise have to change MYGDET so doesn't always use CENT the below lines results in quantity at CENT. More... | |
#define | DIVBDIFFFLUXCTSTAGy(U, i, j, k) (NOAVGN_for2(U,i,jp1mac(j),k,B2)-NOAVGN_for2(U,i,j,k,B2)) |
#define | DIVBDIFFFLUXCTSTAGz(U, i, j, k) (NOAVGN_for3(U,i,j,kp1mac(k),B3)-NOAVGN_for3(U,i,j,k,B3)) |
#define | DIVBNORMFLUXCTSTAGx(U, i, j, k) (absNOAVGN_for1(U,ip1mac(i),j,k,B1)+absNOAVGN_for1(U,i,j,k,B1)) |
#define | DIVBNORMFLUXCTSTAGy(U, i, j, k) (absNOAVGN_for2(U,i,jp1mac(j),k,B2)+absNOAVGN_for2(U,i,j,k,B2)) |
#define | DIVBNORMFLUXCTSTAGz(U, i, j, k) (absNOAVGN_for3(U,i,j,kp1mac(k),B3)+absNOAVGN_for3(U,i,j,k,B3)) |
#define | DIVBNORMFLUXCTSTAG(U, i, j, k) (1.0/(fabs(DIVBNORMFLUXCTSTAGx(U,i,j,k)/dx[1]+DIVBNORMFLUXCTSTAGy(U,i,j,k)/dx[2]+DIVBNORMFLUXCTSTAGz(U,i,j,k)/dx[3]) +SMALL)) |
#define | DIVBFLUXCTSTAG(U, i, j, k) |
#define | DIVBDIFFFLUXCTSTAGPRIMx(p, i, j, k) (NOAVGFACE_for1(p,ip1mac(i),j,k,B1)-NOAVGFACE_for1(p,i,j,k,B1)) |
PRMITIVE quantity as input for divb calculation (otherwise have to change MYGDET so doesn't always use CENT the below lines results in quantity at CENT. More... | |
#define | DIVBDIFFFLUXCTSTAGPRIMy(p, i, j, k) (NOAVGFACE_for2(p,i,jp1mac(j),k,B2)-NOAVGFACE_for2(p,i,j,k,B2)) |
#define | DIVBDIFFFLUXCTSTAGPRIMz(p, i, j, k) (NOAVGFACE_for3(p,i,j,kp1mac(k),B3)-NOAVGFACE_for3(p,i,j,k,B3)) |
#define | DIVBNORMFLUXCTSTAGPRIMx(p, i, j, k) (absNOAVGFACE_for1(p,ip1mac(i),j,k,B1)+absNOAVGFACE_for1(p,i,j,k,B1)) |
#define | DIVBNORMFLUXCTSTAGPRIMy(p, i, j, k) (absNOAVGFACE_for2(p,i,jp1mac(j),k,B2)+absNOAVGFACE_for2(p,i,j,k,B2)) |
#define | DIVBNORMFLUXCTSTAGPRIMz(p, i, j, k) (absNOAVGFACE_for3(p,i,j,kp1mac(k),B3)+absNOAVGFACE_for3(p,i,j,k,B3)) |
#define | DIVBNORMFLUXCTSTAGPRIM(p, i, j, k) (1.0/(fabs(DIVBNORMFLUXCTSTAGPRIMx(p,i,j,k)/dx[1]+DIVBNORMFLUXCTSTAGPRIMy(p,i,j,k)/dx[2]+DIVBNORMFLUXCTSTAGPRIMz(p,i,j,k)/dx[3]) +SMALL)) |
keep like-dimensional things together More... | |
#define | DIVBFLUXCTSTAGPRIM(p, i, j, k) |
#define | DIVBNORMFLUXCD(p, i, j, k) |
FLUXCD DIVB. More... | |
#define | DIVBFLUXCD(p, i, j, k) |
#define | DIVBNORMFLUXCDPRIM(p, i, j, k) |
PRMITIVE quantity FLUXCD divb lives at CENT. More... | |
#define | DIVBFLUXCDPRIM(p, i, j, k) |
#define | SETFDIVBFLUXCTTOTH(divb, U, i, j, k) {DIVBCONDITION(U,i,j,k){ divb = fabs(DIVBFLUXCTTOTHPRIM(U,i,j,k)) ;} else divb = 0.;} |
SETTING MACROS for all divb methods. More... | |
#define | SETFDIVBFLUXCTTOTHPRIM(divb, p, i, j, k) {DIVBCONDITION(p,i,j,k){ divb = fabs(DIVBFLUXCTTOTHPRIM(p,i,j,k)) ;} else divb = 0.;} |
#define | SETFDIVBFLUXCTSTAG(divb, U, i, j, k) {DIVBCONDITION(U,i,j,k){ divb = fabs(DIVBFLUXCTSTAG(U,i,j,k)) ;} else divb = 0.;} |
#define | SETFDIVBFLUXCTSTAGPRIM(divb, p, i, j, k) {DIVBCONDITION(p,i,j,k){ divb = fabs(DIVBFLUXCTSTAGPRIM(p,i,j,k)) ;} else divb = 0.;} |
#define | SETFDIVBFLUXCD(divb, U, i, j, k) {DIVBCONDITION(U,i,j,k){ divb = fabs(DIVBFLUXCD(U,i,j,k)) ;} else divb = 0.;} |
#define | SETFDIVBFLUXCDPRIM(divb, p, i, j, k) {DIVBCONDITION(p,i,j,k){ divb = fabs(DIVBFLUXCDPRIM(p,i,j,k)) ;} else divb = 0.;} |
Magnetic field and divB=0 related macros.
Definition in file global.fieldmacros.h.
absAVG_x functions that average in x direction typically operates on centered quantities to get face quantities OR on face quantities to get edge quantities
Definition at line 148 of file global.fieldmacros.h.
Definition at line 149 of file global.fieldmacros.h.
Definition at line 150 of file global.fieldmacros.h.
just average of 4 quantities that eventually lives on (0.5,0,0) (i.e. CORN1)
Definition at line 167 of file global.fieldmacros.h.
lives on (0,0.5,0) (i.e. CORN2)
Definition at line 169 of file global.fieldmacros.h.
lives on (0,0,0.5) (i.e. CORN3)
Definition at line 171 of file global.fieldmacros.h.
#define absAVGFACE_1 | ( | F, | |
i, | |||
j, | |||
k, | |||
pl | |||
) | (0.5*(absFgface(F,i,j,k,pl) + absFgface(F,im1mac(i),j,k,pl) )) |
Definition at line 152 of file global.fieldmacros.h.
#define absAVGFACE_2 | ( | F, | |
i, | |||
j, | |||
k, | |||
pl | |||
) | (0.5*(absFgface(F,i,j,k,pl) + absFgface(F,i,jm1mac(j),k,pl) )) |
Definition at line 153 of file global.fieldmacros.h.
#define absAVGFACE_3 | ( | F, | |
i, | |||
j, | |||
k, | |||
pl | |||
) | (0.5*(absFgface(F,i,j,k,pl) + absFgface(F,i,j,km1mac(k),pl) )) |
Definition at line 154 of file global.fieldmacros.h.
AVGN_x functions that average in x direction typically operates on centered quantities to get face quantities OR on face quantities to get edge quantities.
Definition at line 83 of file global.fieldmacros.h.
Definition at line 84 of file global.fieldmacros.h.
Definition at line 85 of file global.fieldmacros.h.
just average of 4 quantities that eventually lives on (0.5,0,0) (i.e. CORN1)
Definition at line 92 of file global.fieldmacros.h.
lives on (0,0.5,0) (i.e. CORN2)
Definition at line 94 of file global.fieldmacros.h.
lives on (0,0,0.5) (i.e. CORN3)
Definition at line 96 of file global.fieldmacros.h.
below macros used for divb definition (with gdet)
Definition at line 143 of file global.fieldmacros.h.
Definition at line 144 of file global.fieldmacros.h.
below macros are similar to those farther below for divb, but no gdet stuff
Definition at line 79 of file global.fieldmacros.h.
absAVG_x functions that average in x direction typically operates on centered quantities to get face quantities OR on face quantities to get edge quantities
Definition at line 158 of file global.fieldmacros.h.
Definition at line 159 of file global.fieldmacros.h.
Definition at line 160 of file global.fieldmacros.h.
Definition at line 173 of file global.fieldmacros.h.
Definition at line 174 of file global.fieldmacros.h.
Definition at line 175 of file global.fieldmacros.h.
Definition at line 162 of file global.fieldmacros.h.
Definition at line 163 of file global.fieldmacros.h.
Definition at line 164 of file global.fieldmacros.h.
#define absNOAVGFACE_for1 | ( | F, | |
i, | |||
j, | |||
k, | |||
pl | |||
) | (absAVGFACE_1(F,i,j,k,pl)) |
Definition at line 177 of file global.fieldmacros.h.
#define absNOAVGFACE_for2 | ( | F, | |
i, | |||
j, | |||
k, | |||
pl | |||
) | (absAVGFACE_2(F,i,j,k,pl)) |
Definition at line 178 of file global.fieldmacros.h.
#define absNOAVGFACE_for3 | ( | F, | |
i, | |||
j, | |||
k, | |||
pl | |||
) | (absAVGFACE_3(F,i,j,k,pl)) |
Definition at line 179 of file global.fieldmacros.h.
Definition at line 87 of file global.fieldmacros.h.
Definition at line 88 of file global.fieldmacros.h.
Definition at line 89 of file global.fieldmacros.h.
#define absNOAVGN_for1 | ( | F, | |
i, | |||
j, | |||
k, | |||
pl | |||
) | (absNOAVGN_1(F,i,j,k,pl)) |
Definition at line 98 of file global.fieldmacros.h.
#define absNOAVGN_for2 | ( | F, | |
i, | |||
j, | |||
k, | |||
pl | |||
) | (absNOAVGN_2(F,i,j,k,pl)) |
Definition at line 99 of file global.fieldmacros.h.
#define absNOAVGN_for3 | ( | F, | |
i, | |||
j, | |||
k, | |||
pl | |||
) | (absNOAVGN_3(F,i,j,k,pl)) |
Definition at line 100 of file global.fieldmacros.h.
AVG_x functions that average in x direction (includes geometry) typically operates on centered quantities to get face quantities OR on face quantities to get edge quantities.
Definition at line 111 of file global.fieldmacros.h.
Definition at line 112 of file global.fieldmacros.h.
Definition at line 113 of file global.fieldmacros.h.
just average of 4 quantities that eventually lives on (0.5,0,0) (i.e. CORN1)
Definition at line 125 of file global.fieldmacros.h.
lives on (0,0.5,0) (i.e. CORN2)
Definition at line 127 of file global.fieldmacros.h.
lives on (0,0,0.5) (i.e. CORN3)
Definition at line 129 of file global.fieldmacros.h.
AVG_x functions that average in x direction typically operates on CORN1,2,3 quantities to get face quantities.
Definition at line 39 of file global.fieldmacros.h.
Definition at line 40 of file global.fieldmacros.h.
Definition at line 41 of file global.fieldmacros.h.
AVGN_x functions that average in x direction typically operates on centered quantities to get face quantities OR on face quantities to get edge quantities.
Definition at line 56 of file global.fieldmacros.h.
Definition at line 57 of file global.fieldmacros.h.
Definition at line 58 of file global.fieldmacros.h.
just average of 4 quantities that eventually lives on (0.5,0,0) (i.e. CORN1)
Definition at line 65 of file global.fieldmacros.h.
lives on (0,0.5,0) (i.e. CORN2)
Definition at line 67 of file global.fieldmacros.h.
lives on (0,0,0.5) (i.e. CORN3)
Definition at line 69 of file global.fieldmacros.h.
only consider within bounds or ignore condition if no such dimension
Definition at line 199 of file global.fieldmacros.h.
Definition at line 200 of file global.fieldmacros.h.
Definition at line 201 of file global.fieldmacros.h.
Definition at line 203 of file global.fieldmacros.h.
#define DIVBDIFFFLUXCTSTAGPRIMx | ( | p, | |
i, | |||
j, | |||
k | |||
) | (NOAVGFACE_for1(p,ip1mac(i),j,k,B1)-NOAVGFACE_for1(p,i,j,k,B1)) |
PRMITIVE quantity as input for divb calculation (otherwise have to change MYGDET so doesn't always use CENT the below lines results in quantity at CENT.
Definition at line 301 of file global.fieldmacros.h.
#define DIVBDIFFFLUXCTSTAGPRIMy | ( | p, | |
i, | |||
j, | |||
k | |||
) | (NOAVGFACE_for2(p,i,jp1mac(j),k,B2)-NOAVGFACE_for2(p,i,j,k,B2)) |
Definition at line 302 of file global.fieldmacros.h.
#define DIVBDIFFFLUXCTSTAGPRIMz | ( | p, | |
i, | |||
j, | |||
k | |||
) | (NOAVGFACE_for3(p,i,j,kp1mac(k),B3)-NOAVGFACE_for3(p,i,j,k,B3)) |
Definition at line 303 of file global.fieldmacros.h.
#define DIVBDIFFFLUXCTSTAGx | ( | U, | |
i, | |||
j, | |||
k | |||
) | (NOAVGN_for1(U,ip1mac(i),j,k,B1)-NOAVGN_for1(U,i,j,k,B1)) |
CONSERVED quantity as input for divb calculation (otherwise have to change MYGDET so doesn't always use CENT the below lines results in quantity at CENT.
Definition at line 282 of file global.fieldmacros.h.
#define DIVBDIFFFLUXCTSTAGy | ( | U, | |
i, | |||
j, | |||
k | |||
) | (NOAVGN_for2(U,i,jp1mac(j),k,B2)-NOAVGN_for2(U,i,j,k,B2)) |
Definition at line 283 of file global.fieldmacros.h.
#define DIVBDIFFFLUXCTSTAGz | ( | U, | |
i, | |||
j, | |||
k | |||
) | (NOAVGN_for3(U,i,j,kp1mac(k),B3)-NOAVGN_for3(U,i,j,k,B3)) |
Definition at line 284 of file global.fieldmacros.h.
PRMITIVE quantity the below lines results in quantity at TRUE CORNER.
Definition at line 220 of file global.fieldmacros.h.
Definition at line 221 of file global.fieldmacros.h.
Definition at line 222 of file global.fieldmacros.h.
CONSERVED quantity the below lines results in quantity at TRUE CORNER.
Definition at line 247 of file global.fieldmacros.h.
Definition at line 248 of file global.fieldmacros.h.
Definition at line 249 of file global.fieldmacros.h.
Definition at line 293 of file global.fieldmacros.h.
Definition at line 265 of file global.fieldmacros.h.
FLUXCD DIVB.
CONSERVED quantity FLUXCD divb lives at CENT
Definition at line 332 of file global.fieldmacros.h.
PRMITIVE quantity FLUXCD divb lives at CENT.
Definition at line 348 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTSTAG | ( | U, | |
i, | |||
j, | |||
k | |||
) | (1.0/(fabs(DIVBNORMFLUXCTSTAGx(U,i,j,k)/dx[1]+DIVBNORMFLUXCTSTAGy(U,i,j,k)/dx[2]+DIVBNORMFLUXCTSTAGz(U,i,j,k)/dx[3]) +SMALL)) |
Definition at line 291 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTSTAGPRIM | ( | p, | |
i, | |||
j, | |||
k | |||
) | (1.0/(fabs(DIVBNORMFLUXCTSTAGPRIMx(p,i,j,k)/dx[1]+DIVBNORMFLUXCTSTAGPRIMy(p,i,j,k)/dx[2]+DIVBNORMFLUXCTSTAGPRIMz(p,i,j,k)/dx[3]) +SMALL)) |
keep like-dimensional things together
Definition at line 311 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTSTAGPRIMx | ( | p, | |
i, | |||
j, | |||
k | |||
) | (absNOAVGFACE_for1(p,ip1mac(i),j,k,B1)+absNOAVGFACE_for1(p,i,j,k,B1)) |
Definition at line 305 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTSTAGPRIMy | ( | p, | |
i, | |||
j, | |||
k | |||
) | (absNOAVGFACE_for2(p,i,jp1mac(j),k,B2)+absNOAVGFACE_for2(p,i,j,k,B2)) |
Definition at line 306 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTSTAGPRIMz | ( | p, | |
i, | |||
j, | |||
k | |||
) | (absNOAVGFACE_for3(p,i,j,kp1mac(k),B3)+absNOAVGFACE_for3(p,i,j,k,B3)) |
Definition at line 307 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTSTAGx | ( | U, | |
i, | |||
j, | |||
k | |||
) | (absNOAVGN_for1(U,ip1mac(i),j,k,B1)+absNOAVGN_for1(U,i,j,k,B1)) |
Definition at line 286 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTSTAGy | ( | U, | |
i, | |||
j, | |||
k | |||
) | (absNOAVGN_for2(U,i,jp1mac(j),k,B2)+absNOAVGN_for2(U,i,j,k,B2)) |
Definition at line 287 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTSTAGz | ( | U, | |
i, | |||
j, | |||
k | |||
) | (absNOAVGN_for3(U,i,j,kp1mac(k),B3)+absNOAVGN_for3(U,i,j,k,B3)) |
Definition at line 288 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTTOTH | ( | U, | |
i, | |||
j, | |||
k | |||
) | (1.0/(fabs(DIVBNORMFLUXCTTOTHx(U,i,j,k)/dx[1]+DIVBNORMFLUXCTTOTHy(U,i,j,k)/dx[2]+DIVBNORMFLUXCTTOTHz(U,i,j,k)/dx[3]) +SMALL)) |
the below as dividing by too many 's since MYGDET in division and inside B
Definition at line 263 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTTOTHPRIM | ( | p, | |
i, | |||
j, | |||
k | |||
) | (1.0/(fabs(DIVBNORMFLUXCTTOTHPRIMx(p,i,j,k)/dx[1]+DIVBNORMFLUXCTTOTHPRIMy(p,i,j,k)/dx[2]+DIVBNORMFLUXCTTOTHPRIMz(p,i,j,k)/dx[3]) +SMALL)) |
Definition at line 236 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTTOTHPRIMx | ( | p, | |
i, | |||
j, | |||
k | |||
) | (absAVG_for1(p,i,j,k,B1)+absAVG_for1(p,im1mac(i),j,k,B1)) |
Definition at line 228 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTTOTHPRIMy | ( | p, | |
i, | |||
j, | |||
k | |||
) | (absAVG_for2(p,i,j,k,B2)+absAVG_for2(p,i,jm1mac(j),k,B2)) |
Definition at line 229 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTTOTHPRIMz | ( | p, | |
i, | |||
j, | |||
k | |||
) | (absAVG_for3(p,i,j,k,B3)+absAVG_for3(p,i,j,km1mac(k),B3)) |
Definition at line 230 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTTOTHx | ( | U, | |
i, | |||
j, | |||
k | |||
) | (absAVGN_for1(U,i,j,k,B1)+absAVGN_for1(U,im1mac(i),j,k,B1)) |
Definition at line 255 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTTOTHy | ( | U, | |
i, | |||
j, | |||
k | |||
) | (absAVGN_for2(U,i,j,k,B2)+absAVGN_for2(U,i,jm1mac(j),k,B2)) |
Definition at line 256 of file global.fieldmacros.h.
#define DIVBNORMFLUXCTTOTHz | ( | U, | |
i, | |||
j, | |||
k | |||
) | (absAVGN_for3(U,i,j,k,B3)+absAVGN_for3(U,i,j,km1mac(k),B3)) |
Definition at line 257 of file global.fieldmacros.h.
below macros used for divb definition (with gdet)
Definition at line 106 of file global.fieldmacros.h.
below 4 macros used for vpot2field() in initbase.c
Definition at line 36 of file global.fieldmacros.h.
Definition at line 107 of file global.fieldmacros.h.
below macros are similar to those farther below for divb, but no gdet stuff
Definition at line 52 of file global.fieldmacros.h.
Definition at line 26 of file global.fieldmacros.h.
Definition at line 115 of file global.fieldmacros.h.
Definition at line 116 of file global.fieldmacros.h.
Definition at line 117 of file global.fieldmacros.h.
Definition at line 131 of file global.fieldmacros.h.
Definition at line 132 of file global.fieldmacros.h.
Definition at line 133 of file global.fieldmacros.h.
do-nothing functions
Definition at line 44 of file global.fieldmacros.h.
Definition at line 45 of file global.fieldmacros.h.
Definition at line 46 of file global.fieldmacros.h.
Definition at line 120 of file global.fieldmacros.h.
Definition at line 121 of file global.fieldmacros.h.
Definition at line 122 of file global.fieldmacros.h.
#define NOAVGFACE_for1 | ( | F, | |
i, | |||
j, | |||
k, | |||
pl | |||
) | (NOAVGFACE_1(F,i,j,k,pl)) |
Definition at line 135 of file global.fieldmacros.h.
#define NOAVGFACE_for2 | ( | F, | |
i, | |||
j, | |||
k, | |||
pl | |||
) | (NOAVGFACE_2(F,i,j,k,pl)) |
Definition at line 136 of file global.fieldmacros.h.
#define NOAVGFACE_for3 | ( | F, | |
i, | |||
j, | |||
k, | |||
pl | |||
) | (NOAVGFACE_3(F,i,j,k,pl)) |
Definition at line 137 of file global.fieldmacros.h.
Definition at line 60 of file global.fieldmacros.h.
Definition at line 61 of file global.fieldmacros.h.
Definition at line 62 of file global.fieldmacros.h.
Definition at line 71 of file global.fieldmacros.h.
Definition at line 72 of file global.fieldmacros.h.
Definition at line 73 of file global.fieldmacros.h.
#define SETFDIVBFLUXCD | ( | divb, | |
U, | |||
i, | |||
j, | |||
k | |||
) | {DIVBCONDITION(U,i,j,k){ divb = fabs(DIVBFLUXCD(U,i,j,k)) ;} else divb = 0.;} |
Definition at line 386 of file global.fieldmacros.h.
#define SETFDIVBFLUXCDPRIM | ( | divb, | |
p, | |||
i, | |||
j, | |||
k | |||
) | {DIVBCONDITION(p,i,j,k){ divb = fabs(DIVBFLUXCDPRIM(p,i,j,k)) ;} else divb = 0.;} |
Definition at line 387 of file global.fieldmacros.h.
#define SETFDIVBFLUXCTSTAG | ( | divb, | |
U, | |||
i, | |||
j, | |||
k | |||
) | {DIVBCONDITION(U,i,j,k){ divb = fabs(DIVBFLUXCTSTAG(U,i,j,k)) ;} else divb = 0.;} |
Definition at line 382 of file global.fieldmacros.h.
#define SETFDIVBFLUXCTSTAGPRIM | ( | divb, | |
p, | |||
i, | |||
j, | |||
k | |||
) | {DIVBCONDITION(p,i,j,k){ divb = fabs(DIVBFLUXCTSTAGPRIM(p,i,j,k)) ;} else divb = 0.;} |
Definition at line 383 of file global.fieldmacros.h.
#define SETFDIVBFLUXCTTOTH | ( | divb, | |
U, | |||
i, | |||
j, | |||
k | |||
) | {DIVBCONDITION(U,i,j,k){ divb = fabs(DIVBFLUXCTTOTHPRIM(U,i,j,k)) ;} else divb = 0.;} |
SETTING MACROS for all divb methods.
poles defined as divb=0, can't divide due to singularity (could use
volume regularization)
Definition at line 378 of file global.fieldmacros.h.
#define SETFDIVBFLUXCTTOTHPRIM | ( | divb, | |
p, | |||
i, | |||
j, | |||
k | |||
) | {DIVBCONDITION(p,i,j,k){ divb = fabs(DIVBFLUXCTTOTHPRIM(p,i,j,k)) ;} else divb = 0.;} |
Definition at line 379 of file global.fieldmacros.h.