Skip to content

Commit

Permalink
Improve test Lode deriv
Browse files Browse the repository at this point in the history
  • Loading branch information
cpmech committed Jun 27, 2023
1 parent a32ed25 commit 7f67278
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions russell_tensor/src/high_order_derivatives.rs
Original file line number Diff line number Diff line change
Expand Up @@ -885,6 +885,10 @@ mod tests {
deriv2_invariant_jj3(&mut d2, &mut s, &sigma).err(),
Some("'sigma' tensor must be Symmetric or Symmetric2D")
);
assert_eq!(
deriv2_invariant_lode(&mut d2, &mut s, &sigma).err(),
Some("'sigma' tensor must be Symmetric or Symmetric2D")
);
let sigma = Tensor2::new(Mandel::Symmetric2D);
let mut d2 = Tensor4::new(Mandel::Symmetric2D);
assert_eq!(
Expand All @@ -895,13 +899,21 @@ mod tests {
deriv2_invariant_jj3(&mut d2, &mut s, &sigma).err(),
Some("'d2' tensor must be Symmetric")
);
assert_eq!(
deriv2_invariant_lode(&mut d2, &mut s, &sigma).err(),
Some("'d2' tensor must be Symmetric")
);
let sigma = Tensor2::new(Mandel::Symmetric2D);
let mut s = Tensor2::new(Mandel::Symmetric);
let mut d2 = Tensor4::new(Mandel::Symmetric);
assert_eq!(
deriv2_invariant_jj3(&mut d2, &mut s, &sigma).err(),
Some("'s' tensor is not compatible with 'sigma' tensor")
);
assert_eq!(
deriv2_invariant_lode(&mut d2, &mut s, &sigma).err(),
Some("'aux' tensor is not compatible with 'sigma' tensor")
);
}

#[test]
Expand Down Expand Up @@ -958,6 +970,15 @@ mod tests {
check_deriv2_jj3(&sigma, 1e-13);
}

#[test]
fn deriv2_invariant_lode_returns_none() {
// identity
let sigma = Tensor2::from_matrix(&SamplesTensor2::TENSOR_I.matrix, Mandel::Symmetric).unwrap();
let mut d2 = Tensor4::new(Mandel::Symmetric);
let mut aux = Tensor2::new(Mandel::Symmetric);
assert_eq!(deriv2_invariant_lode(&mut d2, &mut aux, &sigma).unwrap(), None);
}

#[test]
fn deriv2_invariant_lode_works() {
// symmetric
Expand Down

0 comments on commit 7f67278

Please sign in to comment.