Gridap.MultiField
Gridap.MultiField — ModuleThe exported names are
Gridap.MultiField.BlockMultiFieldStyle — Typestruct 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 blocks
- SB: Size of each assembly block, as a Tuple.
- P : Permutation of the variables of the multifield space when assembling, as a Tuple.
Gridap.MultiField.BlockSparseMatrixAssembler — Typestruct 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 — Typestruct ConsecutiveMultiFieldStyle <: MultiFieldStyle endThe DoF ids of the collective space are the concatenation of the DoF ids of the individual spaces.
Gridap.MultiField.MultiFieldFEFunction — Typestruct MultiFieldFEFunction <: CellField
# private fields
endGridap.MultiField.MultiFieldFESpace — Typestruct MultiFieldFESpace{S<:MultiFieldStyle,B} <: FESpace
spaces::Vector{<:SingleFieldFESpace}
multi_field_style::S
constraint_style::Val{B}
endGridap.MultiField.MultiFieldFESpace — MethodMultiFieldFESpace(spaces::Vector{<:SingleFieldFESpace})Gridap.MultiField.StridedMultiFieldStyle — Typestruct StridedMultiFieldStyle <: MultiFieldStyle endNot implemented yet.
Gridap.FESpaces.interpolate — MethodThe 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_dirichlet — MethodGridap.FESpaces.interpolate_everywhere — Methodlike 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.compute_field_offsets — Methodcompute_field_offsets(f::MultiFieldFESpace)Gridap.MultiField.num_fields — Methodnum_fields(m::MultiFieldFEFunction)Gridap.MultiField.num_fields — Methodnum_fields(f::MultiFieldFESpace)Number of spaces within the multi-field space. Defaults to 1 for SingleFieldFESpaces.
Gridap.MultiField.restrict_to_field — Methodrestrict_to_field(f::MultiFieldFESpace,free_values::AbstractVector,field::Integer)