pymor.reductors.parabolic

Module Contents

class pymor.reductors.parabolic.ParabolicRBEstimator(residual, residual_range_dims, initial_residual, initial_residual_range_dims, coercivity_estimator, projected_output_adjoint=None)[source]

Bases: pymor.core.base.ImmutableObject

Instantiated by ParabolicRBReductor.

Not to be used directly.

estimate_error(U, mu, m)[source]
estimate_output_error(U, mu, m)[source]
restricted_to_subbasis(dim, m)[source]
class pymor.reductors.parabolic.ParabolicRBReductor(fom, RB=None, product=None, coercivity_estimator=None, check_orthonormality=None, check_tol=None)[source]

Bases: pymor.reductors.basic.InstationaryRBReductor

Reduced Basis Reductor for parabolic equations.

This reductor uses InstationaryRBReductor for the actual RB-projection. The only addition is the assembly of an error estimator which bounds the discrete l2-in time / energy-in space error similar to [GP05], [HO08] as follows:

\[\left[ C_a^{-1}(\mu)\|e_N(\mu)\|^2 + \sum_{n=1}^{N} \Delta t\|e_n(\mu)\|^2_e \right]^{1/2} \le \left[ C_a^{-2}(\mu)\Delta t \sum_{n=1}^{N}\|\mathcal{R}^n(u_n(\mu), \mu)\|^2_{e,-1} + C_a^{-1}(\mu)\|e_0\|^2 \right]^{1/2}\]

Here, \(\|\cdot\|\) denotes the norm induced by the problem’s mass matrix (e.g. the L^2-norm) and \(\|\cdot\|_e\) is an arbitrary energy norm w.r.t. which the space operator \(A(\mu)\) is coercive, and \(C_a(\mu)\) is a lower bound for its coercivity constant. Finally, \(\mathcal{R}^n\) denotes the implicit Euler timestepping residual for the (fixed) time step size \(\Delta t\),

\[\mathcal{R}^n(u_n(\mu), \mu) := f - M \frac{u_{n}(\mu) - u_{n-1}(\mu)}{\Delta t} - A(u_n(\mu), \mu),\]

where \(M\) denotes the mass operator and \(f\) the source term. The dual norm of the residual is computed using the numerically stable projection from [BEOR14].

Parameters:
  • fom – The InstationaryModel which is to be reduced.

  • RBVectorArray containing the reduced basis on which to project.

  • product – The energy inner product Operator w.r.t. which the reduction error is estimated and RB is orthonormalized.

  • coercivity_estimatorNone or a ParameterFunctional returning a lower bound \(C_a(\mu)\) for the coercivity constant of fom.operator w.r.t. product.

assemble_error_estimator()[source]
assemble_error_estimator_for_subbasis(dims)[source]