FEVector

A FEVector consists of FEVectorBlocks that share a common one-dimensional array. Each block is associated to a FESpace and can only write into a region of the common array specified by offsets that stores the degrees of freedom of that FEspace.

ExtendableFEMBase.FEVectorType
struct FEVector{T, Tv, Ti}

a plain array but with an additional layer of several FEVectorBlock subdivisions each carrying coefficients for their associated FESpace. The j-th block can be accessed by getindex(::FEVector, j) or by getindex(::FEVector, tag) if tags are associated. The full vector can be accessed via FEVector.entries

source
ExtendableFEMBase.FEVectorMethod
FEVector{T}(FES; name = nothing, tags = nothing, kwargs...) where T <: Real

Creates FEVector that has one block if FES is a single FESpace, and a blockwise FEVector if FES is a vector of FESpaces. Optionally a name for the vector (as a String) or each of the blocks (as a vector of Strings), or tags (as an Array{Any}) for the blocks can be specified.

source
ExtendableFEMBase.FEVectorBlockType
struct FEVectorBlock{T, Tv, Ti, FEType, APT} <: AbstractArray{T, 1}

block of an FEVector that carries coefficients for an associated FESpace and can be assigned as an AbstractArray (getindex, setindex, size, length)

source
Base.append!Method
append!(
    FEF::FEVector{T},
    FES::FESpace{Tv, Ti, FEType, APT};
    name,
    tag
) -> Int64

Overloaded append function for FEVector that adds a FEVectorBlock at the end.

source
Base.fill!Method
fill!(b::FEVectorBlock, value)

Overloaded fill function for FEVectorBlock (only fills the block, not the complete FEVector).

source
Base.lengthMethod
length(FEB::FEVectorBlock) -> Int64

Custom length function for FEVectorBlock that gives the coressponding number of degrees of freedoms of the associated FESpace

source
Base.lengthMethod
length(FEF::FEVector) -> Int64

Custom length function for FEVector that gives the number of defined FEMatrixBlocks in it

source
Base.showMethod
show(io::IO, FEF::FEVector)

Custom show function for FEVector that prints some information on its blocks.

source
Base.viewMethod

returns a view of the part of the full FEVector that coressponds to the block.

source
ExtendableFEMBase.FESpacesMethod
FESpaces(
    FEV::FEVector{T, Tv, Ti}
) -> Vector{T} where T<:(FESpace{_A, _B} where {_B, _A})

Returns the vector of FEspaces for the blocks of the given FEVector.

source
LinearAlgebra.dotMethod
dot(a::FEVectorBlock{T}, b::FEVectorBlock{T}) -> Any

Scalar product between two FEVEctorBlocks

source