Operator

LibCEED.OperatorType
Operator(ceed::Ceed; qf, dqf=QFunctionNone(), dqfT=QFunctionNone(), fields)

Creates a libCEED CeedOperator object using the given Q-function qf, and optionally its derivative and derivative transpose.

An array of fields must be provided, where each element of the array is a tuple containing the name of the field (as a string or symbol), the corresponding element restriction, basis, and vector.

Examples

Create the operator that builds the Q-data associated with the mass matrix.

build_oper = Operator(
    ceed,
    qf=build_qfunc,
    fields=[
        (:J, mesh_rstr, mesh_basis, CeedVectorActive()),
        (:w, ElemRestrictionNone(), mesh_basis, CeedVectorNone()),
        (:qdata, sol_rstr_i, BasisNone(), CeedVectorActive())
    ]
)
source
LibCEED.apply!Method
apply!(op::Operator, vin, vout; request=RequestImmediate())

Apply the action of the operator op to the input vector vin, and store the result in the output vector vout.

For non-blocking application, the user can specify a request object. By default, immediate (synchronous) completion is requested.

source
LibCEED.apply_add!Function
apply_add!(op::Operator, vin, vout; request=RequestImmediate())

Apply the action of the operator op to the input vector vin, and add the result to the output vector vout.

For non-blocking application, the user can specify a request object. By default, immediate (synchronous) completion is requested.

source