|
| 1 | +# Overview |
| 2 | + |
| 3 | +This page gives a concise overview of the main building blocks |
| 4 | +of the stochastic Galerkin (SG) methods implemented in this repository. |
| 5 | + |
| 6 | +## Key blocks |
| 7 | +- Represent uncertain coefficients/inputs by a finite parametric expansion (e.g. Karhunen–Loève / KL expansion). |
| 8 | +- Expand the solution unknowns in a tensor product of a spatial finite element basis and a stochastic polynomial basis (Galerkin ansatz). |
| 9 | +- Galerkin project onto the combined basis to obtain a coupled deterministic system for the expansion coefficients. |
| 10 | +- Solve the system with solvers that exploit the tensor/block structure. |
| 11 | +- Adaptivity in space and in the stochastic index set to reduce costs. |
| 12 | + |
| 13 | +## Where to find documentation/implementations of the key blocks |
| 14 | +1. Parametric model / KL representation of the random coefficient. |
| 15 | + - See also: |
| 16 | + - [Stochastic coefficients](coefficients.md) — available random coefficients |
| 17 | + - and polynomial chaos expansions. |
| 18 | + - [Model problems](modelproblems.md) — available model problems that involve random coefficients. See also source: `src/modelproblems/`. |
| 19 | + |
| 20 | +2. Choose stochastic basis, orthogonal polynomials, suitable for the parameter space |
| 21 | + - See also: |
| 22 | + - [Orthogonal polynomials and recurrence relations](orthogonal_polynomials.md) — Legendre / Hermite polynomials and recurrence coefficients. |
| 23 | + - [ONBasis (one-dimensional orthonormal basis)](onbasis.md) — construction and utilities for evaluating 1D orthonormal polynomial bases (norms, quadrature, evaluations). |
| 24 | + - [Tensorized / multivariate basis (TensorizedBasis)](tonbasis.md) — assembling multivariate bases from ONBasis instances and precomputing triple products. |
| 25 | + |
| 26 | +3. Build spatial FE spaces and blocks of system matrix. |
| 27 | + - Use FESpace types (H1, HDIV, ...) from the ExtendableFEM ecosystem. |
| 28 | + - See: [ExtendableFEMBase.jl](https://github.com/WIAS-PDELib/ExtendableFEMBase.jl) — basis finite-element spaces, basis evaluations and low-level FE utilities like standard interpolations. |
| 29 | + - See: [ExtendableFEM.jl](https://github.com/WIAS-PDELib/ExtendableFEM.jl) — high-level deterministic operator assembly and helpers used throughout the codebase. |
| 30 | + |
| 31 | +4. Assemble and solve the full SG system |
| 32 | + - Galerkin projection yields a coupled deterministic block system. Briefly: |
| 33 | + - Expand u(y,x)=∑_μ u_μ(x) H_μ(y), test with H_ν ⇒ block matrix with entries a_{μ,ν} A(·). |
| 34 | + - Solver choices: |
| 35 | + - direct assembly + dense solver (for debugging / small problems) |
| 36 | + - matrix‑free iterative solvers exploiting tensor/block structure + preconditioners |
| 37 | + - See problem solver implementations: `src/modelproblems/solvers_*.jl`. |
| 38 | + |
| 39 | +5. Postprocessing, error estimation & adaptivity |
| 40 | + - Error estimators and marking criteria implemented in the script driver `scripts/poisson.jl` for the available Poisson model problems. |
| 41 | + - Error estimators are problem-dependent and can be currently found in `src/estimate.jl` |
| 42 | + - Spatial (mesh refinement) uses refinement routines from [ExtendableFEMBase.jl](https://github.com/WIAS-PDELib/ExtendableGrids.jl) |
| 43 | + - Stochastic refinement (enrich multi‑index set) uses functions from |
| 44 | + `src/mopcontrol.jl` |
| 45 | + - see dcomumentation page on [Estimators](estimators.md) for some more details |
| 46 | + - Results, parameters and reproducible outputs are stored with DrWatson (see scripts/poisson.jl for naming pattern). |
0 commit comments