GridapROMs.ParamODEs

GridapROMs.ParamODEsModule
module ParamODEs

Parametric FE operators and solutions for transient parametric PDEs.

Extends ParamSteady to the time-dependent setting, building on Gridap's ODEs machinery. Key components:

  • Time derivatives∂ₚt and ∂ₚtt, parameter-aware analogues of Gridap's ∂t/∂tt, for use inside weak forms.
  • Transient trial spacesTransientTrialParamFESpace and TransientMultiFieldParamFESpace add time-varying Dirichlet conditions to parametric FE spaces.
  • ODE operatorsODEParamOperator hierarchy (JointODEParamOperator, SplitODEParamOperator, LinearNonlinearODEParamOperator, …) translate a transient parametric weak form into the residual/Jacobian signature expected by Gridap's time-marching schemes.
  • Stage operatorsParamStageOperator wraps a single ODE stage solve, keeping track of the current time, stage coefficients, and parameter realisation.
  • Transient FE operatorsTransientParamFEOperator and specialisations (SplitTransientParamFEOperator, TransientLinearParamFEOperator, …) combine the spatial FE machinery with time-derivative information.
  • ODE solutionsODEParamSolution iterates over time steps, yielding (realisation, FEFunction) pairs; TransientParamFESolution wraps this iterator into a ParamFEFunction per time step.
  • Shifted solversShiftedSolver applies a constant operator shift to a linear solver, enabling efficient generalised-alpha or implicit-explicit schemes.

Modules RBTransient and Extensions depend on the abstractions defined here.

source
GridapROMs.ParamODEs.ParamStageOperatorType
struct ParamStageOperator{O} <: NonlinearParamOperator
  op::ODEParamOperator{O}
  r::TransientRealisation
  state_update::Function
  ws::Tuple{Vararg{Real}}
  paramcache::AbstractParamCache
end

Stage operator to solve a parametric ODE with a time marching scheme

source
GridapROMs.ParamODEs.TransientLinearParamFEOpFromWeakFormType
struct TransientLinearParamFEOpFromWeakForm{T} <: TransientParamFEOperator{LinearParamODE,T}
  res::Function
  jacs::Tuple{Vararg{Function}}
  constant_forms::Tuple{Vararg{Bool}}
  tpspace::TransientParamSpace
  assem::Assembler
  trial::FESpace
  test::FESpace
  domains::FEDomains
  order::Integer
end

Instance of TransientParamFEOperator, to be used when the transient problem is linear

source
GridapROMs.ParamODEs.TransientParamFEOperatorType
const TransientParamFEOperator{O<:ODEParamOperatorType,T<:TriangulationStyle} = ParamFEOperator{O,T}

Parametric extension of a TransientFEOperator in Gridap. Compared to a standard TransientFEOperator, there are the following novelties:

  • a TransientParamSpace is provided, so that parametric realisations can be extracted directly from the TransientParamFEOperator
  • a function representing a norm matrix is provided, so that errors in the desired norm can be automatically computed

Subtypes:

source
GridapROMs.ParamODEs.TransientParamFESolutionType
struct TransientParamFESolution{V} <: TransientFESolution
  odesol::ODEParamSolution{V}
  trial
end

Wrapper around a TransientParamFEOperator and ODESolver that represents the parametric solution at a set of time steps. It is an iterator that computes the solution at each time step in a lazy fashion when accessing the solution.

source