xref: /libCEED/include/ceedf.h (revision 621cd4619de62aa879af10f6c433e7e1cbbb1a1b)
1 ! Copyright (c) 2017, Lawrence Livermore National Security, LLC. Produced at
2 ! the Lawrence Livermore National Laboratory. LLNL-CODE-734707. All Rights
3 ! reserved. See files LICENSE and NOTICE for details.
4 !
5 ! This file is part of CEED, a collection of benchmarks, miniapps, software
6 ! libraries and APIs for efficient high-order finite element and spectral
7 ! element discretizations for exascale applications. For more information and
8 ! source code availability see http://github.com/ceed.
9 !
10 ! The CEED research is supported by the Exascale Computing Project 17-SC-20-SC,
11 ! a collaborative effort of two U.S. Department of Energy organizations (Office
12 ! of Science and the National Nuclear Security Administration) responsible for
13 ! the planning and preparation of a capable exascale ecosystem, including
14 ! software, applications, hardware, advanced system engineering and early
15 ! testbed platforms, in support of the nation's exascale computing imperative.
16 !
17 !-----------------------------------------------------------------------
18 !
19 !-----------------------------------------------------------------------
20 ! Dummy parameters for CEED Fortran 77+ stubs
21 !-----------------------------------------------------------------------
22 
23 !-----------------------------------------------------------------------
24 ! CeedMemType
25 !-----------------------------------------------------------------------
26 
27       integer ceed_mem_host
28       parameter(ceed_mem_host   = 0)
29 
30       integer ceed_mem_device
31       parameter(ceed_mem_device = 1)
32 
33 !-----------------------------------------------------------------------
34 ! CeedCopyMode
35 !-----------------------------------------------------------------------
36 
37       integer ceed_copy_values
38       parameter(ceed_copy_values = 0)
39 
40       integer ceed_use_pointer
41       parameter(ceed_use_pointer = 1)
42 
43       integer ceed_own_pointer
44       parameter(ceed_own_pointer = 2)
45 
46 !-----------------------------------------------------------------------
47 ! CeedRequest related
48 !-----------------------------------------------------------------------
49 
50       integer ceed_request_immediate
51       parameter(ceed_request_immediate = -1)
52 
53       integer ceed_request_ordered
54       parameter(ceed_request_ordered   = -2)
55 
56 !-----------------------------------------------------------------------
57 ! Null
58 !-----------------------------------------------------------------------
59 
60       integer ceed_null
61       parameter(ceed_null = -3)
62 
63 !-----------------------------------------------------------------------
64 ! CeedNormType
65 !-----------------------------------------------------------------------
66 
67       integer ceed_norm_1
68       parameter(ceed_norm_1      = 0 )
69 
70       integer ceed_norm_2
71       parameter(ceed_norm_2      = 1 )
72 
73       integer ceed_norm_max
74       parameter(ceed_norm_max    = 2 )
75 
76 !-----------------------------------------------------------------------
77 ! CeedInterlaceMode
78 !-----------------------------------------------------------------------
79 
80       integer ceed_noninterlaced
81       parameter(ceed_noninterlaced = 0)
82 
83       integer ceed_interlaced
84       parameter(ceed_interlaced = 1)
85 
86 !-----------------------------------------------------------------------
87 ! Ceed Strides Constant
88 !-----------------------------------------------------------------------
89 
90       integer ceed_strides_backend
91       parameter(ceed_strides_backend     = -4)
92 
93 !-----------------------------------------------------------------------
94 ! CeedTransposeMode
95 !-----------------------------------------------------------------------
96 
97       integer ceed_notranspose
98       parameter(ceed_notranspose = 0)
99 
100       integer ceed_transpose
101       parameter(ceed_transpose   = 1)
102 
103 !-----------------------------------------------------------------------
104 ! CeedEvalMode
105 !-----------------------------------------------------------------------
106 
107       integer ceed_eval_none
108       parameter(ceed_eval_none   = 0 )
109 
110       integer ceed_eval_interp
111       parameter(ceed_eval_interp = 1 )
112 
113       integer ceed_eval_grad
114       parameter(ceed_eval_grad   = 2 )
115 
116       integer ceed_eval_div
117       parameter(ceed_eval_div    = 4 )
118 
119       integer ceed_eval_curl
120       parameter(ceed_eval_curl   = 8 )
121 
122       integer ceed_eval_weight
123       parameter(ceed_eval_weight = 16)
124 
125 !-----------------------------------------------------------------------
126 ! CeedQuadMode
127 !-----------------------------------------------------------------------
128 
129       integer ceed_gauss
130       parameter(ceed_gauss         = 0)
131 
132       integer ceed_gauss_lobatto
133       parameter(ceed_gauss_lobatto = 1)
134 
135 !-----------------------------------------------------------------------
136 ! CeedElemTopology
137 !-----------------------------------------------------------------------
138 
139       integer ceed_line
140       parameter(ceed_line        = X'10000' )
141 
142       integer ceed_triangle
143       parameter(ceed_triangle    = X'20001' )
144 
145       integer ceed_quad
146       parameter(ceed_quad        = X'20002' )
147 
148       integer ceed_tet
149       parameter(ceed_tet         = X'30003' )
150 
151       integer ceed_pryamid
152       parameter(ceed_pryamid     = X'30004' )
153 
154       integer ceed_prism
155       parameter(ceed_prism       = X'30005' )
156 
157       integer ceed_hex
158       parameter(ceed_hex         = X'30006' )
159 
160 !-----------------------------------------------------------------------
161 ! Operator and OperatorField Constants
162 !-----------------------------------------------------------------------
163 
164       integer ceed_vector_active
165       parameter(ceed_vector_active        = -5)
166 
167       integer ceed_vector_none
168       parameter(ceed_vector_none          = -6)
169 
170       integer ceed_elemrestriction_none
171       parameter(ceed_elemrestriction_none = -7)
172 
173       integer ceed_basis_collocated
174       parameter(ceed_basis_collocated     = -8)
175 
176       integer ceed_qfunction_none
177       parameter(ceed_qfunction_none       = -9)
178