Gridap.MultiField

Gridap.MultiField.BlockMultiFieldStyleType
struct BlockMultiFieldStyle{NB,SB,P} <: MultiFieldStyle end

Similar 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.
source
Gridap.MultiField.BlockSparseMatrixAssemblerType
struct BlockSparseMatrixAssembler{R,C} <: FESpaces.SparseMatrixAssembler
    block_assemblers :: AbstractMatrix{<:Assembler}
end

Block-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)

  • NB is the total number of blocks in the row/column direction.
  • SB is a tuple containing the number of fields in each block.
  • P is a tuple containing the permutation of the fields.
source
Gridap.FESpaces.interpolateMethod

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)

source
Gridap.FESpaces.interpolate_everywhereMethod

like interpolate, but also compute new degrees of freedom for the dirichlet component. The resulting MultiFieldFEFunction does not necessary belongs to the underlying space

source