GridapROMs.ParamAlgebra
GridapROMs.ParamAlgebra — Module
module ParamAlgebraAlgebraic infrastructure for parametric operators and solvers.
NonlinearParamOperator— abstract parametric nonlinear operator; residual and Jacobian are assembled for all parameter values simultaneously.GenericParamNonlinearOperator— generic concrete implementation.ParamCache/SystemCache— caches for operator evaluations (residuals and Jacobians).- Solver extensions:
solve!overloads forLinearSolverandNewtonSolveracting on parametric operators.
GridapROMs.ParamAlgebra.AbstractParamCache — Type
abstract type AbstractParamCache <: GridapType endGridapROMs.ParamAlgebra.GenericParamNonlinearOperator — Type
struct GenericParamNonlinearOperator{A} <: NonlinearParamOperator
op::A
μ::AbstractRealisation
paramcache::ParamCache
endFields:
op:NonlinearParamOperatorrepresenting a parametric differential problemμ:AbstractRealisationrepresenting the parameters at which the problem is solvedparamcache: cache of the problem
GridapROMs.ParamAlgebra.LinNonlinParamOperator — Type
struct LinNonlinParamOperator{A,B} <: NonlinearParamOperator
op_linear::A
op_nonlinear::B
cache_linear::AbstractParamCache
endInterface that allows to split the linear part of a parametric, nonlinear, differential operator from the nonlinear part. Fields:
op_linear: linear part of the operatorop_nonlinear: nonlinear part of the operatorcache_linear: cache related to the linear part of the operator
GridapROMs.ParamAlgebra.NonlinearParamOperator — Type
abstract type NonlinearParamOperator <: NonlinearOperator endGridapROMs.ParamAlgebra.ParamCache — Type
mutable struct ParamCache <: AbstractParamCache
trial
ptrial
endGridapROMs.ParamAlgebra.SystemCache — Type
struct SystemCache <: AbstractParamCache
A
b
x
endGridapROMs.ParamAlgebra.allocate_paramcache — Method
allocate_paramcache(nlop::NonlinearParamOperator,μ::AbstractRealisation) -> AbstractParamCacheSimilar to allocate_odecache in Gridap, when dealing with parametric problems
GridapROMs.ParamAlgebra.allocate_systemcache — Method
allocate_systemcache(nlop::NonlinearParamOperator[,x::AbstractVector]) -> SystemCacheAllocates the Jacobian, residual and solution vector of nlop
GridapROMs.ParamAlgebra.update_paramcache! — Method
update_paramcache!(paramcache::AbstractParamCache,nlop::NonlinearParamOperator,μ::AbstractRealisation) -> AbstractParamCacheSimilar to update_odecache! in Gridap, when dealing with parametric problems
GridapROMs.ParamAlgebra.update_systemcache! — Method
update_systemcache!(nlop::NonlinearParamOperator,x::AbstractVector)Updates the system cache stored in nlop, if any. For a LinNonlinParamOperator, assembles its linear part