1""" 2 CeedScalar 3 4Scalar (floating point) type. Typically equivalent to `Float64`, but libCEED can be configured at 5compile-time to use `Float32`. See also `get_scalar_type`. 6""" 7const CeedScalar = C.CeedScalar 8 9""" 10 CeedInt 11 12Integer type, used for indexing. Equivalent to `Int32`. 13""" 14const CeedInt = C.CeedInt 15 16""" 17 CeedSize 18 19Integer type, used for array sizes. Equivalent to `Int`. 20""" 21const CeedSize = C.CeedSize 22 23""" 24 QuadMode 25 26One of `GAUSS` or `GAUSS_LOBATTO`. 27""" 28const QuadMode = C.CeedQuadMode 29const GAUSS = C.CEED_GAUSS 30const GAUSS_LOBATTO = C.CEED_GAUSS_LOBATTO 31 32""" 33 MemType 34 35One of `MEM_HOST` or `MEM_DEVICE`. 36""" 37const MemType = C.CeedMemType 38const MEM_HOST = C.CEED_MEM_HOST 39const MEM_DEVICE = C.CEED_MEM_DEVICE 40 41""" 42 CopyMode 43 44One of `COPY_VALUES`, `USE_POINTER` or `OWN_POINTER`. 45 46`OWN_POINTER` is not typically supported for objects created in Julia, because those must be 47destroyed by the garbage collector, and cannot be freed from C. 48""" 49const CopyMode = C.CeedCopyMode 50const COPY_VALUES = C.CEED_COPY_VALUES 51const USE_POINTER = C.CEED_USE_POINTER 52const OWN_POINTER = C.CEED_OWN_POINTER 53 54""" 55 EvalMode 56 57Evaluation mode used in the specification of input and output fields for Q-functions, e.g. 58in [`@interior_qf`](@ref). 59 60One of: 61- `EVAL_NONE` 62- `EVAL_INTERP` 63- `EVAL_GRAD` 64- `EVAL_DIV` 65- `EVAL_CURL` 66- `EVAL_WEIGHT` 67 68See the [libCEED 69documentation](https://libceed.org/en/latest/api/CeedBasis/?highlight=EVAL_MODE#c.CeedEvalMode) 70for further information. 71""" 72const EvalMode = C.CeedEvalMode 73const EVAL_NONE = C.CEED_EVAL_NONE 74const EVAL_INTERP = C.CEED_EVAL_INTERP 75const EVAL_GRAD = C.CEED_EVAL_GRAD 76const EVAL_DIV = C.CEED_EVAL_DIV 77const EVAL_CURL = C.CEED_EVAL_CURL 78const EVAL_WEIGHT = C.CEED_EVAL_WEIGHT 79 80""" 81 NormType 82 83Denotes type of vector norm. One of `NORM_1`, `NORM_2`, or `NORM_MAX`. 84""" 85const NormType = C.CeedNormType 86const NORM_1 = C.CEED_NORM_1 87const NORM_2 = C.CEED_NORM_2 88const NORM_MAX = C.CEED_NORM_MAX 89 90""" 91 TransposeMose 92 93Denotes whether a linear transformation or its transpose should be applied. Either 94`NOTRANSPOSE` or `TRANSPOSE`. 95""" 96const TransposeMode = C.CeedTransposeMode 97const NOTRANSPOSE = C.CEED_NOTRANSPOSE 98const TRANSPOSE = C.CEED_TRANSPOSE 99 100""" 101 Topology 102 103Type of basis shape to create non-tensor H1 element basis. One of `LINE`, `TRIANGLE`, 104`QUAD`, `TET`, `PYRAMID`, `PRISM`, or `HEX`. 105 106The dimension can be extracted with bitshift: 107 108 dim = Int(topology) >> 16 109""" 110const Topology = C.CeedElemTopology 111const LINE = C.CEED_TOPOLOGY_LINE 112const TRIANGLE = C.CEED_TOPOLOGY_TRIANGLE 113const QUAD = C.CEED_TOPOLOGY_QUAD 114const TET = C.CEED_TOPOLOGY_TET 115const PYRAMID = C.CEED_TOPOLOGY_PYRAMID 116const PRISM = C.CEED_TOPOLOGY_PRISM 117const HEX = C.CEED_TOPOLOGY_HEX 118 119function set_globals() 120 @doc """ 121 STRIDES_BACKEND 122 123 Indicate that the stride is determined by the backend. 124 """ 125 global STRIDES_BACKEND = C.CEED_STRIDES_BACKEND[] 126end 127