CeedOperator¶
-
typedef struct CeedOperatorField_private *CeedOperatorField¶
Handle for object describing CeedOperator fields.
-
int CeedOperatorGetNumArgs(CeedOperator op, CeedInt *num_args)¶
Get the number of arguments associated with a CeedOperator.
Backend Developer Functions
- Parameters
op – [in] CeedOperator
num_args – [out] Variable to store vector number of arguments
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedOperatorIsSetupDone(CeedOperator op, bool *is_setup_done)¶
Get the setup status of a CeedOperator.
Backend Developer Functions
- Parameters
op – [in] CeedOperator
is_setup_done – [out] Variable to store setup status
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedOperatorGetQFunction(CeedOperator op, CeedQFunction *qf)¶
Get the QFunction associated with a CeedOperator.
Backend Developer Functions
- Parameters
op – [in] CeedOperator
qf – [out] Variable to store QFunction
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedOperatorIsComposite(CeedOperator op, bool *is_composite)¶
Get a boolean value indicating if the CeedOperator is composite.
Backend Developer Functions
- Parameters
op – [in] CeedOperator
is_composite – [out] Variable to store composite status
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedOperatorGetData(CeedOperator op, void *data)¶
Get the backend data of a CeedOperator.
Backend Developer Functions
- Parameters
op – [in] CeedOperator
data – [out] Variable to store data
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedOperatorSetData(CeedOperator op, void *data)¶
Set the backend data of a CeedOperator.
Backend Developer Functions
- Parameters
op – [inout] CeedOperator
data – [in] Data to set
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedOperatorReference(CeedOperator op)¶
Increment the reference counter for a CeedOperator.
Backend Developer Functions
- Parameters
op – [inout] CeedOperator to increment the reference counter
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedOperatorSetSetupDone(CeedOperator op)¶
Set the setup flag of a CeedOperator to True.
Backend Developer Functions
- Parameters
op – [inout] CeedOperator
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedQFunctionAssemblyDataCreate(Ceed ceed, CeedQFunctionAssemblyData *data)¶
Create object holding CeedQFunction assembly data for CeedOperator.
Backend Developer Functions
- Parameters
ceed – [in] A Ceed object where the CeedQFunctionAssemblyData will be created
data – [out] Address of the variable where the newly created CeedQFunctionAssemblyData will be stored
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedQFunctionAssemblyDataReference(CeedQFunctionAssemblyData data)¶
Increment the reference counter for a CeedQFunctionAssemblyData.
Backend Developer Functions
- Parameters
data – [inout] CeedQFunctionAssemblyData to increment the reference counter
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedQFunctionAssemblyDataSetReuse(CeedQFunctionAssemblyData data, bool reuse_data)¶
Set re-use of CeedQFunctionAssemblyData.
Backend Developer Functions
- Parameters
data – [inout] CeedQFunctionAssemblyData to mark for reuse
reuse_data – [in] Boolean flag indicating data re-use
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedQFunctionAssemblyDataSetUpdateNeeded(CeedQFunctionAssemblyData data, bool needs_data_update)¶
Mark QFunctionAssemblyData as stale.
Backend Developer Functions
- Parameters
data – [inout] CeedQFunctionAssemblyData to mark as stale
needs_data_update – [in] Boolean flag indicating if update is needed or completed
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedQFunctionAssemblyDataIsUpdateNeeded(CeedQFunctionAssemblyData data, bool *is_update_needed)¶
Determine if QFunctionAssemblyData needs update.
Backend Developer Functions
- Parameters
data – [in] CeedQFunctionAssemblyData to mark as stale
is_update_needed – [out] Boolean flag indicating if re-assembly is required
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedQFunctionAssemblyDataReferenceCopy(CeedQFunctionAssemblyData data, CeedQFunctionAssemblyData *data_copy)¶
Copy the pointer to a CeedQFunctionAssemblyData.
Both pointers should be destroyed with
CeedCeedQFunctionAssemblyDataDestroy()
.Note: If the value of
data_copy
passed to this function is non-NULL, then it is assumed that*data_copy
is a pointer to a CeedQFunctionAssemblyData. This CeedQFunctionAssemblyData will be destroyed ifdata_copy
is the only reference to this CeedQFunctionAssemblyData.Backend Developer Functions
- Parameters
data – [in] CeedQFunctionAssemblyData to copy reference to
data_copy – [inout] Variable to store copied reference
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedQFunctionAssemblyDataIsSetup(CeedQFunctionAssemblyData data, bool *is_setup)¶
Get setup status for internal objects for CeedQFunctionAssemblyData.
Backend Developer Functions
- Parameters
data – [in] CeedQFunctionAssemblyData to retrieve status
is_setup – [out] Boolean flag for setup status
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedQFunctionAssemblyDataSetObjects(CeedQFunctionAssemblyData data, CeedVector vec, CeedElemRestriction rstr)¶
Set internal objects for CeedQFunctionAssemblyData.
Backend Developer Functions
- Parameters
data – [inout] CeedQFunctionAssemblyData to set objects
vec – [in] CeedVector to store assembled CeedQFunction at quadrature points
rstr – [in] CeedElemRestriction for CeedVector containing assembled CeedQFunction
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedQFunctionAssemblyDataGetObjects(CeedQFunctionAssemblyData data, CeedVector *vec, CeedElemRestriction *rstr)¶
-
int CeedQFunctionAssemblyDataDestroy(CeedQFunctionAssemblyData *data)¶
Destroy CeedQFunctionAssemblyData.
Backend Developer Functions
- Parameters
data – [inout] CeedQFunctionAssemblyData to destroy
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedOperatorGetOperatorAssemblyData(CeedOperator op, CeedOperatorAssemblyData *data)¶
Get CeedOperatorAssemblyData.
Backend Developer Functions
- Parameters
op – [in] CeedOperator to assemble
data – [out] CeedQFunctionAssemblyData
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedOperatorAssemblyDataCreate(Ceed ceed, CeedOperator op, CeedOperatorAssemblyData *data)¶
Create object holding CeedOperator assembly data.
The CeedOperatorAssemblyData holds an array with references to every active CeedBasis used in the CeedOperator. An array with references to the corresponding active CeedElemRestrictions is also stored. For each active CeedBasis, the CeedOperatorAssemblyData holds an array of all input and output CeedEvalModes for this CeedBasis. The CeedOperatorAssemblyData holds an array of offsets for indexing into the assembled CeedQFunction arrays to the row representing each CeedEvalMode. The number of input columns across all active bases for the assembled CeedQFunction is also stored. Lastly, the CeedOperatorAssembly data holds assembled matrices representing the full action of the CeedBasis for all CeedEvalModes.
Backend Developer Functions
- Parameters
ceed – [in] Ceed object where the CeedOperatorAssemblyData will be created
op – [in] CeedOperator to be assembled
data – [out] Address of the variable where the newly created CeedOperatorAssemblyData will be stored
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedOperatorAssemblyDataGetEvalModes(CeedOperatorAssemblyData data, CeedInt *num_active_bases, CeedInt **num_eval_modes_in, const CeedEvalMode ***eval_modes_in, CeedSize ***eval_mode_offsets_in, CeedInt **num_eval_modes_out, const CeedEvalMode ***eval_modes_out, CeedSize ***eval_mode_offsets_out, CeedSize *num_output_components)¶
Get CeedOperator CeedEvalModes for assembly.
Note: See CeedOperatorAssemblyDataCreate for a full description of the data stored in this object.
Backend Developer Functions
- Parameters
data – [in] CeedOperatorAssemblyData
num_active_bases – [out] Total number of active bases
num_eval_modes_in – [out] Pointer to hold array of numbers of input CeedEvalModes, or NULL.
eval_modes_in[0]
holds an array of eval modes for the first active basis.eval_modes_in – [out] Pointer to hold arrays of input CeedEvalModes, or NULL.
eval_mode_offsets_in – [out] Pointer to hold arrays of input offsets at each quadrature point.
num_eval_modes_out – [out] Pointer to hold array of numbers of output CeedEvalModes, or NULL
eval_modes_out – [out] Pointer to hold arrays of output CeedEvalModes, or NULL.
eval_mode_offsets_out – [out] Pointer to hold arrays of output offsets at each quadrature point
num_output_components – [out] The number of columns in the assembled CeedQFunction matrix for each quadrature point, including contributions of all active bases
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedOperatorAssemblyDataGetBases(CeedOperatorAssemblyData data, CeedInt *num_active_bases, CeedBasis **active_bases, const CeedScalar ***assembled_bases_in, const CeedScalar ***assembled_bases_out)¶
Get CeedOperator CeedBasis data for assembly.
Note: See CeedOperatorAssemblyDataCreate for a full description of the data stored in this object.
Backend Developer Functions
- Parameters
data – [in] CeedOperatorAssemblyData
num_active_bases – [out] Number of active bases, or NULL
active_bases – [out] Pointer to hold active CeedBasis, or NULL
assembled_bases_in – [out] Pointer to hold assembled active input B, or NULL
assembled_bases_out – [out] Pointer to hold assembled active output B, or NULL
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedOperatorAssemblyDataGetElemRestrictions(CeedOperatorAssemblyData data, CeedInt *num_active_elem_rstrs, CeedElemRestriction **active_elem_rstrs)¶
Get CeedOperator CeedBasis data for assembly.
Note: See CeedOperatorAssemblyDataCreate for a full description of the data stored in this object.
Backend Developer Functions
- Parameters
data – [in] CeedOperatorAssemblyData
num_active_elem_rstrs – [out] Number of active element restrictions, or NULL
active_elem_rstrs – [out] Pointer to hold active CeedElemRestrictions, or NULL
- Returns
An error code: 0 - success, otherwise - failure
-
int CeedOperatorAssemblyDataDestroy(CeedOperatorAssemblyData *data)¶
Destroy CeedOperatorAssemblyData.
Backend Developer Functions
- Parameters
data – [inout] CeedOperatorAssemblyData to destroy
- Returns
An error code: 0 - success, otherwise - failure