| ceed.h (23548e8476229ec188ba8298cd5fc87df9cedd32) | ceed.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. --- 155 unchanged lines hidden (view full) --- 164/// @ingroup CeedQFunctionUser 165typedef struct CeedQFunction_private *CeedQFunction; 166/// Handle for object describing CeedOperator fields 167/// @ingroup CeedOperatorBackend 168typedef struct CeedOperatorField_private *CeedOperatorField; 169/// Handle for object describing context data for CeedQFunctions 170/// @ingroup CeedQFunctionUser 171typedef struct CeedQFunctionContext_private *CeedQFunctionContext; | 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. --- 155 unchanged lines hidden (view full) --- 164/// @ingroup CeedQFunctionUser 165typedef struct CeedQFunction_private *CeedQFunction; 166/// Handle for object describing CeedOperator fields 167/// @ingroup CeedOperatorBackend 168typedef struct CeedOperatorField_private *CeedOperatorField; 169/// Handle for object describing context data for CeedQFunctions 170/// @ingroup CeedQFunctionUser 171typedef struct CeedQFunctionContext_private *CeedQFunctionContext; |
| 172/// Handle for object describing registered fields for CeedQFunctionContext 173/// @ingroup CeedQFunctionUser 174typedef struct CeedContextFieldLabel_private *CeedContextFieldLabel; |
|
| 172/// Handle for object describing FE-type operators acting on vectors 173/// 174/// Given an element restriction \f$E\f$, basis evaluator \f$B\f$, and 175/// quadrature function\f$f\f$, a CeedOperator expresses operations of the form 176/// $$ E^T B^T f(B E u) $$ 177/// acting on the vector \f$u\f$. 178/// @ingroup CeedOperatorUser 179typedef struct CeedOperator_private *CeedOperator; --- 449 unchanged lines hidden (view full) --- 629typedef enum { 630 /// Double precision value 631 CEED_CONTEXT_FIELD_DOUBLE, 632 /// 32 bit integer value 633 CEED_CONTEXT_FIELD_INT32 634} CeedContextFieldType; 635CEED_EXTERN const char *const CeedContextFieldTypes[]; 636 | 175/// Handle for object describing FE-type operators acting on vectors 176/// 177/// Given an element restriction \f$E\f$, basis evaluator \f$B\f$, and 178/// quadrature function\f$f\f$, a CeedOperator expresses operations of the form 179/// $$ E^T B^T f(B E u) $$ 180/// acting on the vector \f$u\f$. 181/// @ingroup CeedOperatorUser 182typedef struct CeedOperator_private *CeedOperator; --- 449 unchanged lines hidden (view full) --- 632typedef enum { 633 /// Double precision value 634 CEED_CONTEXT_FIELD_DOUBLE, 635 /// 32 bit integer value 636 CEED_CONTEXT_FIELD_INT32 637} CeedContextFieldType; 638CEED_EXTERN const char *const CeedContextFieldTypes[]; 639 |
| 637/// Handle for object describing CeedQFunctionContext fields 638/// @ingroup CeedQFunction 639typedef struct { 640 const char *name; 641 const char *description; 642 CeedContextFieldType type; 643 size_t size; 644 size_t offset; 645} CeedQFunctionContextFieldDescription; 646 | |
| 647CEED_EXTERN int CeedQFunctionContextCreate(Ceed ceed, 648 CeedQFunctionContext *ctx); 649CEED_EXTERN int CeedQFunctionContextReferenceCopy(CeedQFunctionContext ctx, 650 CeedQFunctionContext *ctx_copy); 651CEED_EXTERN int CeedQFunctionContextSetData(CeedQFunctionContext ctx, 652 CeedMemType mem_type, CeedCopyMode copy_mode, size_t size, void *data); 653CEED_EXTERN int CeedQFunctionContextTakeData(CeedQFunctionContext ctx, 654 CeedMemType mem_type, void *data); 655CEED_EXTERN int CeedQFunctionContextGetData(CeedQFunctionContext ctx, 656 CeedMemType mem_type, void *data); 657CEED_EXTERN int CeedQFunctionContextRestoreData(CeedQFunctionContext ctx, 658 void *data); 659CEED_EXTERN int CeedQFunctionContextRegisterDouble(CeedQFunctionContext ctx, 660 const char *field_name, size_t field_offset, const char *field_description); 661CEED_EXTERN int CeedQFunctionContextRegisterInt32(CeedQFunctionContext ctx, 662 const char *field_name, size_t field_offset, const char *field_description); | 640CEED_EXTERN int CeedQFunctionContextCreate(Ceed ceed, 641 CeedQFunctionContext *ctx); 642CEED_EXTERN int CeedQFunctionContextReferenceCopy(CeedQFunctionContext ctx, 643 CeedQFunctionContext *ctx_copy); 644CEED_EXTERN int CeedQFunctionContextSetData(CeedQFunctionContext ctx, 645 CeedMemType mem_type, CeedCopyMode copy_mode, size_t size, void *data); 646CEED_EXTERN int CeedQFunctionContextTakeData(CeedQFunctionContext ctx, 647 CeedMemType mem_type, void *data); 648CEED_EXTERN int CeedQFunctionContextGetData(CeedQFunctionContext ctx, 649 CeedMemType mem_type, void *data); 650CEED_EXTERN int CeedQFunctionContextRestoreData(CeedQFunctionContext ctx, 651 void *data); 652CEED_EXTERN int CeedQFunctionContextRegisterDouble(CeedQFunctionContext ctx, 653 const char *field_name, size_t field_offset, const char *field_description); 654CEED_EXTERN int CeedQFunctionContextRegisterInt32(CeedQFunctionContext ctx, 655 const char *field_name, size_t field_offset, const char *field_description); |
| 663CEED_EXTERN int CeedQFunctionContextGetFieldDescriptions(CeedQFunctionContext ctx, 664 const CeedQFunctionContextFieldDescription **field_descriptions, CeedInt *num_fields); | 656CEED_EXTERN int CeedQFunctionContextGetFieldLabel(CeedQFunctionContext ctx, 657 const char *field_name, CeedContextFieldLabel *field_label); 658CEED_EXTERN int CeedQFunctionContextGetAllFieldLabels(CeedQFunctionContext ctx, 659 const CeedContextFieldLabel **field_labels, CeedInt *num_fields); |
| 665CEED_EXTERN int CeedQFunctionContextSetDouble(CeedQFunctionContext ctx, | 660CEED_EXTERN int CeedQFunctionContextSetDouble(CeedQFunctionContext ctx, |
| 666 const char *field_name, double value); | 661 CeedContextFieldLabel field_label, double value); |
| 667CEED_EXTERN int CeedQFunctionContextSetInt32(CeedQFunctionContext ctx, | 662CEED_EXTERN int CeedQFunctionContextSetInt32(CeedQFunctionContext ctx, |
| 668 const char *field_name, int value); | 663 CeedContextFieldLabel field_label, int value); |
| 669CEED_EXTERN int CeedQFunctionContextGetContextSize(CeedQFunctionContext ctx, 670 size_t *ctx_size); 671CEED_EXTERN int CeedQFunctionContextView(CeedQFunctionContext ctx, 672 FILE *stream); 673CEED_EXTERN int CeedQFunctionContextDestroy(CeedQFunctionContext *ctx); 674 675CEED_EXTERN int CeedOperatorCreate(Ceed ceed, CeedQFunction qf, 676 CeedQFunction dqf, CeedQFunction dqfT, --- 40 unchanged lines hidden (view full) --- 717CEED_EXTERN int CeedOperatorCreateFDMElementInverse(CeedOperator op, 718 CeedOperator *fdm_inv, CeedRequest *request); 719CEED_EXTERN int CeedOperatorSetNumQuadraturePoints(CeedOperator op, CeedInt num_qpts); 720CEED_EXTERN int CeedOperatorView(CeedOperator op, FILE *stream); 721CEED_EXTERN int CeedOperatorGetCeed(CeedOperator op, Ceed *ceed); 722CEED_EXTERN int CeedOperatorGetNumElements(CeedOperator op, CeedInt *num_elem); 723CEED_EXTERN int CeedOperatorGetNumQuadraturePoints(CeedOperator op, 724 CeedInt *num_qpts); | 664CEED_EXTERN int CeedQFunctionContextGetContextSize(CeedQFunctionContext ctx, 665 size_t *ctx_size); 666CEED_EXTERN int CeedQFunctionContextView(CeedQFunctionContext ctx, 667 FILE *stream); 668CEED_EXTERN int CeedQFunctionContextDestroy(CeedQFunctionContext *ctx); 669 670CEED_EXTERN int CeedOperatorCreate(Ceed ceed, CeedQFunction qf, 671 CeedQFunction dqf, CeedQFunction dqfT, --- 40 unchanged lines hidden (view full) --- 712CEED_EXTERN int CeedOperatorCreateFDMElementInverse(CeedOperator op, 713 CeedOperator *fdm_inv, CeedRequest *request); 714CEED_EXTERN int CeedOperatorSetNumQuadraturePoints(CeedOperator op, CeedInt num_qpts); 715CEED_EXTERN int CeedOperatorView(CeedOperator op, FILE *stream); 716CEED_EXTERN int CeedOperatorGetCeed(CeedOperator op, Ceed *ceed); 717CEED_EXTERN int CeedOperatorGetNumElements(CeedOperator op, CeedInt *num_elem); 718CEED_EXTERN int CeedOperatorGetNumQuadraturePoints(CeedOperator op, 719 CeedInt *num_qpts); |
| 725CEED_EXTERN int CeedOperatorContextSetDouble(CeedOperator op, const char *field_name, 726 double value); 727CEED_EXTERN int CeedOperatorContextSetInt32(CeedOperator op, const char *field_name, 728 int value); | 720CEED_EXTERN int CeedOperatorContextGetFieldLabel(CeedOperator op, 721 const char *field_name, CeedContextFieldLabel *field_label); 722CEED_EXTERN int CeedOperatorContextSetDouble(CeedOperator op, 723 CeedContextFieldLabel field_label, double value); 724CEED_EXTERN int CeedOperatorContextSetInt32(CeedOperator op, 725 CeedContextFieldLabel field_label, int value); |
| 729CEED_EXTERN int CeedOperatorApply(CeedOperator op, CeedVector in, 730 CeedVector out, CeedRequest *request); 731CEED_EXTERN int CeedOperatorApplyAdd(CeedOperator op, CeedVector in, 732 CeedVector out, CeedRequest *request); 733CEED_EXTERN int CeedOperatorDestroy(CeedOperator *op); 734 735CEED_EXTERN int CeedOperatorFieldGetName(CeedOperatorField op_field, 736 char **field_name); --- 57 unchanged lines hidden --- | 726CEED_EXTERN int CeedOperatorApply(CeedOperator op, CeedVector in, 727 CeedVector out, CeedRequest *request); 728CEED_EXTERN int CeedOperatorApplyAdd(CeedOperator op, CeedVector in, 729 CeedVector out, CeedRequest *request); 730CEED_EXTERN int CeedOperatorDestroy(CeedOperator *op); 731 732CEED_EXTERN int CeedOperatorFieldGetName(CeedOperatorField op_field, 733 char **field_name); --- 57 unchanged lines hidden --- |