Skip to content

Commit 9c11f10

Browse files
committed
test(potentials): Add tests for Torsion precomputation functionality
1 parent 57e8e1c commit 9c11f10

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

src/potentials/bonded/torsion.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,26 @@ mod tests {
391391

392392
assert_relative_eq!(e1, e2, epsilon = 1e-10);
393393
}
394+
395+
// --------------------------------------------------------------------
396+
// 5. Precompute
397+
// --------------------------------------------------------------------
398+
399+
#[test]
400+
fn precompute_values_n3() {
401+
let (v_half, n, cos_n_phi0, sin_n_phi0) = Torsion::precompute(V_HALF * 2.0, 3, 0.0);
402+
assert_relative_eq!(v_half, V_HALF, epsilon = 1e-14);
403+
assert_eq!(n, 3);
404+
assert_relative_eq!(cos_n_phi0, 1.0, epsilon = 1e-10);
405+
assert_relative_eq!(sin_n_phi0, 0.0, epsilon = 1e-10);
406+
}
407+
408+
#[test]
409+
fn precompute_round_trip() {
410+
let p = Torsion::precompute(10.0, 3, 180.0);
411+
let e = Torsion::energy(-1.0, 0.0, p);
412+
assert_relative_eq!(e, 0.0, epsilon = 1e-10);
413+
}
394414
}
395415

396416
// ========================================================================

0 commit comments

Comments
 (0)