warp.fem.NonconformingField#

class warp.fem.NonconformingField(domain, field, background=0.0)[source]#

Field defined as the map of a DiscreteField over a non-conforming geometry.

Parameters:
  • domain (GeometryDomain) – The new domain over which the nonconforming field will be evaluated

  • field (DiscreteField) – Nonconforming discrete field

  • background (Any) – Uniform value or domain-conforming field determining the value outside of the geometry of definition of field

__init__(domain, field, background=0.0)[source]#
Parameters:

Methods

__init__(domain, field[, background])

divergence_valid()

Whether divergence evaluation is available.

eval_arg_value(device)

Value of the field-level arguments to be passed to device functions

eval_degree(args)

Polynomial degree of the field is applicable, or hint for determination of interpolation order

eval_div_inner(args, s)

Device function evaluating the inner field divergence at a sample point

eval_div_outer(args, s)

Device function evaluating the outer field divergence at a sample point

eval_grad_inner(args, s)

Device function evaluating the inner field gradient at a sample point

eval_grad_outer(args, s)

Device function evaluating the outer field gradient at a sample point

eval_inner(args, s)

Device function evaluating the inner field value at a sample point

eval_outer(args, s)

Device function evaluating the outer field value at a sample point

eval_reference_grad_inner(args, s)

Device function evaluating the inner field gradient with respect to reference element coordinates at a sample point

eval_reference_grad_outer(args, s)

Device function evaluating the outer field gradient with respect to reference element coordinates at a sample point

fill_eval_arg(arg, device)

Fill evaluation arguments for device functions.

gradient_valid()

Whether gradient evaluation is available.

make_deformed_geometry([relative])

Return a deformed version of the underlying geometry, with positions displaced according to this field's values.

notify_operator_usage(ops)

Make the Domain aware that the operators ops will be applied.

trace()

Return the trace of this field on domain sides.

Attributes

degree

Polynomial degree of the field.

divergence_dtype

Return type of the divergence operator.

dtype

Data type of the field values.

element_kind

Kind of elements over which the field is defined.

geometry

Underlying geometry of the domain.

gradient_dtype

Return type of the (world space) gradient operator.

name

Unique name encoding the domain and backing fields.

reference_gradient_dtype

Return type of the reference space gradient operator.

EvalArg

Structure containing field-level arguments passed to device functions for field evaluation.

ElementEvalArg

Structure combining geometry-level and field-level arguments passed to device functions for field evaluation.

property geometry: Geometry[source]#

Underlying geometry of the domain.

property element_kind: ElementKind[source]#

Kind of elements over which the field is defined.

property dtype: type[source]#

Data type of the field values.

fill_eval_arg(arg, device)[source]#

Fill evaluation arguments for device functions.

property degree: int[source]#

Polynomial degree of the field.

gradient_valid()[source]#

Whether gradient evaluation is available.

Return type:

bool

divergence_valid()[source]#

Whether divergence evaluation is available.

Return type:

bool

property name: str#

Unique name encoding the domain and backing fields.

trace()[source]#

Return the trace of this field on domain sides.