pub trait FiniteElement<const G: usize, const M: usize, const N: usize, const P: usize, W = Volume>{
// Required methods
fn integration_points() -> ParametricCoordinates<G, M>;
fn integration_weights(&self) -> &IntegrationWeights<G, W>;
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) -> Quantity<W> { ... }
}Required Methods§
fn integration_points() -> ParametricCoordinates<G, M>
fn integration_weights(&self) -> &IntegrationWeights<G, W>
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) -> Quantity<W>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".