Formulations
FiniteElementContainers.AbstractElementFormulation — Type
abstract type AbstractElementFormulation{ND, NF}Implementations
FiniteElementContainers.PlaneStrain — Type
struct PlaneStrain <: AbstractMechanicsElementFormulation{2}FiniteElementContainers.ThreeDimensional — Type
struct ThreeDimensional <: AbstractMechanicsElementFormulation{3}Methods
FiniteElementContainers.discrete_gradient — Function
discrete_gradient(_::PlaneStrain, ∇N_X) -> Any
discrete_gradient(_::ThreeDimensional, ∇N_X) -> Any
FiniteElementContainers.discrete_symmetric_gradient — Function
discrete_symmetric_gradient(_::PlaneStrain, ∇N_X) -> Any
discrete_symmetric_gradient(
_::ThreeDimensional,
∇N_X
) -> Any
FiniteElementContainers.discrete_values — Function
discrete_values(_::PlaneStrain, N) -> Any
discrete_values(_::ThreeDimensional, N) -> Any
FiniteElementContainers.extract_stiffness — Function
extract_stiffness(
_::PlaneStrain,
A::Tensors.Tensor{4, 3, T<:Number, 81}
) -> StaticArraysCore.SArray
extract_stiffness(
_::ThreeDimensional,
A_in::Tensors.Tensor{4, 3, T<:Number, 81}
) -> StaticArraysCore.SArray
FiniteElementContainers.extract_stress — Function
extract_stress(
_::PlaneStrain,
P::Tensors.Tensor{2, 3, T<:Number, 9}
) -> StaticArraysCore.SArray
extract_stress(
_::ThreeDimensional,
P::Tensors.Tensor{2, 3, T<:Number, 9}
) -> StaticArraysCore.SArray
FiniteElementContainers.modify_field_gradients — Function
modify_field_gradients(
_::PlaneStrain,
∇u_q::StaticArraysCore.SArray{Tuple{2, 2}, T<:Number, 2, 4}
) -> Tensors.Tensor{2, 3, _A, 9} where _A
modify_field_gradients(
_::ThreeDimensional,
∇u_q::StaticArraysCore.SArray{Tuple{3, 3}, T<:Number, 2, 9}
) -> Tensors.Tensor{2, 3, T, 9} where T<:Number
FiniteElementContainers.num_dimensions — Function
num_dimensions(_::AbstractElementFormulation{ND, NF}) -> Any
FiniteElementContainers.scatter_with_gradients! — Function
scatter_with_gradients!(
storage::FiniteElementContainers.AbstractField,
form::AbstractElementFormulation{ND, NF},
e,
conns,
∇N_X,
vals
)
Method to in place take a set of vals and calculate fi = G * vals where is the discretegradient
FiniteElementContainers.scatter_with_gradients_and_gradients! — Function
scatter_with_gradients_and_gradients!(
storage::AbstractVector,
_::AbstractElementFormulation{ND, NF},
e,
conns,
∇N_X,
k::Number
)
scalar case to calculate in place things like Kel = k∇NX ⋅ ∇N_X'
Case for total lagrange formulations of solid mechanics or other physics that need fourth order full 81 component tensors in 3d
FiniteElementContainers.scatter_with_values! — Function
Scalar equation specialization f_el = N * vals
General vector specialization f_el = N * vals
FiniteElementContainers.scatter_with_values_and_values! — Function
scalar implementation