pub struct Blocks<B1, B2>(/* private fields */);Trait Implementations§
Source§impl<B1, B2, const D: usize> ElasticElements<D> for Blocks<B1, B2>where
B1: ElasticElements<D>,
B2: ElasticElements<D>,
impl<B1, B2, const D: usize> ElasticElements<D> for Blocks<B1, B2>where
B1: ElasticElements<D>,
B2: ElasticElements<D>,
fn nodal_forces_into( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_forces: &mut NodalForcesSolid<D>, ) -> Result<(), ElementModelError>
fn nodal_stiffnesses_into( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_stiffnesses: &mut NodalStiffnessesSolid<D>, ) -> Result<(), ElementModelError>
fn nodal_forces( &self, nodal_coordinates: &NodalCoordinates<D>, ) -> Result<NodalForcesSolid<D>, ElementModelError>
fn nodal_stiffnesses( &self, nodal_coordinates: &NodalCoordinates<D>, ) -> Result<NodalStiffnessesSolid<D>, ElementModelError>
Source§impl<B1, B2, const D: usize> ElasticHyperviscousElements<D> for Blocks<B1, B2>where
B1: ElasticHyperviscousElements<D>,
B2: ElasticHyperviscousElements<D>,
impl<B1, B2, const D: usize> ElasticHyperviscousElements<D> for Blocks<B1, B2>where
B1: ElasticHyperviscousElements<D>,
B2: ElasticHyperviscousElements<D>,
fn viscous_dissipation( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_velocities: &NodalVelocities<D>, ) -> Result<Scalar, ElementModelError>
fn dissipation_potential( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_velocities: &NodalVelocities<D>, ) -> Result<Scalar, ElementModelError>
Source§impl<B1, B2, S1, S2, const D: usize> ElasticViscoplasticElements<TensorTuple<S1, S2>, D> for Blocks<B1, B2>where
B1: ElasticViscoplasticElements<S1, D>,
B2: ElasticViscoplasticElements<S2, D>,
S1: Tensor,
S2: Tensor,
impl<B1, B2, S1, S2, const D: usize> ElasticViscoplasticElements<TensorTuple<S1, S2>, D> for Blocks<B1, B2>where
B1: ElasticViscoplasticElements<S1, D>,
B2: ElasticViscoplasticElements<S2, D>,
S1: Tensor,
S2: Tensor,
fn initial_state(&self) -> TensorTuple<S1, S2>
fn nodal_forces_into( &self, nodal_coordinates: &NodalCoordinates<D>, state_variables: &TensorTuple<S1, S2>, nodal_forces: &mut NodalForcesSolid<D>, ) -> Result<(), ElementModelError>
fn nodal_stiffnesses_into( &self, nodal_coordinates: &NodalCoordinates<D>, state_variables: &TensorTuple<S1, S2>, nodal_stiffnesses: &mut NodalStiffnessesSolid<D>, ) -> Result<(), ElementModelError>
fn state_variables_evolution( &self, nodal_coordinates: &NodalCoordinates<D>, state_variables: &TensorTuple<S1, S2>, ) -> Result<TensorTuple<S1, S2>, ElementModelError>
fn nodal_forces( &self, nodal_coordinates: &NodalCoordinates<D>, state_variables: &S, ) -> Result<NodalForcesSolid<D>, ElementModelError>
fn nodal_stiffnesses( &self, nodal_coordinates: &NodalCoordinates<D>, state_variables: &S, ) -> Result<NodalStiffnessesSolid<D>, ElementModelError>
Source§impl<B1, B2> Elements for Blocks<B1, B2>
impl<B1, B2> Elements for Blocks<B1, B2>
fn node_neighbors(&self, neighbors: &mut [Vec<usize>])
Source§impl<B1, B2, const D: usize> HyperelasticElements<D> for Blocks<B1, B2>where
B1: HyperelasticElements<D>,
B2: HyperelasticElements<D>,
impl<B1, B2, const D: usize> HyperelasticElements<D> for Blocks<B1, B2>where
B1: HyperelasticElements<D>,
B2: HyperelasticElements<D>,
fn helmholtz_free_energy( &self, nodal_coordinates: &NodalCoordinates<D>, ) -> Result<Scalar, ElementModelError>
fn nodal_stiffnesses_symmetric_into( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_stiffnesses: &mut NodalStiffnessesSolidSymmetric<D>, ) -> Result<(), ElementModelError>
fn nodal_stiffnesses_symmetric( &self, nodal_coordinates: &NodalCoordinates<D>, ) -> Result<NodalStiffnessesSolidSymmetric<D>, ElementModelError>
Source§impl<B1, B2, S1, S2, const D: usize> HyperelasticViscoplasticElements<TensorTuple<S1, S2>, D> for Blocks<B1, B2>where
B1: HyperelasticViscoplasticElements<S1, D>,
B2: HyperelasticViscoplasticElements<S2, D>,
S1: Tensor,
S2: Tensor,
impl<B1, B2, S1, S2, const D: usize> HyperelasticViscoplasticElements<TensorTuple<S1, S2>, D> for Blocks<B1, B2>where
B1: HyperelasticViscoplasticElements<S1, D>,
B2: HyperelasticViscoplasticElements<S2, D>,
S1: Tensor,
S2: Tensor,
fn helmholtz_free_energy( &self, nodal_coordinates: &NodalCoordinates<D>, state_variables: &TensorTuple<S1, S2>, ) -> Result<Scalar, ElementModelError>
Source§impl<B1, B2, const D: usize> HyperviscoelasticElements<D> for Blocks<B1, B2>where
B1: HyperviscoelasticElements<D>,
B2: HyperviscoelasticElements<D>,
impl<B1, B2, const D: usize> HyperviscoelasticElements<D> for Blocks<B1, B2>where
B1: HyperviscoelasticElements<D>,
B2: HyperviscoelasticElements<D>,
fn helmholtz_free_energy( &self, nodal_coordinates: &NodalCoordinates<D>, ) -> Result<Scalar, ElementModelError>
Source§impl<B1, B2> ThermalConductionElements for Blocks<B1, B2>where
B1: ThermalConductionElements,
B2: ThermalConductionElements,
impl<B1, B2> ThermalConductionElements for Blocks<B1, B2>where
B1: ThermalConductionElements,
B2: ThermalConductionElements,
fn potential( &self, nodal_temperatures: &NodalTemperatures, ) -> Result<Scalar, ElementModelError>
fn nodal_forces_into( &self, nodal_temperatures: &NodalTemperatures, nodal_forces: &mut NodalForcesThermal, ) -> Result<(), ElementModelError>
fn nodal_stiffnesses_into( &self, nodal_temperatures: &NodalTemperatures, nodal_stiffnesses: &mut NodalStiffnessesThermal, ) -> Result<(), ElementModelError>
fn nodal_forces( &self, nodal_temperatures: &NodalTemperatures, ) -> Result<NodalForcesThermal, ElementModelError>
fn nodal_stiffnesses( &self, nodal_temperatures: &NodalTemperatures, ) -> Result<NodalStiffnessesThermal, ElementModelError>
Source§impl<B1, B2, const D: usize> ViscoelasticElements<D> for Blocks<B1, B2>where
B1: ViscoelasticElements<D>,
B2: ViscoelasticElements<D>,
impl<B1, B2, const D: usize> ViscoelasticElements<D> for Blocks<B1, B2>where
B1: ViscoelasticElements<D>,
B2: ViscoelasticElements<D>,
fn nodal_forces_into( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_velocities: &NodalVelocities<D>, nodal_forces: &mut NodalForcesSolid<D>, ) -> Result<(), ElementModelError>
fn nodal_stiffnesses_into( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_velocities: &NodalVelocities<D>, nodal_stiffnesses: &mut NodalStiffnessesSolid<D>, ) -> Result<(), ElementModelError>
fn nodal_forces( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_velocities: &NodalVelocities<D>, ) -> Result<NodalForcesSolid<D>, ElementModelError>
fn nodal_stiffnesses( &self, nodal_coordinates: &NodalCoordinates<D>, nodal_velocities: &NodalVelocities<D>, ) -> Result<NodalStiffnessesSolid<D>, ElementModelError>
Auto Trait Implementations§
impl<B1, B2> Freeze for Blocks<B1, B2>
impl<B1, B2> RefUnwindSafe for Blocks<B1, B2>where
B1: RefUnwindSafe,
B2: RefUnwindSafe,
impl<B1, B2> Send for Blocks<B1, B2>
impl<B1, B2> Sync for Blocks<B1, B2>
impl<B1, B2> Unpin for Blocks<B1, B2>
impl<B1, B2> UnsafeUnpin for Blocks<B1, B2>where
B1: UnsafeUnpin,
B2: UnsafeUnpin,
impl<B1, B2> UnwindSafe for Blocks<B1, B2>where
B1: UnwindSafe,
B2: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more