R8-c: the 3D flag's interface — deformed-plate body (host + device φ/ub) and the conservative load transfer onto a Hex20 plate

- embedded3/plate.rs: PlateSurface (mid-surface on span stations) and the
  host evaluation of DeviceSdf (phi_host / velocity_host / is_flag_host),
  expression for expression e3_geom.cu; a span-uniform plate is the
  polyline capsule to the bit; first-order spanwise-slope correction.
- e3_geom.cu / device/geom.rs: plate branch of geom_phi_at and
  body_velocity (nst = 0 keeps the polyline path unchanged).
- cutwall.rs / exchange.rs: the load loops observed through a sink (sums
  unchanged); interface.rs: Mask::cut_wall_loads (every summand of
  cut_wall_force with its foot), HexPlate (R8-b's Hex20 lattice numbering),
  consistent point-force transfer conserving force and moment to round-off,
  locate() for the transpose, mid_surface() for the fluid body.
- flag test: RTX_E3_FLAG_BODY=plate, _STATIONS, _TWIST, _TRANSFER(_EVERY,
  _CSV, _NODAL); all default off.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Omar Sobh
2026-09-25 18:03:26 -05:00
co-authored by Claude Opus 5.5
parent d63806c0e6
commit 9c2ae32061
9 changed files with 1639 additions and 56 deletions
@@ -15,8 +15,10 @@ pub mod export_vtk;
pub mod field;
pub mod grid;
pub mod impose;
pub mod interface;
pub mod loads;
pub mod maskupdate;
pub mod plate;
pub mod poisson;
pub mod reconstruct;
pub mod step;
@@ -27,6 +29,8 @@ pub use cut::CutGeometry;
pub use export_vtk::write_vtk;
pub use field::Field;
pub use grid::Grid;
pub use interface::{HexPlate, LoadKind, PlateTransfer, WallLoad};
pub use loads::SurfaceForce;
pub use plate::PlateSurface;
pub use step::{Boundaries, Fluid, Parameters, Side, Solver, StepResult};
pub use wall::{FaceKind, Mask, WallScheme};