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 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 — 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.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(spaces::Vector{<:SingleFieldFESpace})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.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)