Engine: mesh.cells meshes a partitioned part cell by cell

Each cell (a body of the open design) gets its own method: structured hex where
one fits (auto falls back to tet and says why), or tet. All go into one mesh.
Cells on either side of a partition are joined: where their element faces
match node for node the nodes are merged; otherwise (hex next to tet, or
different divisions) the two partition faces get a set each and a dual mortar
tie, the reported hex-tet transition. A 40 mm bar cut in half, one half hex,
the other tet, stretches F L / (E A) to 1e-6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
jyvikoandClaude Opus 5.5 authored and Irakli Kourtis committed 2026-10-14 19:50:37 -04:00
1 parent 1fbb5581ea
commit 0b6b6c966c
8 files changed
+537 -50

No files matched your search

+2
View File
@@ -1,6 +1,7 @@
//! The command registry. Each area has its own module; [`ALL`] lists every command.
mod block;
mod cells;
mod contact;
pub(crate) mod datum;
pub(crate) mod deck;
@@ -53,6 +54,7 @@ pub static ALL: &[CommandSpec] = &[
hex::HEX_SWEEP,
hex::HEX_MAPPED,
hex::HEX_BLOCKS,
cells::CELLS,
tags::TAG,
tags::TAG_CLEAR,
model::UNITS,