ceed-impl.h (50c301a53d2cec48a2aa861bf6f38393f4831c2f) ceed-impl.h (3668ca4b583f336c0c2dcc810e26e2ac50a514b8)
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.

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

269 int (*HasBorrowedDataOfType)(CeedQFunctionContext, CeedMemType, bool *);
270 int (*SetData)(CeedQFunctionContext, CeedMemType, CeedCopyMode, void *);
271 int (*TakeData)(CeedQFunctionContext, CeedMemType, void *);
272 int (*GetData)(CeedQFunctionContext, CeedMemType, void *);
273 int (*RestoreData)(CeedQFunctionContext);
274 int (*Destroy)(CeedQFunctionContext);
275 CeedInt num_fields;
276 CeedInt max_fields;
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.

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

269 int (*HasBorrowedDataOfType)(CeedQFunctionContext, CeedMemType, bool *);
270 int (*SetData)(CeedQFunctionContext, CeedMemType, CeedCopyMode, void *);
271 int (*TakeData)(CeedQFunctionContext, CeedMemType, void *);
272 int (*GetData)(CeedQFunctionContext, CeedMemType, void *);
273 int (*RestoreData)(CeedQFunctionContext);
274 int (*Destroy)(CeedQFunctionContext);
275 CeedInt num_fields;
276 CeedInt max_fields;
277 CeedQFunctionContextFieldDescription *field_descriptions;
277 CeedContextFieldLabel *field_labels;
278 uint64_t state;
279 size_t ctx_size;
280 void *data;
281};
282
283/// Struct to handle the context data to use the Fortran QFunction stub
284/// @ingroup CeedQFunction
285struct CeedFortranContext_private {

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

297 CeedScalar *v3,CeedScalar *v4,CeedScalar *v5,
298 CeedScalar *v6,CeedScalar *v7,CeedScalar *v8,
299 CeedScalar *v9, CeedScalar *v10,CeedScalar *v11,
300 CeedScalar *v12,CeedScalar *v13,CeedScalar *v14,
301 CeedScalar *v15, int *err);
302};
303typedef struct CeedFortranContext_private *CeedFortranContext;
304
278 uint64_t state;
279 size_t ctx_size;
280 void *data;
281};
282
283/// Struct to handle the context data to use the Fortran QFunction stub
284/// @ingroup CeedQFunction
285struct CeedFortranContext_private {

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

297 CeedScalar *v3,CeedScalar *v4,CeedScalar *v5,
298 CeedScalar *v6,CeedScalar *v7,CeedScalar *v8,
299 CeedScalar *v9, CeedScalar *v10,CeedScalar *v11,
300 CeedScalar *v12,CeedScalar *v13,CeedScalar *v14,
301 CeedScalar *v15, int *err);
302};
303typedef struct CeedFortranContext_private *CeedFortranContext;
304
305struct CeedContextFieldLabel_private {
306 const char *name;
307 const char *description;
308 CeedContextFieldType type;
309 size_t size;
310 size_t offset;
311 CeedInt num_sub_labels;
312 CeedContextFieldLabel *sub_labels;
313};
314
305struct CeedOperatorField_private {
306 CeedElemRestriction elem_restr; /* Restriction from L-vector */
307 CeedBasis basis; /* Basis or CEED_BASIS_COLLOCATED for
308 collocated fields */
309 CeedVector vec; /* State vector for passive fields or
310 CEED_VECTOR_NONE for no vector */
311 const char *field_name; /* matching QFunction field name */
312};

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

350 bool is_composite;
351 bool has_restriction;
352 bool has_qf_assembled;
353 CeedVector qf_assembled;
354 CeedElemRestriction qf_assembled_rstr;
355 CeedOperator *sub_operators;
356 CeedInt num_suboperators;
357 void *data;
315struct CeedOperatorField_private {
316 CeedElemRestriction elem_restr; /* Restriction from L-vector */
317 CeedBasis basis; /* Basis or CEED_BASIS_COLLOCATED for
318 collocated fields */
319 CeedVector vec; /* State vector for passive fields or
320 CEED_VECTOR_NONE for no vector */
321 const char *field_name; /* matching QFunction field name */
322};

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

360 bool is_composite;
361 bool has_restriction;
362 bool has_qf_assembled;
363 CeedVector qf_assembled;
364 CeedElemRestriction qf_assembled_rstr;
365 CeedOperator *sub_operators;
366 CeedInt num_suboperators;
367 void *data;
368 CeedInt num_context_labels;
369 CeedInt max_context_labels;
370 CeedContextFieldLabel *context_labels;
358};
359
360#endif
371};
372
373#endif