Skip to content

Commit 12d8ced

Browse files
author
chmerdon
committed
added an overview documentation page
1 parent 2a5ae9c commit 12d8ced

2 files changed

Lines changed: 52 additions & 5 deletions

File tree

docs/make.jl

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,24 @@ makedocs(
1111
warnonly = false,
1212
doctest = true,
1313
pages = [
14-
"Home" => "index.md"
14+
"Home" => "index.md",
15+
"SGFEM Overview" => "sgfem.md",
1516
"Model problems" => [
1617
"modelproblems.md",
1718
"coefficients.md",
18-
]
19+
],
1920
"Stochastic discretization" => [
2021
"orthogonal_polynomials.md",
2122
"onbasis.md",
2223
"tonbasis.md",
23-
]
24+
],
2425
"Solving" => [
2526
"solvers.md",
2627
"estimators.md",
27-
]
28+
],
2829
"Plotting" => [
2930
"plots.md",
30-
]
31+
],
3132
"Scripts" => [
3233
"poisson_script.md",
3334
]

docs/src/sgfem.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
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

Comments
 (0)