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