warp.fem.ImplicitField#
- class warp.fem.ImplicitField(
- domain,
- func,
- values=None,
- grad_func=None,
- div_func=None,
- degree=0,
Field defined from an arbitrary function over a domain. Does not support autodiff yet, so if gradient/divergence evaluation is required corresponding functions must be provided.
- Parameters:
domain (GeometryDomain) – Domain over which the field is defined
func (Function) – Warp function evaluating the field at a given position. Must accept at least one argument, with the first argument being the evaluation position (
wp.vec2orwp.vec3).values (dict[str, Any] | None) – Optional dictionary of additional argument values to be passed to the evaluation function.
grad_func (Function | None) – Optional gradient evaluation function; must take same arguments as func
div_func (Function | None) – Optional divergence evaluation function; must take same arguments as func
degree – Optional hint for automatic determination of quadrature orders when integrating this field
Methods
__init__(domain, func[, values, grad_func, ...])eval_arg_value(device)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 the field-level arguments to be passed to device functions
make_deformed_geometry([relative])Returns a deformed version of the underlying geometry, with positions displaced according to this field's values.
notify_operator_usage(ops)Makes the Domain aware that the operators ops will be applied
trace()Attributes
divergence_dtypeReturn type of the divergence operator.
gradient_dtypeReturn type of the (world space) gradient operator.
reference_gradient_dtypeReturn type of the reference space gradient operator.
EvalArgStructure containing field-level arguments passed to device functions for field evaluation
ElementEvalArgStructure combining geometry-level and field-level arguments passed to device functions for field evaluation
- property element_kind: ElementKind[source]#