GridapROMs.ParamSteady
GridapROMs.ParamSteady.FEDomains
— Typestruct FEDomains{A,B}
domains_res::A
domains_jac::B
end
Fields:
domains_res
: triangulations relative to the residual (nothing by default)domains_jac
: triangulations relative to the Jacobian (nothing by default)
GridapROMs.ParamSteady.JointDomains
— Typestruct JointDomains <: TriangulationStyle end
Trait for a FE operator indicating that residuals/Jacobiansin this operator should be computed summing the contributions relative to each triangulation as occurs in Gridap
GridapROMs.ParamSteady.JointParamFEOperator
— Typeconst JointParamFEOperator{O<:UnEvalOperatorType} = ParamFEOperator{O,JointDomains}
GridapROMs.ParamSteady.JointParamOpFromFEOp
— Typeconst JointParamOpFromFEOp{O<:UnEvalOperatorType} = ParamOpFromFEOp{O,JointDomains}
GridapROMs.ParamSteady.JointParamOperator
— Typeconst JointParamOperator{O<:UnEvalOperatorType} = ParamOperator{O,JointDomains}
GridapROMs.ParamSteady.LinearNonlinearParamEq
— Typestruct LinearNonlinearParamEq <: UnEvalOperatorType end
GridapROMs.ParamSteady.LinearNonlinearParamFEOperator
— Typestruct LinearNonlinearParamFEOperator{O<:UnEvalOperatorType,T<:TriangulationStyle} <: ParamFEOperator{O,T}
op_linear::ParamFEOperator
op_nonlinear::ParamFEOperator
end
Interface to accommodate the separation of terms depending on their linearity in a nonlinear problem. This allows to build and store once and for all linear residuals/Jacobians, and in the Newton-like iterations only evaluate and assemble only the nonlinear components
GridapROMs.ParamSteady.LinearParamEq
— Typestruct LinearParamEq <: UnEvalOperatorType end
GridapROMs.ParamSteady.NonlinearParamEq
— Typestruct NonlinearParamEq <: UnEvalOperatorType end
GridapROMs.ParamSteady.ParamFEOpFromWeakForm
— Typestruct ParamFEOpFromWeakForm{O<:UnEvalOperatorType,T<:TriangulationStyle} <: ParamFEOperator{O,T}
res::Function
jac::Function
pspace::ParamSpace
assem::Assembler
trial::FESpace
test::FESpace
domains::FEDomains
end
Most standard instance of a parametric FE operator
GridapROMs.ParamSteady.ParamFEOperator
— Typeabstract type ParamFEOperator{O<:UnEvalOperatorType,T<:TriangulationStyle} <: FEOperator end
Parametric extension of a FEOperator
in Gridap
. Compared to a standard FEOperator, there are the following novelties:
- a ParamSpace is provided, so that parametric realizations can be extracted directly from the ParamFEOperator
- a function representing a norm matrix is provided, so that errors in the desired norm can be automatically computed
Subtypes:
GridapROMs.ParamSteady.ParamOpFromFEOp
— Typestruct ParamOpFromFEOp{O<:UnEvalOperatorType,T<:TriangulationStyle} <: ParamOperator{O,T}
op::ParamFEOperator{O,T}
end
Wrapper that transforms a ParamFEOperator
into an ParamOperator
GridapROMs.ParamSteady.ParamOperator
— Typeabstract type ParamOperator{O<:UnEvalOperatorType,T<:TriangulationStyle} <: NonlinearParamOperator end
Type representing algebraic operators when solving parametric differential problems
GridapROMs.ParamSteady.ParamTrialFESpace
— Typeconst ParamTrialFESpace = UnEvalTrialFESpace
GridapROMs.ParamSteady.SplitDomains
— Typestruct SplitDomains <: TriangulationStyle end
Trait for a FE operator indicating that residuals/Jacobiansin this operator should be computed keeping the contributions relative to each triangulation separate
GridapROMs.ParamSteady.SplitParamFEOperator
— Typeconst SplitParamFEOperator{O<:UnEvalOperatorType} = ParamFEOperator{O,SplitDomains}
GridapROMs.ParamSteady.SplitParamOpFromFEOp
— Typeconst SplitParamOpFromFEOp{O<:UnEvalOperatorType} = ParamOpFromFEOp{O,SplitDomains}
GridapROMs.ParamSteady.SplitParamOperator
— Typeconst SplitParamOperator{O<:UnEvalOperatorType} = ParamOperator{O,SplitDomains}
GridapROMs.ParamSteady.TriangulationStyle
— TypeGridapROMs.ParamSteady.UnEvalOperatorType
— Typeabstract type UnEvalOperatorType <: GridapType end
Type representing operators that are not evaluated yet. This may include operators representing transient problems (although the implementation in Gridap
differs), parametric problems, and a combination thereof. Could become a supertype of ODEOperatorType
in Gridap
GridapROMs.ParamSteady.UnEvalTrialFESpace
— Typestruct UnEvalTrialFESpace{A,B} <: SingleFieldFESpace
space::A
space0::B
dirichlet::Union{Function,AbstractVector{<:Function}}
end
Struct representing trial FE spaces that are not evaluated yet. This may include FE spaces representing transient problems (although the implementation in Gridap
, called TransientTrialFESpace
, does not fall into this category), parametric problems, and transient-parametric problems.
GridapROMs.ParamSteady.LinearParamFEOperator
— MethodLinearParamFEOperator(res::Function,jac::Function,pspace,trial,test,args...
) -> ParamFEOperator{LinearParamEq,TriangulationStyle}
Returns a linear parametric FE operator
GridapROMs.ParamSteady.collect_cell_matrix_for_trian
— Methodfunction collect_cell_matrix_for_trian(
trial::FESpace,
test::FESpace,
a::DomainContribution,
strian::Triangulation
) -> Tuple{Vector{<:Any},Vector{<:Any},Vector{<:Any}}
Computes the cell-wise data needed to assemble a global sparse matrix for a given input triangulation strian
GridapROMs.ParamSteady.collect_cell_vector_for_trian
— Methodfunction collect_cell_vector_for_trian(
test::FESpace,
a::DomainContribution,
strian::Triangulation
) -> Tuple{Vector{<:Any},Vector{<:Any}}
Computes the cell-wise data needed to assemble a global vector for a given input triangulation strian
GridapROMs.ParamSteady.get_dof_map_at_domains
— Methodget_dof_map_at_domains(op::ParamFEOperator) -> Contribution
Returns the residual dof map restricted to every residual triangulation
GridapROMs.ParamSteady.get_fe_operator
— Methodget_fe_operator(op::ParamOperator) -> ParamFEOperator
Fetches the underlying FE operator of an algebraic operator op
GridapROMs.ParamSteady.get_param_space
— Methodget_param_space(feop::ParamFEOperator) -> ParamSpace
get_param_space(feop::TransientParamFEOperator) -> TransientParamSpace
Returns the space of parameters contained in feop
GridapROMs.ParamSteady.get_sparse_dof_map_at_domains
— Methodget_sparse_dof_map_at_domains(op::ParamFEOperator) -> Contribution
Returns the Jacobian dof map restricted to every Jacobian triangulation
GridapROMs.ParamSteady.join_operators
— Methodjoin_operators(op::LinearNonlinearParamFEOperator) -> ParamFEOperator
Joins the linear/nonlinear parts of the operator and returns the resulting operator
GridapROMs.Utils.change_domains
— Methodchange_domains(op::ParamFEOperator,args...) -> ParamFEOperator
Changes the triangulations for residual/jacobian; the resulting operator will have the same TriangulationStyle
trait as the one of the input
GridapROMs.Utils.set_domains
— Methodset_domains(op::ParamFEOperator,args...) -> JointParamFEOperator
Fixes the triangulations for residual/jacobian; the resulting operator will have the trait JointDomains
activated