FiniteElementContainers.AbstractField
— Typeabstract type AbstractField{T, N, NF, Vals} <: AbstractArray{T, N}
Thin wrapper that subtypes AbstractArray
and serves as the base Field
type
FiniteElementContainers.AbstractMechanicsFormulation
— Typeabstract type AbstractMechanicsFormulation{ND}
FiniteElementContainers.AbstractMesh
— Typeabstract type AbstractMesh <: FiniteElementContainers.FEMContainer
FiniteElementContainers.Assembler
— Typeabstract type Assembler{Rtype, Itype}
FiniteElementContainers.Connectivity
— Typeabstract type ElementField{T, N, NN, NE, Vals} <: FiniteElementContainers.AbstractField{T, N, NN, Vals}
FiniteElementContainers.DofManager
— MethodDefault constructor from a mesh
FiniteElementContainers.DofManager
— MethodDofManager{A}(ND::Int, NN::Int) where A
FiniteElementContainers.DofManager
— MethodDofManager{ND, NN, I, ArrType}() where {ND, NN, I, ArrType}
FiniteElementContainers.DofManager
— MethodDofManager{ND, NN, ArrType}() where {ND, NN, ArrType}
FiniteElementContainers.DynamicAssembler
— Typestruct DynamicAssembler{Rtype, Itype, I<:AbstractArray{Itype, 1}, J<:AbstractArray{Itype, 1}, U<:AbstractArray{Itype, 1}, Sizes<:AbstractArray{Itype, 1}, Offsets<:AbstractArray{Itype, 1}, R<:NodalField, K<:AbstractArray{Rtype, 1}, M<:AbstractArray{Rtype, 1}, C1, C2, C3, C4, C5, C6, C7} <: Assembler{Rtype, Itype}
Is::AbstractVector
Js::AbstractVector
unknown_dofs::AbstractVector
block_sizes::AbstractVector
block_offsets::AbstractVector
residuals::NodalField
stiffnesses::AbstractVector
masses::AbstractVector
klasttouch::Any
csrrowptr::Any
csrcolval::Any
csrnzval::Any
csccolptr::Any
cscrowval::Any
cscnzval::Any
Assembler for dynamic problems without damping
Provides both a mass and stiffness matrix
FiniteElementContainers.DynamicAssembler
— MethodDefault initialization Assumes no dirichlet bcs
TODO add typing to constructor
FiniteElementContainers.ElementField
— Typeabstract type ElementField{T, N, NN, NE, Vals} <: FiniteElementContainers.AbstractField{T, N, NN, Vals}
Abstract type for implementations of fields that live on elements.
Constructors
ElementField{NN, NE, Vector}(vals::M) where {NN, NE, M <: AbstractArray{<:Number, 2}}
ElementField{NN, NE, Matrix}(vals::M) where {NN, NE, M <: AbstractArray{<:Number, 2}}
ElementField{NN, NE, Vector}(vals::V) where {NN, NE, V <: AbstractArray{<:Number, 1}}
ElementField{NN, NE, Vector, T}(::UndefInitializer) where {NN, NE, T}
ElementField{NN, NE, Matrix, T}(::UndefInitializer) where {NN, NE, T <: Number}
ElementField{NN, NE, StructArray, T}(::UndefInitializer) where {NN, NE, T}
ElementField{Tup, A, T}(::UndefInitializer) where {Tup, A, T}
ElementField{Tup, A}(vals::M) where {Tup, A, M <: AbstractArray}
FiniteElementContainers.FileMesh
— Typestruct FileMesh{MeshObj} <: FiniteElementContainers.AbstractMesh
file_name::String
mesh_obj::Any
Mesh type that has a handle to an open mesh file object. This type's methods are "overridden" in extensions.
See FiniteElementContainersExodusExt for an example.
FiniteElementContainers.FunctionSpace
— Typeabstract type FunctionSpace{NDof, RefFE, Conn}
FiniteElementContainers.IncompressiblePlaneStress
— Typestruct IncompressiblePlaneStress <: AbstractMechanicsFormulation{2}
FiniteElementContainers.Interpolants
— Typestruct Interpolants{A1, A2, A3, A4}
X_q::Any
N::Any
∇N_X::Any
JxW::Any
FiniteElementContainers.NodalField
— Typeabstract type NodalField{T, N, NF, NN, Vals} <: FiniteElementContainers.AbstractField{T, N, NF, Vals}
Abstract type for implementations of fields that live on nodes.
Constructors
NodalField{NF, NN, Vector}(vals::M) where {NF, NN, M <: AbstractArray{<:Number, 2}}
NodalField{NF, NN, Matrix}(vals::M) where {NF, NN, M <: AbstractArray{<:Number, 2}}
NodalField{NF, NN, Vector}(vals::V) where {NF, NN, V <: AbstractArray{<:Number, 1}}
NodalField{NF, NN, Vector}(vals::V) where {NF, NN, V <: AbstractArray{<:Number, 1}}
NodalField{NF, NN, Vector, T}(::UndefInitializer) where {NF, NN, T}
NodalField{NF, NN, Matrix, T}(::UndefInitializer) where {NF, NN, T <: Number}
NodalField{NF, NN, StructArray, T}(::UndefInitializer) where {NF, NN, T}
NodalField{Tup, A, T}(::UndefInitializer) where {Tup, A, T}
FiniteElementContainers.NonAllocatedFunctionSpace
— Typestruct NonAllocatedFunctionSpace{NDof, Conn<:(ElementField), DofConn<:(ElementField), RefFE<:ReferenceFiniteElements.ReferenceFE} <: FunctionSpace{NDof, Conn<:(ElementField), RefFE<:ReferenceFiniteElements.ReferenceFE}
conn::ElementField
dof_conn::ElementField
ref_fe::ReferenceFiniteElements.ReferenceFE
FiniteElementContainers.PlaneStrain
— Typestruct PlaneStrain <: AbstractMechanicsFormulation{2}
FiniteElementContainers.QuadratureField
— Typeabstract type QuadratureField{T, N, NF, NQ, NE, Vals} <: FiniteElementContainers.AbstractField{T, N, NF, Vals}
Abstract type for implementations of fields that live on quadrature points.
Constructors
QuadratureField{NF, NQ, NE, Matrix}(vals::Matrix{<:Number}) where {NF, NQ, NE}
QuadratureField{NF, NQ, NE, Vector}(vals::Matrix{<:Number}) where {NF, NQ, NE}
QuadratureField{NF, NQ, NE, Matrix, T}(::UndefInitializer) where {NF, NQ, NE, T}
QuadratureField{NF, NQ, NE, StructArray, T}(::UndefInitializer) where {NF, NQ, NE, T}
QuadratureField{NF, NQ, NE, StructVector, T}(::UndefInitializer) where {NF, NQ, NE, T}
QuadratureField{NF, NQ, NE, Vector, T}(::UndefInitializer) where {NF, NQ, NE, T}
QuadratureField{Tup, A, T}(::UndefInitializer) where {Tup, A, T}
QuadratureField{Tup, A}(vals::M) where {Tup, A, M <: AbstractArray}
FiniteElementContainers.SimpleConnectivity
— Typestruct SimpleElementField{T, N, NN, NE, Vals} <: ElementField{T, N, NN, NE, Vals}
FiniteElementContainers.SimpleElementField
— Typestruct SimpleElementField{T, N, NN, NE, Vals} <: ElementField{T, N, NN, NE, Vals}
FiniteElementContainers.SimpleElementField
— MethodSimpleElementField{NN, NE}(vals::M) where {NN, NE, M <: AbstractArray{<:Number, 2}}
FiniteElementContainers.SimpleElementField
— MethodSimpleElementField{NN, NE, Matrix, T}(::UndefInitializer) where {NN, NE, T}
FiniteElementContainers.SimpleNodalField
— Typestruct SimpleNodalField{T, N, NF, NN, Vals<:AbstractArray{T, 2}} <: NodalField{T, N, NF, NN, Vals<:AbstractArray{T, 2}}
FiniteElementContainers.SimpleNodalField
— MethodSimpleNodalField{NF, NN, T}(::UndefInitializer) where {NF, NN, T}
FiniteElementContainers.SimpleNodalField
— MethodSimpleNodalField{NF, NN}(vals::V) where {NF, NN, V <: AbstractArray{<:Number, 2}}
FiniteElementContainers.SimpleQuadratureField
— Typestruct SimpleQuadratureField{T, N, NF, NQ, NE, Vals<:AbstractArray{T, 2}} <: QuadratureField{T, N, NF, NQ, NE, Vals<:AbstractArray{T, 2}}
FiniteElementContainers.SimpleQuadratureField
— MethodSimpleQuadratureField{1, NQ, NE}(vals::M) where {NQ, NE, M <: AbstractArray{<:Number, 2}}
FiniteElementContainers.SimpleQuadratureField
— MethodSimpleQuadratureField{NF, NQ, NE}(vals::S) where {NF, NQ, NE, S <: StructArray}
FiniteElementContainers.SimpleQuadratureField
— MethodSimpleQuadratureField{NF, NQ, NE, StructArray, T}(::UndefInitializer) where {NF, NQ, NE, T}
FiniteElementContainers.SimpleQuadratureField
— MethodSimpleQuadratureField{1, NQ, NE, Matrix, T}(::UndefInitializer) where {NQ, NE, T <: AbstractArray}
FiniteElementContainers.SimpleQuadratureField
— MethodSimpleQuadratureField{1, NQ, NE, Matrix, T}(::UndefInitializer) where {NQ, NE, T <: Number}
FiniteElementContainers.StaticAssembler
— Typestruct StaticAssembler{Rtype, Itype, I<:AbstractArray{Itype, 1}, J<:AbstractArray{Itype, 1}, U<:AbstractArray{Itype, 1}, Sizes<:AbstractArray{Itype, 1}, Offsets<:AbstractArray{Itype, 1}, R<:NodalField, K<:AbstractArray{Rtype, 1}, C1, C2, C3, C4, C5, C6, C7} <: Assembler{Rtype, Itype}
Is::AbstractVector
Js::AbstractVector
unknown_dofs::AbstractVector
block_sizes::AbstractVector
block_offsets::AbstractVector
residuals::NodalField
stiffnesses::AbstractVector
klasttouch::Any
csrrowptr::Any
csrcolval::Any
csrnzval::Any
csccolptr::Any
cscrowval::Any
cscnzval::Any
Assembler for static or quasistatic problems where only a stiffness matrix is necessary
FiniteElementContainers.StaticAssembler
— MethodDefault initialization Assumes no dirichlet bcs
TODO add typing to constructor
FiniteElementContainers.ThreeDimensional
— Typestruct ThreeDimensional <: AbstractMechanicsFormulation{3}
FiniteElementContainers.VectorizedConnectivity
— Typestruct VectorizedElementField{T, N, NN, NE, Vals} <: ElementField{T, N, NN, NE, Vals}
FiniteElementContainers.VectorizedElementField
— Typestruct VectorizedElementField{T, N, NN, NE, Vals<:AbstractArray{T, 1}} <: ElementField{T, N, NN, NE, Vals<:AbstractArray{T, 1}}
FiniteElementContainers.VectorizedElementField
— MethodVectorizedElementField{NN, NE}(vals::Matrix{<:Number}) where {NN, NE}
FiniteElementContainers.VectorizedElementField
— MethodVectorizedElementField{NN, NE, T}(::UndefInitializer) where {NN, NE, T <: AbstractArray}
FiniteElementContainers.VectorizedElementField
— MethodVectorizedElementField{NN, NE, T}(::UndefInitializer) where {NN, NE, T <: Number}
FiniteElementContainers.VectorizedElementField
— MethodVectorizedElementField{NN, NE, StructArray, T}(::UndefInitializer) where {NN, NE, T}
FiniteElementContainers.VectorizedElementField
— MethodVectorizedElementField{NN, NE}(vals::V) where {NN, NE, V <: AbstractArray{<:AbstractArray, 1}}
FiniteElementContainers.VectorizedElementField
— MethodVectorizedElementField{NN, NE}(vals::V) where {NN, NE, V <: AbstractArray{<:Number, 1}}
FiniteElementContainers.VectorizedNodalField
— Typestruct VectorizedNodalField{T, N, NF, NN, Vals<:AbstractArray{T, 1}} <: NodalField{T, N, NF, NN, Vals<:AbstractArray{T, 1}}
FiniteElementContainers.VectorizedNodalField
— MethodVectorizedNodalField{NF, NN}(vals::M) where {NF, NN, M <: AbstractArray{<:Number, 2}}
FiniteElementContainers.VectorizedNodalField
— MethodVectorizedNodalField{NF, NN, T}(::UndefInitializer) where {NF, NN, T <: AbstractArray}
FiniteElementContainers.VectorizedNodalField
— MethodVectorizedNodalField{NF, NN, T}(::UndefInitializer) where {NF, NN, T <: Number}
FiniteElementContainers.VectorizedNodalField
— MethodVectorizedNodalField{NF, NN, StructArray, T}(::UndefInitializer) where {NF, NN, T}
FiniteElementContainers.VectorizedNodalField
— MethodVectorizedNodalField{NF, NN}(vals::V) where {NF, NN, V <: AbstractArray{<:AbstractArray, 1}}
FiniteElementContainers.VectorizedNodalField
— MethodVectorizedNodalField{NF, NN}(vals::V) where {NF, NN, V <: AbstractArray{<:Number, 1}}
FiniteElementContainers.VectorizedPreAllocatedFunctionSpace
— Typestruct VectorizedPreAllocatedFunctionSpace{NDof, Conn<:(ElementField), DofConn<:(ElementField), RefFE<:ReferenceFiniteElements.ReferenceFE, V1<:QuadratureField, V2<:QuadratureField, V3<:QuadratureField} <: FunctionSpace{NDof, Conn<:(ElementField), RefFE<:ReferenceFiniteElements.ReferenceFE}
conn::ElementField
dof_conn::ElementField
ref_fe::ReferenceFiniteElements.ReferenceFE
Ns::QuadratureField
∇N_Xs::QuadratureField
JxWs::QuadratureField
FiniteElementContainers.VectorizedQuadratureField
— Typestruct VectorizedQuadratureField{T, N, NF, NQ, NE, Vals<:AbstractArray{T, 1}} <: QuadratureField{T, N, NF, NQ, NE, Vals<:AbstractArray{T, 1}}
FiniteElementContainers.VectorizedQuadratureField
— MethodVectorizedQuadratureField{1, NQ, NE}(vals::M) where {NQ, NE, M <: AbstractArray{<:Number, 2}}
FiniteElementContainers.VectorizedQuadratureField
— MethodVectorizedQuadratureField{NF, NQ, NE}(vals::S) where {NF, NQ, NE, S <: StructVector}
FiniteElementContainers.VectorizedQuadratureField
— MethodVectorizedQuadratureField{NF, NQ, NE, Vector, T}(::UndefInitializer) where {NF, NQ, NE, T}
FiniteElementContainers.VectorizedQuadratureField
— MethodVectorizedQuadratureField{1, NQ, NE}(vals::V) where {NQ, NE, V <: AbstractArray{<:Number, 1}}
Base.eltype
— Methodeltype(
_::Type{FiniteElementContainers.AbstractField{T, N, NF, Vals}}
) -> Any
Base.similar
— Methodsimilar(
asm::StaticAssembler
) -> StaticAssembler{_A, Int64, var"#s178", var"#s1781", var"#s1782", var"#s1783", var"#s1784", _B, <:AbstractVector{_A}} where {_A, var"#s178"<:AbstractVector{Int64}, var"#s1781"<:AbstractVector{Int64}, var"#s1782"<:AbstractVector{Int64}, var"#s1783"<:AbstractVector{Int64}, var"#s1784"<:AbstractVector{Int64}, _B<:NodalField}
Base.similar
— Methodsimilar(
field::FiniteElementContainers.SimpleElementField{T, N, NN, NE, Vals}
) -> FiniteElementContainers.SimpleElementField
Base.similar
— Methodsimilar(
field::FiniteElementContainers.SimpleNodalField{T, N, NF, NN, Vals}
) -> FiniteElementContainers.SimpleNodalField
Base.similar
— Methodsimilar(
field::FiniteElementContainers.SimpleQuadratureField{T, N, NF, NQ, NE, Vals}
) -> FiniteElementContainers.SimpleQuadratureField
Base.similar
— Methodsimilar(
field::FiniteElementContainers.VectorizedElementField{T, N, NN, NE, Vals}
) -> FiniteElementContainers.VectorizedElementField
Base.similar
— MethodBase.similar
— MethodBase.zero
— Methodzero(
_::FiniteElementContainers.SimpleElementField{T, N, NN, NE, Vals<:(StructArrays.StructVector)}
) -> FiniteElementContainers.SimpleElementField{_A, _B, _C, _D, Vals} where {_A, _B, _C, _D, Vals<:(StructArrays.StructVector)}
Base.zero
— Methodzero(
field::FiniteElementContainers.SimpleElementField{T, N, NN, NE, Vals<:AbstractArray}
) -> FiniteElementContainers.SimpleElementField{_A, _B, _C, _D, Vals} where {_A, _B, _C, _D, Vals<:(StructArrays.StructVector)}
Base.zero
— Methodzero(
_::FiniteElementContainers.SimpleNodalField{T, N, NF, NN, Vals}
) -> FiniteElementContainers.SimpleNodalField
Base.zero
— Methodzero(
field::FiniteElementContainers.SimpleQuadratureField{T, N, NF, NQ, NE, Vals}
) -> FiniteElementContainers.SimpleQuadratureField
Base.zero
— Methodzero(
field::FiniteElementContainers.VectorizedElementField{T, N, NN, NE, Vals}
) -> FiniteElementContainers.VectorizedElementField
Base.zero
— Methodzero(
field::FiniteElementContainers.VectorizedNodalField{T, N, NF, NN, Vals}
) -> FiniteElementContainers.VectorizedNodalField
Base.zero
— MethodBase.zero
— Methodzero(
_::Type{FiniteElementContainers.SimpleElementField{T, N, NN, NE, Vals<:(AbstractMatrix)}}
)
Base.zero
— Methodzero(
_::Type{FiniteElementContainers.SimpleElementField{T, N, NN, NE, Vals<:(StructArrays.StructVector)}}
) -> FiniteElementContainers.SimpleElementField{_A, _B, _C, _D, Vals} where {_A, _B, _C, _D, Vals<:(StructArrays.StructVector)}
Base.zero
— Methodzero(
_::Type{FiniteElementContainers.SimpleElementField{T, N, NN, NE, Vals<:StructArrays.StructArray}}
) -> FiniteElementContainers.SimpleElementField{_A, _B, _C, _D, Vals} where {_A, _B, _C, _D, Vals<:(StructArrays.StructVector)}
Base.zero
— Methodzero(
_::Type{FiniteElementContainers.SimpleNodalField{T, N, NF, NN, Vals}}
) -> FiniteElementContainers.SimpleNodalField
Base.zero
— Methodzero(
_::Type{FiniteElementContainers.SimpleQuadratureField{T, N, NF, NQ, NE, Vals<:(AbstractMatrix)}}
) -> FiniteElementContainers.SimpleQuadratureField{_A, _B, _C, _D, _E, Vals} where {_A, _B, _C, _D, _E, Vals<:(StructArrays.StructArray{_A, 2})}
Base.zero
— Methodzero(
_::Type{FiniteElementContainers.SimpleQuadratureField{T, N, NF, NQ, NE, Vals<:StructArrays.StructArray}}
) -> FiniteElementContainers.SimpleQuadratureField{_A, _B, _C, _D, _E, Vals} where {_A, _B, _C, _D, _E, Vals<:(StructArrays.StructArray{_A, 2})}
Base.zero
— Methodzero(
_::Type{FiniteElementContainers.VectorizedElementField{T, N, NN, NE, Vals<:(AbstractVector)}}
) -> FiniteElementContainers.VectorizedElementField
Base.zero
— Methodzero(
_::Type{FiniteElementContainers.VectorizedNodalField{T, N, NF, NN, Vals<:(AbstractVector{<:Number})}}
) -> FiniteElementContainers.VectorizedNodalField{_A, _B, _C, _D, Vals} where {_A<:Number, _B, _C, _D, Vals<:(StructArrays.StructVector{_A})}
Base.zero
— Methodzero(
_::Type{FiniteElementContainers.VectorizedNodalField{T, N, NF, NN, Vals<:(StructArrays.StructVector)}}
) -> FiniteElementContainers.VectorizedNodalField{_A, _B, _C, _D, Vals} where {_A, _B, _C, _D, Vals<:(StructArrays.StructVector{_A})}
Base.zero
— MethodBase.zero
— MethodFiniteElementContainers.assemble!
— Methodassemble!(
assembler::DynamicAssembler,
dof::DofManager,
fspace::FunctionSpace,
X,
U,
block_id,
residual_func,
tangent_func,
mass_func
)
Simple method for assembling in serial
FiniteElementContainers.assemble!
— Methodassemble!(
assembler::DynamicAssembler,
dof::DofManager,
fspaces,
X,
U,
residual_func,
tangent_func,
mass_func
)
FiniteElementContainers.assemble!
— Methodassembly method for matrix free assembler when functions for the element level residual and tangent_func are provided
FiniteElementContainers.assemble!
— Methodassemble!(
global_val::NodalField,
fspace,
block_num,
e,
local_val
)
Assembly method for residuals
FiniteElementContainers.assemble!
— Methodassemble!(
global_val::StaticAssembler,
fspace,
block_num,
e,
local_val
)
FiniteElementContainers.assemble!
— Methodassemble!(
global_val::Vector,
fspace,
block_num,
e,
local_val
)
Assembly method for a scalar field stored as a size 1 vector
FiniteElementContainers.assemble!
— Methodassemble!(
assembler::DynamicAssembler,
K_el::AbstractMatrix{<:Number},
M_el::AbstractMatrix{<:Number},
block_id::Int64,
el_id::Int64
) -> AbstractMatrix{<:Number}
assembly for stiffness matrix
FiniteElementContainers.assemble!
— Methodassemble!(
assembler::StaticAssembler,
K_el::AbstractMatrix,
block_id::Int64,
el_id::Int64
) -> Any
assembly for stiffness matrix
FiniteElementContainers.assemble!
— Methodassemble!(
R::AbstractArray{<:Number},
Kv::AbstractArray{<:Number},
R_el::AbstractArray{<:Number},
Kv_el::AbstractArray{<:Number},
conn::AbstractArray{<:Integer}
)
generic assembly method that directly goes into a vector for doing a residual and matrix vector product at once
FiniteElementContainers.assemble!
— Methodassemble!(
R::AbstractArray{<:Number},
R_el::AbstractArray{<:Number},
conn::AbstractArray{<:Integer}
)
generic assembly method that directly goes into a vector
FiniteElementContainers.assemble_atomic!
— Methodassemble_atomic!(
assembler::StaticAssembler,
K_el::AbstractMatrix,
block_id::Int64,
el_id::Int64
)
assembly for stiffness matrix
FiniteElementContainers.assemble_atomic!
— Methodassemble_atomic!(
R::NodalField,
R_el::AbstractVector{<:Number},
conn::AbstractVector{<:Integer}
)
assembly method for just a residual vector
TODO need to add an Atomix lock here TODO add block_id to fspace or something like that
FiniteElementContainers.connectivity
— Methodconnectivity(
conn::FiniteElementContainers.SimpleElementField,
e::Int64
) -> Any
FiniteElementContainers.connectivity
— Methodconnectivity(
conn::FiniteElementContainers.SimpleElementField
) -> Any
FiniteElementContainers.connectivity
— Methodconnectivity(
conn::FiniteElementContainers.VectorizedElementField{T, N, NN, NE, Vals} where {T, N, NN, NE, Vals}
) -> Any
FiniteElementContainers.connectivity
— Methodconnectivity(fspace::FunctionSpace, e::Int64) -> Any
FiniteElementContainers.connectivity
— Methodconnectivity(fspace::FunctionSpace) -> Any
FiniteElementContainers.connectivity
— Methodconnectivity(
conn::FiniteElementContainers.VectorizedElementField{T, 1, NN, NE, Vals},
e::Int64
) -> Any
FiniteElementContainers.connectivity
— Methodconnectivity(
conn::FiniteElementContainers.VectorizedElementField{T, 2, NN, NE, Vals},
e::Int64
) -> SubArray{T, 1} where T
FiniteElementContainers.coordinates
— FunctionDummy method to be overriden for specific mesh file format
FiniteElementContainers.copy_mesh
— FunctionDummy method to be overriden for specific mesh file format
FiniteElementContainers.create_unknowns
— Methodcreate_unknowns(dof::DofManager{T, ND, NN, A, V}) -> Any
FiniteElementContainers.discrete_gradient
— Methoddiscrete_gradient(_::IncompressiblePlaneStress, ∇N_X) -> Any
FiniteElementContainers.discrete_gradient
— Methoddiscrete_gradient(_::PlaneStrain, ∇N_X) -> Any
FiniteElementContainers.discrete_gradient
— Methoddiscrete_gradient(_::ThreeDimensional, ∇N_X) -> Any
FiniteElementContainers.discrete_gradient
— Methoddiscrete_gradient(
fspace::FunctionSpace,
type::AbstractMechanicsFormulation,
X,
q,
e
) -> Any
FiniteElementContainers.discrete_symmetric_gradient
— Methoddiscrete_symmetric_gradient(
_::IncompressiblePlaneStress,
∇N_X
) -> Any
FiniteElementContainers.discrete_symmetric_gradient
— Methoddiscrete_symmetric_gradient(_::PlaneStrain, ∇N_X) -> Any
FiniteElementContainers.discrete_symmetric_gradient
— Methoddiscrete_symmetric_gradient(
_::ThreeDimensional,
∇N_X
) -> Any
FiniteElementContainers.discrete_symmetric_gradient
— Methoddiscrete_symmetric_gradient(
fspace,
type::AbstractMechanicsFormulation,
X,
q,
e
) -> Any
FiniteElementContainers.dof_connectivity
— Methoddof_connectivity(fspace::FunctionSpace, e::Int64) -> Any
FiniteElementContainers.dof_connectivity
— Methoddof_connectivity(fspace::FunctionSpace) -> Any
FiniteElementContainers.dof_ids
— Methoddof_ids(_::DofManager{T, ND, NN, A, V}) -> Any
FiniteElementContainers.element_block_ids
— FunctionDummy method to be overriden for specific mesh file format
FiniteElementContainers.element_connectivity
— FunctionDummy method to be overriden for specific mesh file format
FiniteElementContainers.element_level_coordinates
— Methodelement_level_coordinates(
fspace::FunctionSpace,
x,
e::Int64
) -> Any
FiniteElementContainers.element_level_fields
— Methodelement_level_fields(
fspace::FunctionSpace,
u,
e::Int64
) -> Any
FiniteElementContainers.element_level_fields
— Methodelement_level_fields(
fspace::FunctionSpace,
u::NodalField
) -> Any
FiniteElementContainers.element_level_fields_reinterpret
— Methodelement_level_fields_reinterpret(
fspace::FunctionSpace,
u::NodalField,
e::Int64
) -> Any
FiniteElementContainers.element_level_fields_reinterpret
— Methodelement_level_fields_reinterpret(
fspace::FunctionSpace,
u::NodalField
) -> Any
FiniteElementContainers.element_type
— FunctionDummy method to be overriden for specific mesh file format
FiniteElementContainers.extract_stiffness
— Methodextract_stiffness(
_::IncompressiblePlaneStress,
A::Tensors.Tensor{4, 3, T<:Number, 81}
) -> StaticArraysCore.SArray
FiniteElementContainers.extract_stiffness
— Methodextract_stiffness(
_::PlaneStrain,
A::Tensors.Tensor{4, 3, T<:Number, 81}
) -> StaticArraysCore.SArray
FiniteElementContainers.extract_stiffness
— Methodextract_stiffness(
_::ThreeDimensional,
A_in::Tensors.Tensor{4, 3, T<:Number, 81}
) -> StaticArraysCore.SArray
FiniteElementContainers.extract_stress
— Methodextract_stress(
_::IncompressiblePlaneStress,
P::Tensors.Tensor{2, 3, T<:Number, 9}
) -> StaticArraysCore.SArray
FiniteElementContainers.extract_stress
— Methodextract_stress(
_::PlaneStrain,
P::Tensors.Tensor{2, 3, T<:Number, 9}
) -> StaticArraysCore.SArray
FiniteElementContainers.extract_stress
— Methodextract_stress(
_::ThreeDimensional,
P::Tensors.Tensor{2, 3, T<:Number, 9}
) -> StaticArraysCore.SArray
FiniteElementContainers.file_name
— Methodfile_name(mesh::FiniteElementContainers.AbstractMesh) -> Any
Returns file name for an mesh type
FiniteElementContainers.float_type
— Methodfloat_type(_::Assembler{R, I}) -> Any
FiniteElementContainers.int_type
— Methodint_type(_::Assembler{R, I}) -> Any
FiniteElementContainers.modify_field_gradients
— Functionmodify_field_gradients(form::ThreeDimensional, ∇u_q) -> Any
modify_field_gradients(
form::ThreeDimensional,
∇u_q,
type
) -> Any
FiniteElementContainers.modify_field_gradients
— Methodmodify_field_gradients(
_::ThreeDimensional,
∇u_q,
_::Type{<:StaticArraysCore.SArray}
) -> Any
FiniteElementContainers.modify_field_gradients
— Methodmodify_field_gradients(
_::ThreeDimensional,
∇u_q,
_::Type{<:Tensors.Tensor}
) -> Any
FiniteElementContainers.modify_field_gradients
— Methodmodify_field_gradients(
_::IncompressiblePlaneStress,
∇u_q::StaticArraysCore.SArray{Tuple{2, 2}, T<:Number, 2, 4},
_::Type{<:StaticArraysCore.SArray}
) -> StaticArraysCore.SArray
FiniteElementContainers.modify_field_gradients
— Methodmodify_field_gradients(
_::IncompressiblePlaneStress,
∇u_q::StaticArraysCore.SArray{Tuple{2, 2}, T<:Number, 2, 4},
_::Type{<:Tensors.Tensor}
) -> Tensors.Tensor{2, 3, _A, 9} where _A
FiniteElementContainers.modify_field_gradients
— Methodmodify_field_gradients(
_::IncompressiblePlaneStress,
∇u_q::Tensors.Tensor{2, 2, T<:Number, 4},
_::Type{<:Tensors.Tensor}
) -> Tensors.Tensor{2, 3, _A, 9} where _A
FiniteElementContainers.modify_field_gradients
— Methodmodify_field_gradients(
_::PlaneStrain,
∇u_q::StaticArraysCore.SArray{Tuple{2, 2}, T<:Number, 2, 4},
_::Type{<:StaticArraysCore.SArray}
) -> StaticArraysCore.SArray
FiniteElementContainers.modify_field_gradients
— Methodmodify_field_gradients(
_::PlaneStrain,
∇u_q::StaticArraysCore.SArray{Tuple{2, 2}, T<:Number, 2, 4},
_::Type{<:Tensors.Tensor}
) -> Tensors.Tensor{2, 3, _A, 9} where _A
FiniteElementContainers.modify_field_gradients
— MethodTo deprecate or not to deprecate?
modify_field_gradients(
form::PlaneStrain,
∇u_q::StaticArraysCore.SArray{Tuple{2, 2}, T<:Number, 2, 4};
type
) -> Tensors.Tensor{2, 3, _A, 9} where _A
FiniteElementContainers.modify_field_gradients
— Methodmodify_field_gradients(
_::PlaneStrain,
∇u_q::Tensors.Tensor{2, 2, T<:Number, 4},
_::Type{<:Tensors.Tensor}
) -> Tensors.Tensor{2, 3, _A, 9} where _A
FiniteElementContainers.nodeset
— FunctionDummy method to be overriden for specific mesh file format
FiniteElementContainers.nodeset_ids
— FunctionDummy method to be overriden for specific mesh file format
FiniteElementContainers.num_dimensions
— FunctionDummy method to be overriden for specific mesh file format
FiniteElementContainers.num_dimensions
— Methodnum_dimensions(fspace::FunctionSpace) -> Any
FiniteElementContainers.num_dimensions
— Methodnum_dimensions(_::AbstractMechanicsFormulation{ND}) -> Any
FiniteElementContainers.num_dofs_per_node
— Methodnum_dofs_per_node(_::FunctionSpace{ND, RefFE, Conn}) -> Any
FiniteElementContainers.num_elements
— Methodnum_elements(fspace::FunctionSpace) -> Any
FiniteElementContainers.num_elements
— Methodnum_elements(_::ElementField{T, N, NN, NE, Vals}) -> Any
FiniteElementContainers.num_elements
— Methodnum_elements(
_::QuadratureField{T, N, NF, NQ, NE, Vals}
) -> Any
FiniteElementContainers.num_fields
— Methodnum_fields(
_::FiniteElementContainers.AbstractField{T, N, NF, Vals}
) -> Any
FiniteElementContainers.num_nodes
— FunctionDummy method to be overriden for specific mesh file format
FiniteElementContainers.num_nodes
— Methodnum_nodes(_::NodalField{T, N, NF, NN, Vals}) -> Any
FiniteElementContainers.num_nodes_per_element
— Methodnum_nodes_per_element(field::ElementField) -> Any
FiniteElementContainers.num_nodes_per_element
— Methodnum_nodes_per_element(fspace::FunctionSpace) -> Any
FiniteElementContainers.num_q_points
— Methodnum_q_points(fspace::FunctionSpace) -> Any
FiniteElementContainers.num_q_points
— Methodnum_q_points(
_::QuadratureField{T, N, NF, NQ, NE, Vals}
) -> Any
FiniteElementContainers.quadrature_level_field_gradients
— Methodquadrature_level_field_gradients(
fspace::FunctionSpace,
X::NodalField,
u::NodalField,
q::Int64,
e::Int64
) -> Any
FiniteElementContainers.quadrature_level_field_values
— Methodquadrature_level_field_values(
fspace::FunctionSpace,
_::NodalField,
u::NodalField,
q::Int64,
e::Int64
) -> Any
FiniteElementContainers.quadrature_points
— Methodquadrature_points(fspace::FunctionSpace, q::Int64) -> Any
FiniteElementContainers.quadrature_weights
— Methodquadrature_weights(fspace::FunctionSpace, q::Int64) -> Any
FiniteElementContainers.reference_element
— Methodreference_element(fspace::FunctionSpace) -> Any
FiniteElementContainers.shape_function_gradients
— Methodshape_function_gradients(
fspace::FunctionSpace,
q::Int64
) -> Any
FiniteElementContainers.shape_function_hessians
— Methodshape_function_hessians(
fspace::FunctionSpace,
q::Int64
) -> Any
FiniteElementContainers.shape_function_values
— Methodshape_function_values(
fspace::FunctionSpace,
q::Int64
) -> Any
FiniteElementContainers.sideset
— FunctionDummy method to be overriden for specific mesh file format
FiniteElementContainers.sideset_ids
— FunctionDummy method to be overriden for specific mesh file format
FiniteElementContainers.update_fields!
— Methodupdate_fields!(
U::NodalField,
dof::DofManager,
Uu::AbstractVector{<:Number}
) -> AbstractVector{<:Number}
FiniteElementContainers.update_unknown_dofs!
— Methodupdate_unknown_dofs!(dof::DofManager{T, ND, NN, A, V})
"Default" method to reset all dofs to unknown
FiniteElementContainers.update_unknown_dofs!
— Methodupdate_unknown_dofs!(
dof_manager::DofManager,
dofs::AbstractVector{<:Integer}
)
Method when all dofs are updated at once
First it resets all dofs to unknowns, then one by one sets dofs to bcs in dofs
Assumes there's a unique set of nodes provided
FiniteElementContainers.update_unknown_dofs!
— Methodupdate_unknown_dofs!(
assembler::Union{DynamicAssembler, StaticAssembler},
dof,
fspaces,
nodes_in::AbstractVector{<:Integer}
)
method that assumes first dof TODO move sorting of nodes up stream TODO remove other scratch unknowns and unknown_dofs arrays
FiniteElementContainers.volume
— Methodvolume(
fspace::FunctionSpace,
X::NodalField,
e::Int64
) -> Any
FiniteElementContainers.volume
— Methodvolume(fspace::FunctionSpace, X::NodalField) -> Any
FiniteElementContainers.volume
— Methodvolume(
fspace::FunctionSpace,
_::ReferenceFiniteElements.ReferenceFEType,
X::NodalField,
q::Int64,
e::Int64
) -> Any
SparseArrays.sparse!
— Methodsparse!(
assembler::DynamicAssembler
) -> Tuple{SparseArrays.SparseMatrixCSC, SparseArrays.SparseMatrixCSC}
SparseArrays.sparse!
— Methodsparse!(
assembler::StaticAssembler
) -> SparseArrays.SparseMatrixCSC
SparseArrays.sparse
— Methodsparse(
assembler::DynamicAssembler
) -> Tuple{SparseArrays.SparseMatrixCSC, SparseArrays.SparseMatrixCSC}
SparseArrays.sparse
— Methodsparse(
assembler::StaticAssembler
) -> SparseArrays.SparseMatrixCSC