Gridap.MultiField
Gridap.MultiField.BlockMultiFieldStyle — Type
struct BlockMultiFieldStyle{NB,SB,P} <: MultiFieldStyle endSimilar to ConsecutiveMultiFieldStyle, but we keep the original DoF ids of the individual spaces for better block assembly (see BlockSparseMatrixAssembler).
Takes three parameters:
NB: Number of assembly blocksSB: Size of each assembly block, as aTuple.P: Permutation of the variables of the multifield space when assembling, as aTuple.
Gridap.MultiField.BlockSparseMatrixAssembler — Type
struct BlockSparseMatrixAssembler{R,C} <: FESpaces.SparseMatrixAssembler
block_assemblers :: AbstractMatrix{<:Assembler}
endBlock-wise sparse matrix assembler. This assembler is used to assemble block matrices, given an assembler for each block.
The block structure is given by the parameters R and C. Both are tuples containing the block structure of the rows and columns, respectively. These block structures are encoded in the following way: R/C = (NB,SB,P)
NBis the total number of blocks in the row/column direction.SBis a tuple containing the number of fields in each block.Pis a tuple containing the permutation of the fields.
Gridap.MultiField.ConsecutiveMultiFieldStyle — Type
struct ConsecutiveMultiFieldStyle <: MultiFieldStyle endThe DoF ids of the collective space are the concatenation of the DoF ids of the individual spaces.
Gridap.MultiField.MultiFieldCellField — Type
struct MultiFieldCellField{DS<:DomainStyle} <: CellFieldGridap.MultiField.MultiFieldFEFunction — Type
struct MultiFieldFEFunction <: CellField
# private fields
endGridap.MultiField.MultiFieldFESpace — Type
struct MultiFieldFESpace{S<:MultiFieldStyle,B} <: FESpace
spaces::Vector{<:SingleFieldFESpace}
multi_field_style::S
constraint_style::Val{B}
endGridap.MultiField.MultiFieldFESpace — Method
MultiFieldFESpace(::Type{V}, spaces::Vector{<:SingleFieldFESpace})
MultiFieldFESpace( spaces::Vector{<:SingleFieldFESpace};
style = ConsecutiveMultiFieldStyle()
)Gridap.MultiField.StaticCondensationOperator — Method
function StaticCondensationOperator(full_space::FESpace, args...; kwargs...)
function StaticCondensationOperator(ptopo, full_space::FESpace, args...; kwargs...)Gridap.MultiField.StridedMultiFieldStyle — Type
struct StridedMultiFieldStyle <: MultiFieldStyle endNot implemented yet.
Gridap.FESpaces.interpolate — Method
The resulting MultiFieldFEFunction is in the space (in particular it fulfills Dirichlet BCs even in the case that the given cell field does not fulfill them)
Gridap.FESpaces.interpolate_everywhere — Method
like interpolate, but also compute new degrees of freedom for the dirichlet component. The resulting MultiFieldFEFunction does not necessary belongs to the underlying space
Gridap.MultiField.MultiFieldFEBasis — Function
Gridap.MultiField.compute_field_offsets — Method
compute_field_offsets(f::MultiFieldFESpace)Gridap.MultiField.num_fields — Method
num_fields(m::MultiFieldFEFunction)Gridap.MultiField.num_fields — Method
num_fields(f::MultiFieldFESpace)Number of spaces within the multi-field space. Defaults to 1 for SingleFieldFESpaces.
Gridap.MultiField.restrict_to_field — Method
restrict_to_field(f::MultiFieldFESpace,free_values::AbstractVector,field::Integer)