xref: /libCEED/julia/LibCEED.jl/src/Globals.jl (revision aeebdb960d6287b7d46742a2370ff7ffd5b85cf5)
144554ea0SWill Pazner"""
244554ea0SWill Pazner    CeedScalar
344554ea0SWill Pazner
4*aeebdb96SWill PaznerScalar (floating point) type. Typically equivalent to `Float64`, but libCEED can be configured at
5*aeebdb96SWill Paznercompile-time to use `Float32`. See also `get_scalar_type`.
644554ea0SWill Pazner"""
744554ea0SWill Paznerconst CeedScalar = C.CeedScalar
880a9ef05SNatalie Beams
944554ea0SWill Pazner"""
1044554ea0SWill Pazner    CeedInt
1144554ea0SWill Pazner
1244554ea0SWill PaznerInteger type, used for indexing. Equivalent to `Int32`.
1344554ea0SWill Pazner"""
1444554ea0SWill Paznerconst CeedInt = C.CeedInt
1544554ea0SWill Pazner
1644554ea0SWill Pazner"""
1744554ea0SWill Pazner    QuadMode
1844554ea0SWill Pazner
1944554ea0SWill PaznerOne of `GAUSS` or `GAUSS_LOBATTO`.
2044554ea0SWill Pazner"""
2144554ea0SWill Paznerconst QuadMode = C.CeedQuadMode
2244554ea0SWill Paznerconst GAUSS = C.CEED_GAUSS
2344554ea0SWill Paznerconst GAUSS_LOBATTO = C.CEED_GAUSS_LOBATTO
2444554ea0SWill Pazner
2544554ea0SWill Pazner"""
2644554ea0SWill Pazner    MemType
2744554ea0SWill Pazner
2844554ea0SWill PaznerOne of `MEM_HOST` or `MEM_DEVICE`.
2944554ea0SWill Pazner"""
3044554ea0SWill Paznerconst MemType = C.CeedMemType
3144554ea0SWill Paznerconst MEM_HOST = C.CEED_MEM_HOST
3244554ea0SWill Paznerconst MEM_DEVICE = C.CEED_MEM_DEVICE
3344554ea0SWill Pazner
3444554ea0SWill Pazner"""
3544554ea0SWill Pazner    CopyMode
3644554ea0SWill Pazner
3744554ea0SWill PaznerOne of `COPY_VALUES`, `USE_POINTER` or `OWN_POINTER`.
3844554ea0SWill Pazner
3944554ea0SWill Pazner`OWN_POINTER` is not typically supported for objects created in Julia, because those must be
4044554ea0SWill Paznerdestroyed by the garbage collector, and cannot be freed from C.
4144554ea0SWill Pazner"""
4244554ea0SWill Paznerconst CopyMode = C.CeedCopyMode
4344554ea0SWill Paznerconst COPY_VALUES = C.CEED_COPY_VALUES
4444554ea0SWill Paznerconst USE_POINTER = C.CEED_USE_POINTER
4544554ea0SWill Paznerconst OWN_POINTER = C.CEED_OWN_POINTER
4644554ea0SWill Pazner
4744554ea0SWill Pazner"""
4844554ea0SWill Pazner    EvalMode
4944554ea0SWill Pazner
5044554ea0SWill PaznerEvaluation mode used in the specification of input and output fields for Q-functions, e.g.
5144554ea0SWill Paznerin [`@interior_qf`](@ref).
5244554ea0SWill Pazner
5344554ea0SWill PaznerOne of:
5444554ea0SWill Pazner- `EVAL_NONE`
5544554ea0SWill Pazner- `EVAL_INTERP`
5644554ea0SWill Pazner- `EVAL_GRAD`
5744554ea0SWill Pazner- `EVAL_DIV`
5844554ea0SWill Pazner- `EVAL_CURL`
5944554ea0SWill Pazner- `EVAL_WEIGHT`
6044554ea0SWill Pazner
6144554ea0SWill PaznerSee the [libCEED
6213964f07SJed Browndocumentation](https://libceed.org/en/latest/api/CeedBasis/?highlight=EVAL_MODE#c.CeedEvalMode)
6344554ea0SWill Paznerfor further information.
6444554ea0SWill Pazner"""
6544554ea0SWill Paznerconst EvalMode = C.CeedEvalMode
6644554ea0SWill Paznerconst EVAL_NONE = C.CEED_EVAL_NONE
6744554ea0SWill Paznerconst EVAL_INTERP = C.CEED_EVAL_INTERP
6844554ea0SWill Paznerconst EVAL_GRAD = C.CEED_EVAL_GRAD
6944554ea0SWill Paznerconst EVAL_DIV = C.CEED_EVAL_DIV
7044554ea0SWill Paznerconst EVAL_CURL = C.CEED_EVAL_CURL
7144554ea0SWill Paznerconst EVAL_WEIGHT = C.CEED_EVAL_WEIGHT
7244554ea0SWill Pazner
7344554ea0SWill Pazner"""
7444554ea0SWill Pazner    NormType
7544554ea0SWill Pazner
7644554ea0SWill PaznerDenotes type of vector norm. One of `NORM_1`, `NORM_2`, or `NORM_MAX`.
7744554ea0SWill Pazner"""
7844554ea0SWill Paznerconst NormType = C.CeedNormType
7944554ea0SWill Paznerconst NORM_1 = C.CEED_NORM_1
8044554ea0SWill Paznerconst NORM_2 = C.CEED_NORM_2
8144554ea0SWill Paznerconst NORM_MAX = C.CEED_NORM_MAX
8244554ea0SWill Pazner
8344554ea0SWill Pazner"""
8444554ea0SWill Pazner    TransposeMose
8544554ea0SWill Pazner
8644554ea0SWill PaznerDenotes whether a linear transformation or its transpose should be applied. Either
8744554ea0SWill Pazner`NOTRANSPOSE` or `TRANSPOSE`.
8844554ea0SWill Pazner"""
8944554ea0SWill Paznerconst TransposeMode = C.CeedTransposeMode
9044554ea0SWill Paznerconst NOTRANSPOSE = C.CEED_NOTRANSPOSE
9144554ea0SWill Paznerconst TRANSPOSE = C.CEED_TRANSPOSE
9244554ea0SWill Pazner
9344554ea0SWill Pazner"""
9444554ea0SWill Pazner    Topology
9544554ea0SWill Pazner
9644554ea0SWill PaznerType of basis shape to create non-tensor H1 element basis. One of `LINE`, `TRIANGLE`,
9744554ea0SWill Pazner`QUAD`, `TET`, `PYRAMID`, `PRISM`, or `HEX`.
9844554ea0SWill Pazner
9944554ea0SWill PaznerThe dimension can be extracted with bitshift:
10044554ea0SWill Pazner
10144554ea0SWill Pazner    dim = Int(topology) >> 16
10244554ea0SWill Pazner"""
10344554ea0SWill Paznerconst Topology = C.CeedElemTopology
10450c301a5SRezgar Shakericonst LINE = C.CEED_TOPOLOGY_LINE
10550c301a5SRezgar Shakericonst TRIANGLE = C.CEED_TOPOLOGY_TRIANGLE
10650c301a5SRezgar Shakericonst QUAD = C.CEED_TOPOLOGY_QUAD
10750c301a5SRezgar Shakericonst TET = C.CEED_TOPOLOGY_TET
10850c301a5SRezgar Shakericonst PYRAMID = C.CEED_TOPOLOGY_PYRAMID
10950c301a5SRezgar Shakericonst PRISM = C.CEED_TOPOLOGY_PRISM
11050c301a5SRezgar Shakericonst HEX = C.CEED_TOPOLOGY_HEX
11144554ea0SWill Pazner
11244554ea0SWill Paznerfunction set_globals()
11344554ea0SWill Pazner    @doc """
11444554ea0SWill Pazner        STRIDES_BACKEND
11544554ea0SWill Pazner
11644554ea0SWill Pazner    Indicate that the stride is determined by the backend.
11744554ea0SWill Pazner    """
11844554ea0SWill Pazner    global STRIDES_BACKEND = C.CEED_STRIDES_BACKEND[]
11944554ea0SWill Paznerend
120