xref: /libCEED/interface/ceed-types.c (revision 75affc3b27ef4afd9e0b71275e32fb85c1a00c79)
1*75affc3bSjeremylt // Copyright (c) 2017, Lawrence Livermore National Security, LLC. Produced at
2*75affc3bSjeremylt // the Lawrence Livermore National Laboratory. LLNL-CODE-734707. All Rights
3*75affc3bSjeremylt // reserved. See files LICENSE and NOTICE for details.
4*75affc3bSjeremylt //
5*75affc3bSjeremylt // This file is part of CEED, a collection of benchmarks, miniapps, software
6*75affc3bSjeremylt // libraries and APIs for efficient high-order finite element and spectral
7*75affc3bSjeremylt // element discretizations for exascale applications. For more information and
8*75affc3bSjeremylt // source code availability see http://github.com/ceed.
9*75affc3bSjeremylt //
10*75affc3bSjeremylt // The CEED research is supported by the Exascale Computing Project 17-SC-20-SC,
11*75affc3bSjeremylt // a collaborative effort of two U.S. Department of Energy organizations (Office
12*75affc3bSjeremylt // of Science and the National Nuclear Security Administration) responsible for
13*75affc3bSjeremylt // the planning and preparation of a capable exascale ecosystem, including
14*75affc3bSjeremylt // software, applications, hardware, advanced system engineering and early
15*75affc3bSjeremylt // testbed platforms, in support of the nation's exascale computing imperative.
16*75affc3bSjeremylt 
17*75affc3bSjeremylt #include <ceed.h>
18*75affc3bSjeremylt 
19*75affc3bSjeremylt const char *const CeedMemTypes[] = {
20*75affc3bSjeremylt   [CEED_MEM_HOST] = "host",
21*75affc3bSjeremylt   [CEED_MEM_DEVICE] = "device",
22*75affc3bSjeremylt };
23*75affc3bSjeremylt 
24*75affc3bSjeremylt const char *const CeedCopyModes[] = {
25*75affc3bSjeremylt   [CEED_COPY_VALUES] = "copy values",
26*75affc3bSjeremylt   [CEED_USE_POINTER] = "use pointer",
27*75affc3bSjeremylt   [CEED_OWN_POINTER] = "own pointer",
28*75affc3bSjeremylt };
29*75affc3bSjeremylt 
30*75affc3bSjeremylt const char *const CeedTransposeModes[] = {
31*75affc3bSjeremylt   [CEED_TRANSPOSE] = "transpose",
32*75affc3bSjeremylt   [CEED_NOTRANSPOSE] = "no transpose",
33*75affc3bSjeremylt };
34*75affc3bSjeremylt 
35*75affc3bSjeremylt const char *const CeedEvalModes[] = {
36*75affc3bSjeremylt   [CEED_EVAL_NONE] = "none",
37*75affc3bSjeremylt   [CEED_EVAL_INTERP] = "interpolation",
38*75affc3bSjeremylt   [CEED_EVAL_GRAD] = "gradient",
39*75affc3bSjeremylt   [CEED_EVAL_DIV] = "divergence",
40*75affc3bSjeremylt   [CEED_EVAL_CURL] = "curl",
41*75affc3bSjeremylt   [CEED_EVAL_WEIGHT] = "quadrature weights",
42*75affc3bSjeremylt };
43*75affc3bSjeremylt 
44*75affc3bSjeremylt const char *const CeedQuadModes[] = {
45*75affc3bSjeremylt   [CEED_GAUSS] = "Gauss",
46*75affc3bSjeremylt   [CEED_GAUSS_LOBATTO] = "Gauss Lobatto",
47*75affc3bSjeremylt };
48*75affc3bSjeremylt 
49*75affc3bSjeremylt const char *const CeedElemTopologies[] = {
50*75affc3bSjeremylt   [CEED_LINE] = "line",
51*75affc3bSjeremylt   [CEED_TRIANGLE] = "triangle",
52*75affc3bSjeremylt   [CEED_QUAD] = "quadrilateral",
53*75affc3bSjeremylt   [CEED_TET] = "tetrahedron",
54*75affc3bSjeremylt   [CEED_PYRAMID] = "pyramid",
55*75affc3bSjeremylt   [CEED_PRISM] = "prism",
56*75affc3bSjeremylt   [CEED_HEX] = "hexahedron",
57*75affc3bSjeremylt };
58