pub struct Element { /* private fields */ }Trait Implementations§
Source§impl<C> ElasticElement<C> for Elementwhere
C: Elastic,
impl<C> ElasticElement<C> for Elementwhere
C: Elastic,
type Forces = TensorVector<TensorRank1<3, Current, Force>>
type Stiffnesses = TensorVector<TensorVector<TensorRank2<3, Current, Current, ForcePerLength>>>
type Error = ElementError<VirtualElementKind>
fn nodal_forces( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates, ) -> Result<ElementNodalForcesSolid, VirtualElementError>
fn nodal_stiffnesses( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates, ) -> Result<ElementNodalStiffnessesSolid, VirtualElementError>
Source§impl<C> ElasticHyperviscousElement<C> for Elementwhere
C: ElasticHyperviscous,
impl<C> ElasticHyperviscousElement<C> for Elementwhere
C: ElasticHyperviscous,
fn viscous_dissipation( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates, nodal_velocities: &ElementNodalVelocities, ) -> Result<Quantity<Power>, VirtualElementError>
fn dissipation_potential( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates, nodal_velocities: &ElementNodalVelocities, ) -> Result<Quantity<Power>, VirtualElementError>
Source§impl<C, Y> ElasticViscoplasticElement<C, 1, Y> for Element
impl<C, Y> ElasticViscoplasticElement<C, 1, Y> for Element
type Forces = TensorVector<TensorRank1<3, Current, Force>>
type Stiffnesses = TensorVector<TensorVector<TensorRank2<3, Current, Current, ForcePerLength>>>
type Error = ElementError<VirtualElementKind>
fn nodal_forces( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates, state_variables: &ViscoplasticStateVariables<1, Y>, ) -> Result<ElementNodalForcesSolid, VirtualElementError>
fn nodal_stiffnesses( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates, state_variables: &ViscoplasticStateVariables<1, Y>, ) -> Result<ElementNodalStiffnessesSolid, VirtualElementError>
fn state_variables_evolution( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates, state_variables: &ViscoplasticStateVariables<1, Y>, ) -> Result<ViscoplasticEvolution<1, Y>, VirtualElementError>
Source§impl From<(TensorVector<TensorVector<TensorRank1<3, Reference, Length>>>, &[usize], &[usize], &[Vec<usize>])> for Element
impl From<(TensorVector<TensorVector<TensorRank1<3, Reference, Length>>>, &[usize], &[usize], &[Vec<usize>])> for Element
Source§impl<C> HyperelasticElement<C> for Elementwhere
C: Hyperelastic,
impl<C> HyperelasticElement<C> for Elementwhere
C: Hyperelastic,
fn helmholtz_free_energy( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates, ) -> Result<Quantity<Energy>, VirtualElementError>
Source§impl<C, Y> HyperelasticViscoplasticElement<C, 1, Y> for Element
impl<C, Y> HyperelasticViscoplasticElement<C, 1, Y> for Element
fn helmholtz_free_energy( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates, state_variables: &ViscoplasticStateVariables<1, Y>, ) -> Result<Quantity<Energy>, VirtualElementError>
Source§impl<C> HyperviscoelasticElement<C> for Elementwhere
C: Hyperviscoelastic,
impl<C> HyperviscoelasticElement<C> for Elementwhere
C: Hyperviscoelastic,
fn helmholtz_free_energy( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates, ) -> Result<Quantity<Energy>, VirtualElementError>
Source§impl SolidElement for Elementwhere
Self: VirtualElement,
impl SolidElement for Elementwhere
Self: VirtualElement,
type Coordinates = TensorVector<TensorRank1<3, Current, Length>>
type Velocities = TensorVector<TensorRank1<3, Current, Velocity>>
type DeformationGradients = TensorVector<TensorRank2<3, Current, Reference>>
type DeformationGradientRates = TensorVector<TensorRank2<3, Current, Reference, Rate>>
fn deformation_gradients( &self, nodal_coordinates: &ElementNodalCoordinates, ) -> DeformationGradients
fn deformation_gradient_rates( &self, _: &ElementNodalCoordinates, nodal_velocities: &ElementNodalVelocities, ) -> DeformationGradientRates
Source§impl VirtualElement for Element
impl VirtualElement for Element
fn element_center<U>( nodal_quantities: &TensorRank1Vec<3, Current, U>, ) -> TensorRank1<3, Current, U>
fn faces_centers<U>( &self, nodal_quantities: &TensorRank1Vec<3, Current, U>, ) -> TensorRank1Vec<3, Current, U>
fn faces_nodes(&self) -> &[Vec<usize>]
fn gradient_vectors(&self) -> &GradientVectors
fn integration_weights(&self) -> &IntegrationWeights
fn stabilization(&self) -> Scalar
fn tetrahedra(&self) -> &[Tetrahedron] ⓘ
fn tetrahedra_coordinates<U>( &self, nodal_quantities: &TensorRank1Vec<3, Current, U>, ) -> TetrahedraQuantities<U>
fn tetrahedra_nodes(&self) -> &[[usize; 3]]
Source§impl<C> ViscoelasticElement<C> for Elementwhere
C: Viscoelastic,
impl<C> ViscoelasticElement<C> for Elementwhere
C: Viscoelastic,
type Forces = TensorVector<TensorRank1<3, Current, Force>>
type Dampings = TensorVector<TensorVector<TensorRank2<3, Current, Current, ForcePerVelocity>>>
type Error = ElementError<VirtualElementKind>
fn nodal_forces( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates, nodal_velocities: &ElementNodalVelocities, ) -> Result<ElementNodalForcesSolid, VirtualElementError>
fn nodal_stiffnesses( &self, constitutive_model: &C, nodal_coordinates: &ElementNodalCoordinates, nodal_velocities: &ElementNodalVelocities, ) -> Result<ElementNodalDampingsSolid, VirtualElementError>
Auto Trait Implementations§
impl Freeze for Element
impl RefUnwindSafe for Element
impl Send for Element
impl Sync for Element
impl Unpin for Element
impl UnsafeUnpin for Element
impl UnwindSafe for Element
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