ceed-impl.h (4b35598d4ab61368abe61b9309f3efc1d5444b46) ceed-impl.h (c8c3fa7d27bffffddcff68a8a1d51314e0358a98)
1// Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors.
2// All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
3//
4// SPDX-License-Identifier: BSD-2-Clause
5//
6// This file is part of CEED: http://github.com/ceed
7
8/// @file

--- 161 unchanged lines hidden (view full) ---

170 uint64_t num_readers; /* number of instances of offset read only access */
171 bool is_oriented; /* flag for oriented restriction */
172 void *data; /* place for the backend to store any data */
173};
174
175struct CeedBasis_private {
176 Ceed ceed;
177 int (*Apply)(CeedBasis, CeedInt, CeedTransposeMode, CeedEvalMode, CeedVector, CeedVector);
1// Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors.
2// All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
3//
4// SPDX-License-Identifier: BSD-2-Clause
5//
6// This file is part of CEED: http://github.com/ceed
7
8/// @file

--- 161 unchanged lines hidden (view full) ---

170 uint64_t num_readers; /* number of instances of offset read only access */
171 bool is_oriented; /* flag for oriented restriction */
172 void *data; /* place for the backend to store any data */
173};
174
175struct CeedBasis_private {
176 Ceed ceed;
177 int (*Apply)(CeedBasis, CeedInt, CeedTransposeMode, CeedEvalMode, CeedVector, CeedVector);
178 int (*ApplyAtPoints)(CeedBasis, CeedInt, CeedTransposeMode, CeedEvalMode, CeedVector, CeedVector, CeedVector);
178 int (*Destroy)(CeedBasis);
179 int ref_count;
180 bool is_tensor_basis; /* flag for tensor basis */
181 CeedInt dim; /* topological dimension */
182 CeedElemTopology topo; /* element topology */
183 CeedInt num_comp; /* number of field components (1 for scalar fields) */
184 CeedInt P_1d; /* number of nodes in one dimension */
185 CeedInt Q_1d; /* number of quadrature points in one dimension */

--- 6 unchanged lines hidden (view full) ---

192 CeedScalar *interp; /* row-major matrix of shape [Q, P] or [dim * Q, P] expressing the values of nodal basis functions or vector basis functions at
193 quadrature points */
194 CeedScalar *interp_1d; /* row-major matrix of shape [Q1d, P1d] expressing the values of nodal basis functions at quadrature points */
195 CeedScalar *grad; /* row-major matrix of shape [dim * Q, P] matrix expressing derivatives of nodal basis functions at quadrature points */
196 CeedScalar *grad_1d; /* row-major matrix of shape [Q1d, P1d] matrix expressing derivatives of nodal basis functions at quadrature points */
197 CeedScalar *div; /* row-major matrix of shape [Q, P] expressing the divergence of basis functions at quadrature points for H(div) discretizations */
198 CeedScalar *curl; /* row-major matrix of shape [curl_dim * Q, P], curl_dim = 1 if dim < 3 else dim, expressing the curl of basis functions at
199 quadrature points for H(curl) discretizations */
179 int (*Destroy)(CeedBasis);
180 int ref_count;
181 bool is_tensor_basis; /* flag for tensor basis */
182 CeedInt dim; /* topological dimension */
183 CeedElemTopology topo; /* element topology */
184 CeedInt num_comp; /* number of field components (1 for scalar fields) */
185 CeedInt P_1d; /* number of nodes in one dimension */
186 CeedInt Q_1d; /* number of quadrature points in one dimension */

--- 6 unchanged lines hidden (view full) ---

193 CeedScalar *interp; /* row-major matrix of shape [Q, P] or [dim * Q, P] expressing the values of nodal basis functions or vector basis functions at
194 quadrature points */
195 CeedScalar *interp_1d; /* row-major matrix of shape [Q1d, P1d] expressing the values of nodal basis functions at quadrature points */
196 CeedScalar *grad; /* row-major matrix of shape [dim * Q, P] matrix expressing derivatives of nodal basis functions at quadrature points */
197 CeedScalar *grad_1d; /* row-major matrix of shape [Q1d, P1d] matrix expressing derivatives of nodal basis functions at quadrature points */
198 CeedScalar *div; /* row-major matrix of shape [Q, P] expressing the divergence of basis functions at quadrature points for H(div) discretizations */
199 CeedScalar *curl; /* row-major matrix of shape [curl_dim * Q, P], curl_dim = 1 if dim < 3 else dim, expressing the curl of basis functions at
200 quadrature points for H(curl) discretizations */
200 void *data; /* place for the backend to store any data */
201 CeedVector vec_chebyshev;
202 CeedBasis basis_chebyshev; /* basis interpolating from nodes to Chebyshev polynomial coefficients */
203 void *data; /* place for the backend to store any data */
201};
202
203struct CeedTensorContract_private {
204 Ceed ceed;
205 int (*Apply)(CeedTensorContract, CeedInt, CeedInt, CeedInt, CeedInt, const CeedScalar *restrict, CeedTransposeMode, const CeedInt,
206 const CeedScalar *restrict, CeedScalar *restrict);
207 int (*Destroy)(CeedTensorContract);
208 int ref_count;

--- 159 unchanged lines hidden ---
204};
205
206struct CeedTensorContract_private {
207 Ceed ceed;
208 int (*Apply)(CeedTensorContract, CeedInt, CeedInt, CeedInt, CeedInt, const CeedScalar *restrict, CeedTransposeMode, const CeedInt,
209 const CeedScalar *restrict, CeedScalar *restrict);
210 int (*Destroy)(CeedTensorContract);
211 int ref_count;

--- 159 unchanged lines hidden ---