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 – 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 – 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 – 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 – CeedOperator

  • is_composite[out] Variable to store composite status

Returns

An error code: 0 - success, otherwise - failure

int CeedOperatorGetNumSub(CeedOperator op, CeedInt *num_suboperators)

Get the number of sub_operators associated with a CeedOperator.

Backend Developer Functions

Parameters
  • op – CeedOperator

  • num_suboperators[out] Variable to store number of sub_operators

Returns

An error code: 0 - success, otherwise - failure

int CeedOperatorGetSubList(CeedOperator op, CeedOperator **sub_operators)

Get the list of sub_operators associated with a CeedOperator.

Backend Developer Functions

Parameters
  • op – CeedOperator

  • sub_operators[out] Variable to store list of sub_operators

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 – 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[out] CeedOperator

  • data – 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 – 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 – 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 – 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 – CeedQFunctionAssemblyData to mark for reuse

  • reuse_data – 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 – CeedQFunctionAssemblyData to mark as stale

  • needs_data_update – 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 *data_copy is non-NULL, then it is assumed that *data_copy is a pointer to a CeedQFunctionAssemblyData. This CeedQFunctionAssemblyData will be destroyed if *data_copy is the only reference to this CeedQFunctionAssemblyData.

Backend Developer Functions

Parameters
  • data – CeedQFunctionAssemblyData to copy reference to

  • data_copy[out] 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 retreive 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[in] 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[out] 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.

Backend Developer Functions

Parameters
  • ceed[in] A 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_eval_mode_in, const CeedEvalMode **eval_mode_in, CeedInt *num_eval_mode_out, const CeedEvalMode **eval_mode_out)

Get CeedOperator CeedEvalModes for assembly.

Backend Developer Functions

Parameters
  • data[in] CeedOperatorAssemblyData

  • num_eval_mode_in[out] Pointer to hold number of input CeedEvalModes, or NULL

  • eval_mode_in[out] Pointer to hold input CeedEvalModes, or NULL

  • num_eval_mode_out[out] Pointer to hold number of output CeedEvalModes, or NULL

  • eval_mode_out[out] Pointer to hold output CeedEvalModes, or NULL

Returns

An error code: 0 - success, otherwise - failure

int CeedOperatorAssemblyDataGetBases(CeedOperatorAssemblyData data, CeedBasis *basis_in, const CeedScalar **B_in, CeedBasis *basis_out, const CeedScalar **B_out)

Get CeedOperator CeedBasis data for assembly.

Backend Developer Functions

Parameters
  • data[in] CeedOperatorAssemblyData

  • basis_in[out] Pointer to hold active input CeedBasis, or NULL

  • B_in[out] Pointer to hold assembled active input B, or NULL

  • basis_out[out] Pointer to hold active output CeedBasis, or NULL

  • B_out[out] Pointer to hold assembled active output B, or NULL

Returns

An error code: 0 - success, otherwise - failure

int CeedOperatorAssemblyDataDestroy(CeedOperatorAssemblyData *data)

Destroy CeedOperatorAssemblyData.

Backend Developer Functions

Parameters
  • data[out] CeedOperatorAssemblyData to destroy

Returns

An error code: 0 - success, otherwise - failure