From dac96cf1ac47d03e0cc21662fb328d35a7e9e8fa Mon Sep 17 00:00:00 2001 From: Aaron Fenyes Date: Mon, 3 Feb 2025 18:26:36 -0800 Subject: [PATCH] Improve comments and remove debug output --- app-proto/src/assembly.rs | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/app-proto/src/assembly.rs b/app-proto/src/assembly.rs index 08914aa..7073c9e 100644 --- a/app-proto/src/assembly.rs +++ b/app-proto/src/assembly.rs @@ -5,7 +5,7 @@ use std::{collections::BTreeSet, sync::atomic::{AtomicU64, Ordering}}; use sycamore::prelude::*; use web_sys::{console, wasm_bindgen::JsValue}; /* DEBUG */ -use crate::engine::{realize_gram, local_unif_to_std, ConfigSubspace, PartialMatrix, Q}; +use crate::engine::{realize_gram, local_unif_to_std, ConfigSubspace, PartialMatrix}; // the types of the keys we use to access an assembly's elements and constraints pub type ElementKey = usize; @@ -371,8 +371,8 @@ impl Assembly { } } - // step the assembly along the deformation, and then project each - // element back onto its mass shall + // step the assembly along the deformation. this changes the elements' + // normalizations, so we restore those afterward /* KLUDGE */ // since our test assemblies only include spheres, we assume that every // element is on the 1 mass shell @@ -380,22 +380,16 @@ impl Assembly { elt.representation.update_silent(|rep| { match elt.column_index { Some(column_index) => { - // apply the deformation linearly + // step the assembly along the deformation *rep += motion_proj.column(column_index); - // project back onto the mass shell by contracting - // toward the last coordinate axis + // restore normalization by contracting toward the last + // coordinate axis let q_sp = rep.fixed_rows::<3>(0).norm_squared(); let half_q_lt = -2.0 * rep[3] * rep[4]; let half_q_lt_sq = half_q_lt * half_q_lt; let scaling = half_q_lt + (q_sp + half_q_lt_sq).sqrt(); rep.fixed_rows_mut::<4>(0).scale_mut(1.0 / scaling); - - /* DEBUG */ - // report self-product before and after projection - console::log_1(&JsValue::from( - format!("After scaling by {}, self-product of element representation is {}", scaling, rep.dot(&(&*Q * &*rep))) - )); }, None => { console::log_1(&JsValue::from(