xref: /libCEED/include/ceed/fortran.h (revision bc7bbd5dca53df9bb3e78c945912120808c904be)
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 ! CeedScalarType
35 !-----------------------------------------------------------------------
36 
37       integer ceed_scalar_fp32
38       parameter(ceed_scalar_fp32 = 0)
39 
40       integer ceed_scalar_fp64
41       parameter(ceed_scalar_fp64 = 1)
42 
43 !-----------------------------------------------------------------------
44 ! CeedCopyMode
45 !-----------------------------------------------------------------------
46 
47       integer ceed_copy_values
48       parameter(ceed_copy_values = 0)
49 
50       integer ceed_use_pointer
51       parameter(ceed_use_pointer = 1)
52 
53       integer ceed_own_pointer
54       parameter(ceed_own_pointer = 2)
55 
56 !-----------------------------------------------------------------------
57 ! CeedRequest related
58 !-----------------------------------------------------------------------
59 
60       integer ceed_request_immediate
61       parameter(ceed_request_immediate = -1)
62 
63       integer ceed_request_ordered
64       parameter(ceed_request_ordered   = -2)
65 
66 !-----------------------------------------------------------------------
67 ! Null
68 !-----------------------------------------------------------------------
69 
70       integer ceed_null
71       parameter(ceed_null = -3)
72 
73 !-----------------------------------------------------------------------
74 ! CeedNormType
75 !-----------------------------------------------------------------------
76 
77       integer ceed_norm_1
78       parameter(ceed_norm_1      = 0 )
79 
80       integer ceed_norm_2
81       parameter(ceed_norm_2      = 1 )
82 
83       integer ceed_norm_max
84       parameter(ceed_norm_max    = 2 )
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        = int(z'10000') )
141 
142       integer ceed_triangle
143       parameter(ceed_triangle    = int(z'20001') )
144 
145       integer ceed_quad
146       parameter(ceed_quad        = int(z'20002') )
147 
148       integer ceed_tet
149       parameter(ceed_tet         = int(z'30003') )
150 
151       integer ceed_pryamid
152       parameter(ceed_pryamid     = int(z'30004') )
153 
154       integer ceed_prism
155       parameter(ceed_prism       = int(z'30005') )
156 
157       integer ceed_hex
158       parameter(ceed_hex         = int(z'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 
179 ! -*- fortran-mode -*-
180