pub trait FiniteElement<const G: usize, const M: usize, const N: usize, const P: usize>where
Self: Debug,{
// Required methods
fn integration_points() -> ParametricCoordinates<G, M>;
fn integration_weights(&self) -> &ScalarList<G>;
fn parametric_reference() -> ParametricReference<M, N>;
fn parametric_weights() -> ScalarList<G>;
fn shape_functions(
parametric_coordinate: ParametricCoordinate<M>,
) -> ShapeFunctions<P>;
fn shape_functions_gradients(
parametric_coordinate: ParametricCoordinate<M>,
) -> ShapeFunctionsGradients<M, P>;
// Provided methods
fn shape_functions_at_integration_points( ) -> ShapeFunctionsAtIntegrationPoints<G, P> { ... }
fn shape_functions_gradients_at_integration_points( ) -> StandardGradientOperators<M, P, G> { ... }
fn volume(&self) -> Scalar { ... }
}Required Methods§
fn integration_points() -> ParametricCoordinates<G, M>
fn integration_weights(&self) -> &ScalarList<G>
fn parametric_reference() -> ParametricReference<M, N>
fn parametric_weights() -> ScalarList<G>
fn shape_functions( parametric_coordinate: ParametricCoordinate<M>, ) -> ShapeFunctions<P>
fn shape_functions_gradients( parametric_coordinate: ParametricCoordinate<M>, ) -> ShapeFunctionsGradients<M, P>
Provided Methods§
fn shape_functions_at_integration_points() -> ShapeFunctionsAtIntegrationPoints<G, P>
fn shape_functions_gradients_at_integration_points() -> StandardGradientOperators<M, P, G>
fn volume(&self) -> Scalar
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.