xref: /libCEED/interface/ceed-types.c (revision 3d8e882215d238700cdceb37404f76ca7fa24eaa)
1*3d8e8822SJeremy L Thompson // Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors.
2*3d8e8822SJeremy L Thompson // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
375affc3bSjeremylt //
4*3d8e8822SJeremy L Thompson // SPDX-License-Identifier: BSD-2-Clause
575affc3bSjeremylt //
6*3d8e8822SJeremy L Thompson // This file is part of CEED:  http://github.com/ceed
775affc3bSjeremylt 
8ec3da8bcSJed Brown #include <ceed/ceed.h>
96f117663SJeremy L Thompson #include <ceed/backend.h>
1075affc3bSjeremylt 
11e15f9bd0SJeremy L Thompson const char *const CeedErrorTypesShifted[] = {
12e15f9bd0SJeremy L Thompson   [CEED_ERROR_SUCCESS - CEED_ERROR_UNSUPPORTED] = "success",
13e15f9bd0SJeremy L Thompson   [CEED_ERROR_MINOR - CEED_ERROR_UNSUPPORTED] = "generic minor error",
14e15f9bd0SJeremy L Thompson   [CEED_ERROR_DIMENSION - CEED_ERROR_UNSUPPORTED] = "dimension mismatch",
15e15f9bd0SJeremy L Thompson   [CEED_ERROR_INCOMPLETE - CEED_ERROR_UNSUPPORTED] = "object setup incomplete",
16e1e9e29dSJed Brown   [CEED_ERROR_INCOMPATIBLE - CEED_ERROR_UNSUPPORTED] = "incompatible arguments",
17e15f9bd0SJeremy L Thompson   [CEED_ERROR_ACCESS - CEED_ERROR_UNSUPPORTED] = "access lock in use",
18e15f9bd0SJeremy L Thompson   [CEED_ERROR_MAJOR - CEED_ERROR_UNSUPPORTED] = "generic major error",
19e15f9bd0SJeremy L Thompson   [CEED_ERROR_BACKEND - CEED_ERROR_UNSUPPORTED] = "internal backend error",
20e15f9bd0SJeremy L Thompson   [CEED_ERROR_UNSUPPORTED - CEED_ERROR_UNSUPPORTED] = "operation unsupported by backend",
21e15f9bd0SJeremy L Thompson };
22e15f9bd0SJeremy L Thompson const char *const *CeedErrorTypes =  &CeedErrorTypesShifted[-
23e15f9bd0SJeremy L Thompson                                      CEED_ERROR_UNSUPPORTED];
24e15f9bd0SJeremy L Thompson 
2575affc3bSjeremylt const char *const CeedMemTypes[] = {
2675affc3bSjeremylt   [CEED_MEM_HOST] = "host",
2775affc3bSjeremylt   [CEED_MEM_DEVICE] = "device",
2875affc3bSjeremylt };
2975affc3bSjeremylt 
3075affc3bSjeremylt const char *const CeedCopyModes[] = {
3175affc3bSjeremylt   [CEED_COPY_VALUES] = "copy values",
3275affc3bSjeremylt   [CEED_USE_POINTER] = "use pointer",
3375affc3bSjeremylt   [CEED_OWN_POINTER] = "own pointer",
3475affc3bSjeremylt };
3575affc3bSjeremylt 
3675affc3bSjeremylt const char *const CeedTransposeModes[] = {
3775affc3bSjeremylt   [CEED_TRANSPOSE] = "transpose",
3875affc3bSjeremylt   [CEED_NOTRANSPOSE] = "no transpose",
3975affc3bSjeremylt };
4075affc3bSjeremylt 
4175affc3bSjeremylt const char *const CeedEvalModes[] = {
4275affc3bSjeremylt   [CEED_EVAL_NONE] = "none",
4375affc3bSjeremylt   [CEED_EVAL_INTERP] = "interpolation",
4475affc3bSjeremylt   [CEED_EVAL_GRAD] = "gradient",
4575affc3bSjeremylt   [CEED_EVAL_DIV] = "divergence",
4675affc3bSjeremylt   [CEED_EVAL_CURL] = "curl",
4775affc3bSjeremylt   [CEED_EVAL_WEIGHT] = "quadrature weights",
4875affc3bSjeremylt };
4975affc3bSjeremylt 
5075affc3bSjeremylt const char *const CeedQuadModes[] = {
5175affc3bSjeremylt   [CEED_GAUSS] = "Gauss",
5275affc3bSjeremylt   [CEED_GAUSS_LOBATTO] = "Gauss Lobatto",
5375affc3bSjeremylt };
5475affc3bSjeremylt 
5575affc3bSjeremylt const char *const CeedElemTopologies[] = {
5650c301a5SRezgar Shakeri   [CEED_TOPOLOGY_LINE] = "line",
5750c301a5SRezgar Shakeri   [CEED_TOPOLOGY_TRIANGLE] = "triangle",
5850c301a5SRezgar Shakeri   [CEED_TOPOLOGY_QUAD] = "quadrilateral",
5950c301a5SRezgar Shakeri   [CEED_TOPOLOGY_TET] = "tetrahedron",
6050c301a5SRezgar Shakeri   [CEED_TOPOLOGY_PYRAMID] = "pyramid",
6150c301a5SRezgar Shakeri   [CEED_TOPOLOGY_PRISM] = "prism",
6250c301a5SRezgar Shakeri   [CEED_TOPOLOGY_HEX] = "hexahedron",
6375affc3bSjeremylt };
64cdf32b93SJeremy L Thompson 
65cdf32b93SJeremy L Thompson const char *const CeedContextFieldTypes[] = {
66cdf32b93SJeremy L Thompson   [CEED_CONTEXT_FIELD_DOUBLE] = "double",
67cdf32b93SJeremy L Thompson   [CEED_CONTEXT_FIELD_INT32] = "int32",
68cdf32b93SJeremy L Thompson };
6950c301a5SRezgar Shakeri 
7050c301a5SRezgar Shakeri const char *const CeedFESpaces[] = {
7150c301a5SRezgar Shakeri   [CEED_FE_SPACE_H1] = "H^1 space",
7250c301a5SRezgar Shakeri   [CEED_FE_SPACE_HDIV] = "H(div) space",
7350c301a5SRezgar Shakeri };
74