warp.fem.geometry.DeformedGeometry#
- class warp.fem.geometry.DeformedGeometry(field, relative=True, build_bvh=False)[source]#
-
- __init__(field, relative=True, build_bvh=False)[source]#
Constructs a Deformed Geometry from a displacement or absolute position field defined over a base geometry. The deformation field does not need to be isoparameteric.
See also:
warp.fem.GeometryField.make_deformed_geometry()- Parameters:
field (GeometryField)
relative (bool)
build_bvh (bool)
Methods
__init__(field[, relative, build_bvh])Constructs a Deformed Geometry from a displacement or absolute position field defined over a base geometry.
boundary_side_count()Number of boundary sides (sides with a single neighbour cell) in the geometry
boundary_side_index(args, boundary_side_index)Device function returning the side index corresponding to a boundary side
build_bvh([device])Rebuilds the geometry's Bounding Volume Hierarchy (BVH) for device from scratch.
bvh_id(device)cell_arg_value(device)cell_count()Number of cells in the geometry
cell_deformation_gradient(args, s)Device function returning the transpose of the gradient of world position with respect to reference cell
cell_inverse_deformation_gradient(args, s)Device function returning the matrix right-transforming a gradient w.r.t.
cell_measure(args, s)Device function returning the measure determinant (e.g. volume, area) at a given point.
cell_normal(args, s)Device function returning the element normal at a sample point.
cell_position(args, s)Device function returning the world position of a cell sample point
fill_cell_arg(args, device)fill_side_arg(args, device)fill_side_index_arg(args, device)Fill the arguments to be passed to side-related device functions
make_filtered_cell_lookup([filter_func])reference_cell()Prototypical element for a cell
reference_side()Prototypical element for a side
side_arg_value(device)side_count()Number of sides in the geometry
side_deformation_gradient(args, s)Device function returning the gradient of world position with respect to reference side
side_from_cell_coords(args, side_index, ...)Device function converting coordinates on a cell to coordinates on a side, or
OUTSIDEside_index_arg_value(device)side_inner_cell_coords(args, side_index, ...)Device function returning the coordinates of a point on a side in the inner cell
side_inner_cell_index(args, side_index)Device function returning the inner cell index for a given side
side_inner_inverse_deformation_gradient(...)Device function returning the matrix right-transforming a gradient w.r.t.
side_measure(args, s)Device function returning the measure determinant (e.g. volume, area) at a given point.
side_measure_ratio(args, s)Device function returning the ratio of the measure of a side to that of its neighbour cells
side_normal(args, s)Device function returning the element normal at a sample point
side_outer_cell_coords(args, side_index, ...)Device function returning the coordinates of a point on a side in the outer cell
side_outer_cell_index(args, side_index)Device function returning the outer cell index for a given side
side_outer_inverse_deformation_gradient(...)Device function returning the matrix right-transforming a gradient w.r.t.
side_position(args, s)Device function returning the side position at a sample point
side_to_cell_arg(side_arg)Device function converting a side-related argument value to a cell-related argument value, for promoting trace samples to the full space
supports_cell_lookup(device)update_bvh([device])Refits the geometry's BVH if it exists on device, or builds it from scratch otherwise.
Attributes
cell_dimensionManifold dimension of the geometry cells
cell_lookupcell_measure_ratiodimensionCellArgStructure containing arguments to be passed to device functions evaluating cell-related quantities
SideArgStructure containing arguments to be passed to device functions evaluating side-related quantities
SideIndexArgStructure containing arguments to be passed to device functions for indexing sides