Chombo + EB
3.0
|
Macros | |
#define | CHOMBO_VERSION_MAJOR 3 |
#define | CHOMBO_VERSION_MINOR 1 |
#define | FORTRAN_NAME(NAME, name) |
Used to declare a fortran routine in a portable way. More... | |
#define | CHF_MULTIDO(box, i, j, k) |
Used in ChomboFortran to write dimension-independent loops. More... | |
#define | CHF_ENDDO |
#define | CHF_INT(i) &i |
#define | CHF_CONST_INT(i) &i |
#define | CHF_REAL(r) &r |
#define | CHF_CONST_REAL(r) &r |
#define | CHF_COMPLEX(c) &c |
#define | CHF_CONST_COMPLEX(c) &c |
#define | CHF_I1D( ia, dimen) ia,(const int*)chfptr(dimen-1) |
#define | CHF_CONST_I1D(ia, dimen) ia,(const int*)chfptr(dimen-1) |
#define | CHF_R1D( ra, dimen) ra,(const int*)chfptr(dimen-1) |
#define | CHF_CONST_R1D(ra, dimen) ra,(const int*)chfptr(dimen-1) |
#define | CHF_C1D( ra, dimen) ra,(const int*)chfptr(dimen-1) |
#define | CHF_CONST_C1D(ra, dimen) ra,(const int*)chfptr(dimen-1) |
#define | CHF_IARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__) |
#define | CHF_CONST_IARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__) |
#define | CHF_RARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__) |
#define | CHF_CONST_RARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__) |
#define | CHF_CARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__) |
#define | CHF_CONST_CARRAY(rank, ia, ...) ia,CHF_ARRAY_X(rank, __VA_ARGS__) |
#define | CHF_INTVECT(a) a.dataPtr( ) |
#define | CHF_CONST_INTVECT(a) a.dataPtr( ) |
#define | CHF_REALVECT(a) a.dataPtr( ) |
#define | CHF_CONST_REALVECT(a) a.dataPtr( ) |
#define | CHF_COMPLEXVECT(a) a.dataPtr( ) |
#define | CHF_CONST_COMPLEXVECT(a) a.dataPtr( ) |
#define | CHF_VI( v) &v[0],(const int*)chfptr(v.size()-1) |
#define | CHF_CONST_VI(v) &v[0],(const int*)chfptr(v.size()-1) |
#define | CHF_VR( v) &v[0],(const int*)chfptr(v.size()-1) |
#define | CHF_CONST_VR(v) &v[0],(const int*)chfptr(v.size()-1) |
#define | CHF_VC( v) &v[0],(const int*)chfptr(v.size()-1) |
#define | CHF_CONST_VC(v) &v[0],(const int*)chfptr(v.size()-1) |
#define | CHF_BOX(b) |
#define | CHF_FIA(a) |
#define | CHF_FIA_SHIFT(a, iv) |
#define | CHF_FRA(a) |
#define | CHF_FRA_SHIFT(a, iv) |
#define | CHF_FCA(a) |
#define | CHF_CONST_FIA(a) |
#define | CHF_CONST_FIA_SHIFT(a, iv) |
#define | CHF_CONST_FRA(a) |
#define | CHF_CONST_FRA_SHIFT(a, iv) |
#define | CHF_CONST_FCA(a) |
#define | CHF_FIA1(a, n) |
#define | CHF_FIA1_SHIFT(a, n, iv) |
#define | CHF_FRA1(a, n) |
#define | CHF_FRA1_SHIFT(a, n, iv) |
#define | CHF_FCA1(a, n) |
#define | CHF_CONST_FIA1(a, n) |
#define | CHF_CONST_FIA1_SHIFT(a, n, iv) |
#define | CHF_CONST_FRA1(a, n) |
#define | CHF_CONST_FRA1_SHIFT(a, n, iv) |
#define | CHF_CONST_FCA1(a, n) |
#define | CHF_ICHARRAY(rank, ia) ia.begin(),CHF_CHARRAY_X(rank, ia) |
#define | CHF_CONST_ICHARRAY(rank, ia) ia.begin(),CHF_CHARRAY_X(rank, ia) |
#define | CHF_RCHARRAY(rank, ra) ra.begin(),CHF_CHARRAY_X(rank, ra) |
#define | CHF_CONST_RCHARRAY(rank, ra) ra.begin(),CHF_CHARRAY_X(rank, ra) |
#define | CHF_CCHARRAY(rank, ra) ra.begin(),CHF_CHARRAY_X(rank, ra) |
#define | CHF_CONST_CCHARRAY(rank, ra) ra.begin(),CHF_CHARRAY_X(rank, ra) |
#define | CHF_VECTOR(ra) ra.begin(),CHF_CHARRAY_X(1, ra) |
#define | CHF_CONST_VECTOR(ra) ra.begin(),CHF_CHARRAY_X(1, ra) |
#define | CHF_MATRIX(ra) ra.begin(),CHF_CHARRAY_X(2, ra) |
#define | CHF_CONST_MATRIX(ra) ra.begin(),CHF_CHARRAY_X(2, ra) |
#define | CH_SPACEDIM |
#define | CH_SPACEDIM 3 |
#define CHOMBO_VERSION_MAJOR 3 |
The major version number of Chombo – an integer.
The Chombo version number has the form:
CHOMBO_VERSION_MAJOR.CHOMBO_VERSION_MINOR
#define CHOMBO_VERSION_MINOR 1 |
The minor version number of Chombo – an integer.
#define FORTRAN_NAME | ( | NAME, | |
name | |||
) |
Used to declare a fortran routine in a portable way.
#define CHF_MULTIDO | ( | box, | |
i, | |||
j, | |||
k | |||
) |
Used in ChomboFortran to write dimension-independent loops.
CHF_MULTIDO is used to iterate over a box in a dimension independent fashion by setting up nested Fortran do loops and CHF_ENDDO is used to terminate those do loops correctly. Specifically, CHF_MULTIDO[box;i;j;k] will generate a do loop for i nested inside a do loop for j and, in 3D, this will be nested inside a do loop for k. The i loop will go from first element of the low corner of box to the first element of the high corner of box. Similarly, the { j} loop will use the second element and, in 3D, the k loop will use the third element. CHF_ENDDO will end all the do loops set up by CHF_MULTIDO.
Here is an example using these macros:
see the section of the Chombo Design document about Chombo Fortran for a more detailed use of macros in Fortran
#define CHF_ENDDO |
#define CHF_INT | ( | i | ) | &i |
#define CHF_CONST_INT | ( | i | ) | &i |
#define CHF_REAL | ( | r | ) | &r |
#define CHF_CONST_REAL | ( | r | ) | &r |
#define CHF_COMPLEX | ( | c | ) | &c |
#define CHF_CONST_COMPLEX | ( | c | ) | &c |
#define CHF_I1D | ( | ia, | |
dimen | |||
) | ia,(const int*)chfptr(dimen-1) |
#define CHF_CONST_I1D | ( | ia, | |
dimen | |||
) | ia,(const int*)chfptr(dimen-1) |
#define CHF_R1D | ( | ra, | |
dimen | |||
) | ra,(const int*)chfptr(dimen-1) |
#define CHF_CONST_R1D | ( | ra, | |
dimen | |||
) | ra,(const int*)chfptr(dimen-1) |
#define CHF_C1D | ( | ra, | |
dimen | |||
) | ra,(const int*)chfptr(dimen-1) |
#define CHF_CONST_C1D | ( | ra, | |
dimen | |||
) | ra,(const int*)chfptr(dimen-1) |
#define CHF_IARRAY | ( | rank, | |
ia, | |||
... | |||
) | ia,CHF_ARRAY_X(rank, __VA_ARGS__) |
#define CHF_CONST_IARRAY | ( | rank, | |
ia, | |||
... | |||
) | ia,CHF_ARRAY_X(rank, __VA_ARGS__) |
#define CHF_RARRAY | ( | rank, | |
ia, | |||
... | |||
) | ia,CHF_ARRAY_X(rank, __VA_ARGS__) |
#define CHF_CONST_RARRAY | ( | rank, | |
ia, | |||
... | |||
) | ia,CHF_ARRAY_X(rank, __VA_ARGS__) |
#define CHF_CARRAY | ( | rank, | |
ia, | |||
... | |||
) | ia,CHF_ARRAY_X(rank, __VA_ARGS__) |
#define CHF_CONST_CARRAY | ( | rank, | |
ia, | |||
... | |||
) | ia,CHF_ARRAY_X(rank, __VA_ARGS__) |
#define CHF_INTVECT | ( | a | ) | a.dataPtr( ) |
#define CHF_CONST_INTVECT | ( | a | ) | a.dataPtr( ) |
#define CHF_REALVECT | ( | a | ) | a.dataPtr( ) |
#define CHF_CONST_REALVECT | ( | a | ) | a.dataPtr( ) |
#define CHF_COMPLEXVECT | ( | a | ) | a.dataPtr( ) |
#define CHF_CONST_COMPLEXVECT | ( | a | ) | a.dataPtr( ) |
#define CHF_VI | ( | v | ) | &v[0],(const int*)chfptr(v.size()-1) |
#define CHF_CONST_VI | ( | v | ) | &v[0],(const int*)chfptr(v.size()-1) |
#define CHF_VR | ( | v | ) | &v[0],(const int*)chfptr(v.size()-1) |
#define CHF_CONST_VR | ( | v | ) | &v[0],(const int*)chfptr(v.size()-1) |
#define CHF_VC | ( | v | ) | &v[0],(const int*)chfptr(v.size()-1) |
#define CHF_CONST_VC | ( | v | ) | &v[0],(const int*)chfptr(v.size()-1) |
#define CHF_BOX | ( | b | ) |
#define CHF_FIA | ( | a | ) |
#define CHF_FIA_SHIFT | ( | a, | |
iv | |||
) |
#define CHF_FRA | ( | a | ) |
#define CHF_FRA_SHIFT | ( | a, | |
iv | |||
) |
#define CHF_FCA | ( | a | ) |
#define CHF_CONST_FIA | ( | a | ) |
#define CHF_CONST_FIA_SHIFT | ( | a, | |
iv | |||
) |
#define CHF_CONST_FRA | ( | a | ) |
#define CHF_CONST_FRA_SHIFT | ( | a, | |
iv | |||
) |
#define CHF_CONST_FCA | ( | a | ) |
#define CHF_FIA1 | ( | a, | |
n | |||
) |
#define CHF_FIA1_SHIFT | ( | a, | |
n, | |||
iv | |||
) |
#define CHF_FRA1 | ( | a, | |
n | |||
) |
#define CHF_FRA1_SHIFT | ( | a, | |
n, | |||
iv | |||
) |
#define CHF_FCA1 | ( | a, | |
n | |||
) |
#define CHF_CONST_FIA1 | ( | a, | |
n | |||
) |
#define CHF_CONST_FIA1_SHIFT | ( | a, | |
n, | |||
iv | |||
) |
#define CHF_CONST_FRA1 | ( | a, | |
n | |||
) |
#define CHF_CONST_FRA1_SHIFT | ( | a, | |
n, | |||
iv | |||
) |
#define CHF_CONST_FCA1 | ( | a, | |
n | |||
) |
#define CHF_ICHARRAY | ( | rank, | |
ia | |||
) | ia.begin(),CHF_CHARRAY_X(rank, ia) |
#define CHF_CONST_ICHARRAY | ( | rank, | |
ia | |||
) | ia.begin(),CHF_CHARRAY_X(rank, ia) |
#define CHF_RCHARRAY | ( | rank, | |
ra | |||
) | ra.begin(),CHF_CHARRAY_X(rank, ra) |
#define CHF_CONST_RCHARRAY | ( | rank, | |
ra | |||
) | ra.begin(),CHF_CHARRAY_X(rank, ra) |
#define CHF_CCHARRAY | ( | rank, | |
ra | |||
) | ra.begin(),CHF_CHARRAY_X(rank, ra) |
#define CHF_CONST_CCHARRAY | ( | rank, | |
ra | |||
) | ra.begin(),CHF_CHARRAY_X(rank, ra) |
#define CHF_VECTOR | ( | ra | ) | ra.begin(),CHF_CHARRAY_X(1, ra) |
#define CHF_CONST_VECTOR | ( | ra | ) | ra.begin(),CHF_CHARRAY_X(1, ra) |
#define CHF_MATRIX | ( | ra | ) | ra.begin(),CHF_CHARRAY_X(2, ra) |
#define CHF_CONST_MATRIX | ( | ra | ) | ra.begin(),CHF_CHARRAY_X(2, ra) |
#define CH_SPACEDIM |
compile-time cpp macro that controls the dimensionality of the Chombo package.
Referenced by PetscSolver< LevelData< FArrayBox > >::create_mat_vec(), dataSize(), IVSFAB< T >::define(), MultiGrid< T >::define(), LevelData< EBFluxFAB >::degenerate(), LevelFluxRegister::getCoarseLocations(), GraphNodeImplem::index(), IndexType::nodeCentered(), IndexType::ok(), IndexType::setall(), PetscSolver< LevelData< FArrayBox > >::setup_solver(), and PolyGeom::~PolyGeom().
#define CH_SPACEDIM 3 |
compile-time cpp macro that controls the dimensionality of the Chombo package.