conspire/domain/fem/solid/
mod.rs

1pub mod elastic;
2
3use crate::{
4    constitutive::solid::Solid,
5    fem::{
6        Blocks, Model,
7        block::{Block, element::solid::SolidFiniteElement},
8    },
9    math::TensorRank2Vec2D,
10    mechanics::Forces,
11};
12use std::fmt::Debug;
13
14pub type NodalForcesSolid = Forces;
15pub type NodalStiffnessesSolid = TensorRank2Vec2D<3, 1, 1>;
16
17pub trait SolidFiniteElementModel
18where
19    Self: Debug,
20{
21}
22
23impl<B> SolidFiniteElementModel for Model<B> where B: SolidFiniteElementModel {}
24
25impl<B1, B2> SolidFiniteElementModel for Blocks<B1, B2>
26where
27    B1: SolidFiniteElementModel,
28    B2: SolidFiniteElementModel,
29{
30}
31
32impl<C, F, const G: usize, const M: usize, const N: usize, const P: usize> SolidFiniteElementModel
33    for Block<C, F, G, M, N, P>
34where
35    C: Solid,
36    F: SolidFiniteElement<G, M, N, P>,
37{
38}