R8-a harness: RTX_E3FSI_LOAD_PLANES (the load route on the n mid planes; cost knob, whole span by default)

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Omar Sobh
2026-09-25 18:14:55 -05:00
co-authored by Claude Opus 5.5
parent 9867a8b831
commit 0f386df871
2 changed files with 26 additions and 11 deletions
@@ -301,7 +301,7 @@ fn fsi2_on_embedded3() {
if (step + 1) % 50 == 0 || step + 1 == rigid_steps {
last = fl.loads();
let (tot, contrib) = &last;
let (_, on_flag, on_cyl, _) = distribute(&flag_geo, &rest, contrib, fl.width);
let (_, on_flag, on_cyl, _) = distribute(&flag_geo, &rest, contrib, fl.load_width);
let t = fl.time();
if let Some(f) = csv.as_mut() {
writeln!(
@@ -405,7 +405,7 @@ fn fsi2_on_embedded3() {
(state, nodal, s.line.clone(), s.c_fluid.clone())
}
None => {
let (nodal0, _, _, _) = distribute(&flag_geo, &rest, &contrib0, fl.width);
let (nodal0, _, _, _) = distribute(&flag_geo, &rest, &contrib0, fl.load_width);
flag.borrow_mut().set_nodal_forces(&nodal0);
let state = flag.borrow_mut().rest_state().unwrap();
// The fluid's own previous line and centreline (its geometry's history).
@@ -467,7 +467,8 @@ fn fsi2_on_embedded3() {
}
let tl = std::time::Instant::now();
let (tot, contrib) = f.loads();
let (nodal, on_flag, on_cyl, parts_y) = distribute(&flag_geo, &line, &contrib, f.width);
let (nodal, on_flag, on_cyl, parts_y) =
distribute(&flag_geo, &line, &contrib, f.load_width);
t_loads.set(t_loads.get() + tl.elapsed().as_secs_f64());
let ts = std::time::Instant::now();
let mut st = flag.borrow_mut();