Large arrays large data structures not needed by liaison code. More...
Go to the source code of this file.
Functions | |
FTYPE | BASEMACP0A1 (pglobal, N1M, N2M, N3M, NPR) |
memory and pointer shift declarations/definitions used globally in code More... | |
FTYPE | BASEMACP0A1 (ptemparray, N1M, N2M, N3M, NPR) |
below is always used – never use as temp More... | |
FTYPE | BASEMACP0A1 (utemparray, N1M, N2M, N3M, NPR) |
arbitrary temporary storage array More... | |
FTYPE | BASEMACP1A0 (emf, NDIM *NUMTRUEEOMSETS, N1M+SHIFT1, N2M+SHIFT2, N3M+SHIFT3) |
emf has extra zone on upper end since corner quantity and some components exist that are needed for cell centered quantities More... | |
FTYPE | BASEMACP1A0 (vpotarrayglobal, NUMVPOT, N1M+SHIFT1, N2M+SHIFT2, N3M+SHIFT3) |
vpotarrayglobal holds vpot, vpot0, vpotlast, vpotcum More... | |
FTYPE | BASEMACP1A1 (pk, MAXITERDTSTAGES, N1M, N2M, N3M, NPR) |
for storing dt over all dimensions before computing minimum dt More... | |
FTYPE | BASEMACP0A1 (unewglobal, N1M, N2M, N3M, NPR) |
for higher order RK time stepping integrations More... | |
FTYPE | BASEMACP0A1 (ulastglobal, N1M, N2M, N3M, NPR) |
FTYPE | BASEMACP0A1 (uinitialglobal, N1M, N2M, N3M, NPR) |
FTYPE | BASEMACP0A1 (dUgeomarray, N1M, N2M, N3M, NPR) |
FTYPE | BASEMACP0A1 (pleft, N1M, N2M, N3M, NPR2INTERP) |
Below F1,F2,F3,F1EM,F2EM,F3EM have extra shift ONLY to have extra memory to avoid seg fault, not to be used for actual calculations! Hence, pointer to these does NOT have such a shift. More... | |
FTYPE | BASEMACP0A1 (pright, N1M, N2M, N3M, NPR2INTERP) |
FTYPE | BASEMACP0A1 (prc, N1M, N2M, N3M, NPR2INTERP) |
below is used within substeps but not across More... | |
PFTYPE | BASEMACP0A1 (pflag, N1M, N2M, N3M, NUMPFLAGS) |
PFTYPE | BASEMACP0A1 (pflagfailorig, N1M, N2M, N3M, NUMFAILPFLAGS) |
Large arrays large data structures not needed by liaison code.
to add a new variable:
0) global.h: If macro type (before/after variable relative to 3D array indices), then setup macro to turn on/off memory (BASEMAC??(name)) to be used below.
1) Add a variable called BASEMAC???(name) that is the definition of the memory space
2) superdefs.pointers.h: Define a pointer of the same type.
3) set_arrays.c or set_arrays_multidimen.c: add pointer shifting
4) set_arrays.c or set_arrays_multidimen.c: assign to 0 or valueinit
5) set_array.c or set_arrays_multidimen.c: use global.h macro to avoid assignments to memory if turned off
6) Use it!
Definition in file superdefs.h.
memory and pointer shift declarations/definitions used globally in code
below is always used – never use as temp
below is always used – never use as temp
below is always used – never use as temp arbitrary temporary storage array
for higher order RK time stepping integrations
Below F1,F2,F3,F1EM,F2EM,F3EM have extra shift ONLY to have extra memory to avoid seg fault, not to be used for actual calculations! Hence, pointer to these does NOT have such a shift.
This allows flux_ct() to go over F1,F2,F3 sumes for emf in a single loop rather than multiple loops. For FLUXCTTOTH, need space at bottom, while for FLUXCD need space at top. So add 2 extra spaces.
below is used within substeps but not across
PFTYPE BASEMACP0A1 | ( | pflagfailorig | , |
N1M | , | ||
N2M | , | ||
N3M | , | ||
NUMFAILPFLAGS | |||
) |
emf has extra zone on upper end since corner quantity and some components exist that are needed for cell centered quantities
vpotarrayglobal holds vpot, vpot0, vpotlast, vpotcum
FTYPE BASEMACP1A1 | ( | pk | , |
MAXITERDTSTAGES | , | ||
N1M | , | ||
N2M | , | ||
N3M | , | ||
NPR | |||
) |
for storing dt over all dimensions before computing minimum dt
below is used within substeps AND across substeps but not across full timesteps