conspire/constitutive/hybrid/elastic/additive/
mod.rs1mod elastic;
2
3use crate::constitutive::{hybrid::Additive, solid::elastic::Elastic};
4use std::ops::Deref;
5
6#[derive(Clone, Debug)]
8pub struct ElasticAdditive<C1, C2>
9where
10 C1: Elastic,
11 C2: Elastic,
12{
13 inner: Additive<C1, C2>,
14}
15
16impl<C1, C2> Deref for ElasticAdditive<C1, C2>
17where
18 C1: Elastic,
19 C2: Elastic,
20{
21 type Target = Additive<C1, C2>;
22 fn deref(&self) -> &Self::Target {
23 &self.inner
24 }
25}
26
27impl<C1, C2> From<(C1, C2)> for ElasticAdditive<C1, C2>
28where
29 C1: Elastic,
30 C2: Elastic,
31{
32 fn from((constitutive_model_1, constitutive_model_2): (C1, C2)) -> Self {
33 Self {
34 inner: Additive(constitutive_model_1, constitutive_model_2),
35 }
36 }
37}