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

Large arrays large data structures not needed by liaison code. More...

#include "kazfulleos.superdefs.h"
#include "superdefs.rad.h"
Include dependency graph for superdefs.h:
This graph shows which files directly or indirectly include this file:

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)
 

Detailed Description

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.

Function Documentation

FTYPE BASEMACP0A1 ( pglobal  ,
N1M  ,
N2M  ,
N3M  ,
NPR   
)

memory and pointer shift declarations/definitions used globally in code

below is always used – never use as temp

FTYPE BASEMACP0A1 ( ptemparray  ,
N1M  ,
N2M  ,
N3M  ,
NPR   
)

below is always used – never use as temp

below is always used – never use as temp arbitrary temporary storage array

FTYPE BASEMACP0A1 ( utemparray  ,
N1M  ,
N2M  ,
N3M  ,
NPR   
)

arbitrary temporary storage array

FTYPE BASEMACP0A1 ( unewglobal  ,
N1M  ,
N2M  ,
N3M  ,
NPR   
)

for higher order RK time stepping integrations

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.

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.

FTYPE BASEMACP0A1 ( pright  ,
N1M  ,
N2M  ,
N3M  ,
NPR2INTERP   
)
FTYPE BASEMACP0A1 ( prc  ,
N1M  ,
N2M  ,
N3M  ,
NPR2INTERP   
)

below is used within substeps but not across

PFTYPE BASEMACP0A1 ( pflag  ,
N1M  ,
N2M  ,
N3M  ,
NUMPFLAGS   
)
PFTYPE BASEMACP0A1 ( pflagfailorig  ,
N1M  ,
N2M  ,
N3M  ,
NUMFAILPFLAGS   
)
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

FTYPE BASEMACP1A0 ( vpotarrayglobal  ,
NUMVPOT  ,
N1M SHIFT1,
N2M SHIFT2,
N3M SHIFT3 
)

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