GridapROMs.ParamFESpaces
GridapROMs.Extensions.BlockExtension — Type
struct BlockExtension <: ExtensionStyle
extension::Vector{<:ExtensionStyle}
endExtension style for multi-field variables
GridapROMs.Extensions.DirectSumFESpace — Type
struct DirectSumFESpace{S<:SingleFieldFESpace,T<:SingleFieldFESpace} <: SingleFieldFESpace
space::EmbeddedFESpace{S,T}
complementary::EmbeddedFESpace
endFE space which essentially acts as a wrapper around an EmbeddedFESpace space, but also stores its complementary space complementary obtained by calling complementary_space. This interface is useful for defining extension operators from space onto complementary
GridapROMs.Extensions.EmbeddedFESpace — Type
struct EmbeddedFESpace{S<:SingleFieldFESpace,T<:SingleFieldFESpace} <: SingleFieldFESpace
space::S
bg_space::T
fdof_to_bg_fdofs::AbstractVector
ddof_to_bg_ddofs::AbstractVector
bg_cell_dof_ids::AbstractArray
endRepresents a FE space space embedded in a background FE space bg_space. Fields:
space: target FE spacebg_space: background FE space, which can be envisioned as the parent ofspacefdof_to_bg_fdofs: maps the active free DOFs inspaceto the active free
DOFs in bg_space
ddof_to_bg_ddofs: maps the active dirichlet DOFs inspaceto the active dirichlet
DOFs in bg_space
bg_cell_dof_ids: connectivity ofspaceon the background mesh, meaning that
the dof range and the number of cells are that of bg_space. NOTE: the DOFs here are NOT active, they are the internal ones
GridapROMs.Extensions.ExtensionAssembler — Type
struct ExtensionAssembler <: SparseMatrixAssembler
assem::SparseMatrixAssembler
trial_dof_to_bg_dofs::NTuple{2,AbstractVector}
test_dof_to_bg_dofs::NTuple{2,AbstractVector}
endStructure that allows to decouple the assembly of FE matrices/vectors from the integration of weak formulations, to be used exclusively in the context of a trial/test couple of DirectSumFESpace. After performing integration on the FE space, the assembly is done on the background space. The latter step can be done by exploiting the fields
assem: a SparseMatrixAssembler defined on the FE spacetrial_dof_to_bg_dofs: index maps from the free/Dirichlet dofs on the trial FE space to those on the background trial spacetest_dof_to_bg_dofs: index maps from the free/Dirichlet dofs on the test FE space to those on the background test space
GridapROMs.Extensions.ExtensionParamOperator — Type
struct ExtensionParamOperator{O,T} <: ParamOperator{O,T}
op::ParamOperator{O,T}
endActs as a standard ParamOperator, but returns an ExtensionAssembler when calling the function get_assembler
GridapROMs.Extensions.ExtensionParamOperator — Method
ExtensionParamOperator(args...;kwargs...) -> ExtensionParamOperatorGridapROMs.Extensions.ExtensionStyle — Type
abstract type ExtensionStyle endAbstraction for different extension methods. Subtypes:
GridapROMs.Extensions.HarmonicExtension — Type
struct HarmonicExtension <: ExtensionStyle endExtension by means of a discrete Laplace operator
GridapROMs.Extensions.MassExtension — Type
struct MassExtension <: ExtensionStyle endExtension by means of a mass operator
GridapROMs.Extensions.MissingDofsFESpace — Type
struct MissingDofsFESpace{V} <: SingleFieldFESpace
vector_type::Type{V}
nfree::Int
ndirichlet::Int
cell_dofs_ids::AbstractArray
fe_basis::CellField
fe_dof_basis::CellDof
cell_is_dirichlet::AbstractArray{Bool}
dirichlet_dof_tag::Vector{Int8}
dirichlet_cells::Vector{Int32}
ntags::Int
endSame as an UnconstrainedFESpace in Gridap, with the possibilty using zeros to indicate constrained DOFs – i.e. DOFs that do not contribute to the assembly of FE vectors/matrices. Note: one could also use a FESpaceWithLinearConstraints instead, but that would be overly complicated in most scenarios
GridapROMs.Extensions.ZeroExtension — Type
struct ZeroExtension <: ExtensionStyle endExtension by zero
GridapROMs.Extensions.:⊕ — Method
(⊕)(uh::FEFunction,vh::FEFunction) -> FEFunctionGiven a FEFunction uh defined on a FE space and a FEFunction vh defined on its complementary (see complementary_space for more details), returns a FEFunction defined as their direct sum. In practice, the output's values coincides with those of uh on the DOFs associated with the space, and those of vh on the DOFs associated with the complementary
GridapROMs.Extensions.ExtensionLinearNonlinearParamOperator — Method
ExtensionLinearNonlinearParamOperator(args...;kwargs...) -> ExtensionParamOperatorGridapROMs.Extensions.ExtensionLinearParamOperator — Method
ExtensionLinearParamOperator(args...;kwargs...) -> ExtensionParamOperatorGridapROMs.Extensions.TransientExtensionLinearNonlinearParamOperator — Method
TransientExtensionLinearNonlinearParamOperator(args...;kwargs...) -> ExtensionParamOperatorGridapROMs.Extensions.TransientExtensionLinearParamOperator — Method
TransientExtensionLinearParamOperator(args...;kwargs...) -> ExtensionParamOperatorGridapROMs.Extensions.TransientExtensionParamOperator — Method
TransientExtensionParamOperator(args...;kwargs...) -> ExtensionParamOperatorGridapROMs.Extensions.complementary_space — Method
complementary_space(space::EmbeddedFESpace) -> EmbeddedFESpaceGiven a FE space space embedded in a background FE space, called for e.g. bg_space, computes the complementary of space embedded in bg_space, defined as the space with free and Dirichlet dofs belonging to bg_space whose intersection with free and Dirichlet dofs belonging to space is empty. The reference FE space coincides with that belonging to space
GridapROMs.Extensions.extend_solution! — Method
extend_solution!(u_bg::AbstractVector,ext::ExtensionStyle,f::FESpace,u::AbstractVector)In-place version of extend_solution
GridapROMs.Extensions.extend_solution — Method
extend_solution(ext::ExtensionStyle,f::FESpace,u::AbstractVector) -> AbstractVectorExtension of the nodal values u associated with a FE function defined on f according to the extension style ext
GridapROMs.Extensions.harmonic_extension — Method
harmonic_extension(fout::SingleFieldFESpace,uh_in_bg::FEFunction) -> FEFunctionGiven a FEFunction uh_in_bg defined on an EmbeddedFESpace – so that nodal and cell values are available on a background FE space, in addition to the FE space itself – it returns the harmonic extension to the complementary FE space fout
GridapROMs.Extensions.mass_extension — Method
mass_extension(fout::SingleFieldFESpace,uh_in_bg::FEFunction) -> FEFunctionGiven a FEFunction uh_in_bg defined on an EmbeddedFESpace – so that nodal and cell values are available on a background FE space, in addition to the FE space itself – it returns the mass extension to the complementary FE space fout