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