#[cfg(test)]
pub mod test;
mod smith_ferrante;
pub use smith_ferrante::SmithFerrante;
use super::{Constitutive, Parameters};
use crate::{
math::Tensor,
mechanics::{Displacement, Normal, Scalar, Stiffness, Traction, IDENTITY},
};
pub trait Cohesive<'a>
where
Self: Constitutive<'a>,
{
fn calculate_traction(&self, displacement: &Displacement, normal: &Normal) -> Traction;
fn calculate_stiffnesses(
&self,
displacement: &Displacement,
normal: &Normal,
) -> (Stiffness, Stiffness);
}