pub trait SurfaceFiniteElement<'a, C, const G: usize, const N: usize, const P: usize>where
C: Constitutive<'a>,{
// Required methods
fn bases<const I: usize>(
nodal_coordinates: &Coordinates<I, N>,
) -> TensorRank1List2D<3, I, 2, P>;
fn dual_bases<const I: usize>(
nodal_coordinates: &Coordinates<I, N>,
) -> TensorRank1List2D<3, I, 2, P>;
fn new(
constitutive_model_parameters: Parameters<'a>,
reference_nodal_coordinates: ReferenceCoordinates<D>,
thickness: &Scalar,
) -> Self;
fn normals(nodal_coordinates: &CurrentCoordinates<D>) -> Vectors<1, P>;
fn normal_gradients(
nodal_coordinates: &CurrentCoordinates<D>,
) -> TensorRank2List2D<3, 1, 1, O, P>;
fn normal_rates(
nodal_coordinates: &CurrentCoordinates<D>,
nodal_velocities: &CurrentCoordinates<D>,
) -> Vectors<1, P>;
fn reference_normals(&self) -> &Vectors<0, P>;
}
Required Methods§
fn bases<const I: usize>( nodal_coordinates: &Coordinates<I, N>, ) -> TensorRank1List2D<3, I, 2, P>
fn dual_bases<const I: usize>( nodal_coordinates: &Coordinates<I, N>, ) -> TensorRank1List2D<3, I, 2, P>
fn new( constitutive_model_parameters: Parameters<'a>, reference_nodal_coordinates: ReferenceCoordinates<D>, thickness: &Scalar, ) -> Self
fn normals(nodal_coordinates: &CurrentCoordinates<D>) -> Vectors<1, P>
fn normal_gradients( nodal_coordinates: &CurrentCoordinates<D>, ) -> TensorRank2List2D<3, 1, 1, O, P>
fn normal_rates( nodal_coordinates: &CurrentCoordinates<D>, nodal_velocities: &CurrentCoordinates<D>, ) -> Vectors<1, P>
fn reference_normals(&self) -> &Vectors<0, P>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.