Skip to content

Prismatic mesh (prismatic_mesh)

Work in progress

This component is under development. Its options may change, and it has no tutorial yet.

Work in progress. From a topological_offset construction (a .vtu, or a .msh with corr_input_vid), thins the offset band around the solid to a target thickness and, with prism_dominant, rebuilds it as prisms, pyramids and tets.

Spec source · Defaults · JSON Schema

Required

application

string · required · one of prismatic_mesh

Application name must be prismatic_mesh.

input

string · required

Construction .vtu or Gmsh 4.1 .msh with corr_input_vid. MSH can derive labels and cell tags from the tag_0/offset/ambient physical groups; explicit PRISM fields are also supported.

output

string · required

Output .vtu or .msh (Gmsh 4.1 ASCII) filename, relative to the JSON directory. A missing extension becomes .vtu.

Key options

thicknessratio

float · default 0.1

Positive target thickness relative to the mean length of unique input surface edges.

iterations

int · default 5

Number of collapse/smoothing iterations; 0 computes targets without optimization.

prism_dominant

bool · default false

After optimization, reconstruct conforming prisms, input-apex shell pyramids and tetrahedra. Retained background receives kernel-point pyramids in feasible disjoint quad-diagonal edge-star cavities. Preserve existing points, input volume and non-cavity background; fall back to conforming tet regions on failed geometry, overlap or search limits.

keep_background_mesh

bool · default false

Keep exterior background tetrahedra during optimization/output. Background must remain strictly positive. Without background_remeshing only offset vertices move. Targets are computed from the band alone.

Other options

export_input_and_shell

bool · default false

Additionally export the union of input volume and offset band as <output_stem>_input_shell.msh and .vtu, using the same final coordinates, hybrid cells and attributes while omitting background cells.

min_tet_volume

float · default 0

Optional nonnegative signed-volume floor for new or modified shell tetrahedra, candidate pyramid decompositions and new background pyramid cavity cones. The default zero requires strictly positive volume using exact predicates, without a coordinate-scale-dependent cutoff. Background optimization and unchanged background tets also require strictly positive volume.

smoothing_max_backtracks

int · default 40

Maximum smoothing step halvings after the full target step; between 0 and 60.

jacobian_smoothing_iterations

int · default 0

Optional prism Jacobian smoothing rounds after tet optimization. Zero disables this stage. Only offset vertices move; input, correspondence and connectivity remain fixed.

jacobian_target

float · default 0.01

Positive target det(J), normalized by twice input triangle area times initial mean column length.

jacobian_position_weight

float · default 0.001

Positive quadratic weight on displacement from the position before Jacobian smoothing, normalized by target thickness (initial column length if unavailable).

jacobian_max_step_ratio

float · default 0.25

Positive per-move displacement bound relative to thickness. Implemented with an inscribed axis-aligned box.

jacobian_max_displacement_ratio

float · default 0.5

Positive total displacement bound from the position before Jacobian smoothing, relative to thickness. Implemented with an inscribed axis-aligned box.

background_remeshing

bool · default false

Enable adaptive background 2-3/3-2 swaps and interior relaxation after each tet iteration, then retry collapse. Requires keep_background_mesh=true. Input/offset vertices and exterior boundary are fixed during remeshing.

background_remeshing_passes

int · default 2

Local remeshing passes per tet iteration; positive.

background_quality_threshold

float · default 0.1

Trigger on background mean ratio below this threshold in (0,1]; 1 is a regular tet, 0 is degenerate. Background-blocked collapses are also repair targets.

background_remeshing_max_operations

int · default 500

Maximum accepted background swaps/moves per tet iteration; positive.

background_remeshing_max_attempts

int · default 20000

Maximum attempted background swaps/moves per tet iteration; positive.

Run control

input_dir

string · default ""

Base directory for input; set by wmtk_app to the JSON directory.