warp.fem.Grid2D#
- class warp.fem.Grid2D(
- res,
- bounds_lo=None,
- bounds_hi=None,
- scalar_type=warp.float32,
- env_count=1,
Two-dimensional regular grid geometry.
- Parameters:
- __init__(
- res,
- bounds_lo=None,
- bounds_hi=None,
- scalar_type=warp.float32,
- env_count=1,
Construct a dense 2D grid.
- Parameters:
res (vec2i) – Resolution of the grid along each dimension
bounds_lo (vec2f | None) – Position of the lower bound of the axis-aligned grid
bounds_hi (vec2f | None) – Position of the upper bound of the axis-aligned grid
scalar_type (type) – Scalar type for grid coordinates (
warp.float32orwarp.float64)env_count (int) – Number of colocated, topologically independent environments
Methods
__init__(res[, bounds_lo, bounds_hi, ...])Construct a dense 2D grid.
build_bvh([device])Rebuild the geometry's Bounding Volume Hierarchy (BVH) for
devicefrom scratch.bvh_id(device)Return the BVH identifier for the given device, or
0if unavailable.cell_arg_value(device)cell_bvh_groups(device)Return optional per-cell BVH group indices on
device.cell_env_arg_value(device)Return per-cell environment indices for geometry argument structs.
fill_cell_arg(args, device)fill_side_arg(args, device)Fill the arguments to be passed to side-related device functions
fill_side_index_arg(args, device)Fill the arguments to be passed to side-related device functions
make_filtered_cell_lookup([filter_func])Create a filtered cell lookup function.
side_arg_value(device)side_index_arg_value(device)supports_cell_lookup(device)update_bvh([device])Refit the geometry's BVH if it exists on
device, or build it from scratch otherwise.Attributes
baseReturn the base geometry from which this geometry derives its topology.
cell_dimensionManifold dimension of the geometry cells
cell_envOptional per-cell environment indices.
Device function for looking up the closest cell to a position.
cell_measure_ratioSize of a cell along each axis.
compute_cell_bvh_groupscoords_typeWarp vector type for element coordinates matching this geometry's scalar precision.
Dimension of the embedding space.
Extent of the grid along each axis.
sample_typeWarp struct type for samples matching this geometry's scalar precision.
CellArgStructure 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.
- ALT_AXIS = 0#
- LONG_AXIS = 1#
- property extents#
Extent of the grid along each axis.
- property cell_size#
Size of a cell along each axis.
- property strides#
- cell_count_per_environment = <Function Grid2D__cell_count_per_environment(res: vec2i)>#
- Parameters:
res (vec2i)
- vertex_count_per_environment = <Function Grid2D__vertex_count_per_environment(res: vec2i)>#
- Parameters:
res (vec2i)
- side_count_per_environment = <Function Grid2D__side_count_per_environment(res: vec2i)>#
- Parameters:
res (vec2i)
- boundary_side_count_per_environment = <Function Grid2D__boundary_side_count_per_environment(res: vec2i)>#
- Parameters:
res (vec2i)
- cell_env_index = <Function Grid2D__cell_env_index(res: vec2i, cell_index: int)>#
- side_env_index = <Function Grid2D__side_env_index(res: vec2i, side_index: int)>#
- local_cell_index = <Function Grid2D__local_cell_index(res: vec2i, cell_index: int)>#
- local_side_index_from_res = <Function Grid2D__local_side_index_from_res(res: vec2i, side_index: int)>#
- cell_environment_index = <Function Grid2D__cell_environment_index(args: Any, cell_index: int)>#
- Parameters:
args (Any)
s (Sample)
- side_environment_index = <Function Grid2D__side_environment_index(arg: Any, side_index: int)>#
- Parameters:
arg (Any)
s (Sample)
- local_side_index = <Function Grid2D__local_side_index(arg: Any, side_index: int)>#
- cell_index = <Function Grid2D__cell_index(res: vec2i, cell: vec2i)>#
- get_cell = <Function Grid2D__get_cell(res: vec2i, cell_index: int)>#
- Side = <warp._src.codegen.Struct object>#
- is_flipped = <Function Grid2D__is_flipped(side: warp._src.fem.geometry.grid_2d.Grid2D.Side)>#
- Parameters:
side (Side)
- boundary_side_index = <Function Grid2D__boundary_side_index(args: Any, boundary_side_index: int)>#
- cell_deformation_gradient = <Function Grid2D__cell_deformation_gradient(args: Any, s: Any)>#
- cell_inverse_deformation_gradient = <Function Grid2D__cell_inverse_deformation_gradient(args: Any, s: Any)>#
- cell_coordinates = <Function Grid2D__cell_coordinates(args: Any, cell_index: int, pos: Any)>#
- cell_closest_point = <Function Grid2D__cell_closest_point(args: Any, cell_index: int, pos: Any)>#
- side_deformation_gradient = <Function Grid2D__side_deformation_gradient(args: Any, s: Any)>#
- side_inner_inverse_deformation_gradient = <Function Grid2D__side_inner_inverse_deformation_gradient(args: Any, s: Any)>#
- side_outer_inverse_deformation_gradient = <Function Grid2D__side_outer_inverse_deformation_gradient(args: Any, s: Any)>#
- side_measure_ratio = <Function Grid2D__side_measure_ratio(args: Any, s: Any)>#
- side_inner_cell_index = <Function Grid2D__side_inner_cell_index(arg: Any, side_index: int)>#
- side_outer_cell_index = <Function Grid2D__side_outer_cell_index(arg: Any, side_index: int)>#
- side_inner_cell_coords = <Function Grid2D__side_inner_cell_coords(args: Any, side_index: int, side_coords: Any)>#
- side_outer_cell_coords = <Function Grid2D__side_outer_cell_coords(args: Any, side_index: int, side_coords: Any)>#
- side_from_cell_coords = <Function Grid2D__side_from_cell_coords(args: Any, side_index: int, element_index: int, element_coords: Any)>#
- side_coordinates = <Function Grid2D__side_coordinates(args: Any, side_index: int, pos: Any)>#
- side_closest_point = <Function Grid2D__side_closest_point(args: Any, side_index: int, pos: Any)>#