Title: Deflated Conjugate Gradient
1- Deflated Conjugate Gradient
- Method
- for modelling Groundwater Flow
- in a Layered Grid
Lennart Ros Deltares TU Delft Utrecht July
3 2008 10.30 www.deltares.com
Thesis Committee Prof. Dr. Ir. C. Vuik (TU
Delft) Dr M. Genseberger (Deltares) Ir. J.
Verkaik (Deltares) Dr H.M. Schuttelaars (TU Delft)
2Outline
3Outline
- Introduction
- Deltares
- Subsurface, Geohydrology, Clay Faults
- MODFLOW
- IBRAHYM problem
- Equation, Discretization Method
- A Simple Example (Matlab)
- Deflation Techniques
- Results for IBRAHYM
- Conclusions Recommendations
- Questions
4Introduction
5Introduction
Deltares
January 1st 2008
6Introduction
Subsurface
- Subsurface is schematized in layers .
-
- Successive sand and clay
- (aquifers and aquitards)
- Assumption
- Horizontal flow in aquifer
- Vertical flow in aquitard
7Introduction
Geohydrology
- The driving force for groundwater flowis the
difference in height and pressure. -
- To represent this difference we introduce the
concept of hydraulicheads, h L.
8Introduction
Clay
- Very high resistance.
- Main property
- Extreme low permeability (vertical)
Medium Faults
- Vertical barriers inside aquifers.
- Main property
- Extreme low permeability (horizontal).
9Introduction
Clay
- Very high resistance.
- Main property
- Extreme low permeability (vertical)
Consequence Large contrast in medium parameters
Medium Faults
- Vertical barriers inside aquifers.
- Main property
- Extreme low permeability (horizontal).
10Introduction
MODFLOW
- MODFLOW is a software package which calculates
hydraulic heads. - Developed by the U.S. Geological Survey.
- Open-source code everyone can use and improve
this program - Rectangular grid and uses cell-centered
variables. - Quasi-3D model.
11Introduction
IBRAHYM
- groundwater model developed for several
waterboards in Limburg. - uses at most 19 layers to model groundwater flow
area. - uses grid cells of 25 times 25 meter to get
detailed information. - a lot of clay and faults
- these cause model to suffer from bad convergence
behavior of solver.
12Equation, Discretization Method
13Equation, Discretization Method
Governing Equation
Where
hydraulic conductivities along x,y, and z coordinate axes LT-1,
h head L,
W volumetric flux per unit volume representing sources and sinks of water T-1,
Ss specific storage of porous material L-1,
t Time T
14Equation, Discretization Method
Finite Volume Discretization
15Equation, Discretization Method
Discretized Equation Using Finite Volume Method
Where
16Equation, Discretization Method
Solution Method in MODFLOW
stop criteria inner loop or maximal
number of inner iteration is reached
- MODFLOW uses outer and inner iteration loops
- We look at inner iteration loop
- solves a linear system of equations
- preconditioner
- iterative method
- MODFLOW uses a
-
- Modified Incomplete Cholesky Conjugate Gradient
Method - with SOR
17A Simple Example
18A Simple Example
Simple Testcase
- 2 Dimensional Problem
-
- 15 rows, 15 colums
- A contrast in the parameter
- on 1/3th of the domain
19A Simple Example
Observations for a simple testcase in Matlab
Assume A has eigenvalues Preconditioning
MODFLOW Modified Incomplete Cholesky
Preconditoning generally works
20A Simple Example
Observations for a simple testcase in Matlab
21A Simple Example
Observations for a simple testcase in Matlab
Smallest eigenvalue 0.00010283296716 Next
eigenvalue 0.04870854847951
22A Simple Example
Observations for a simple testcase in Matlab
- Due to the small eigenvalue we have a slow
converging model. - Want to get rid of this eigenvalue(s)
GOAL IMPROVE CONVERGENCE BEHAVIOUR OF THE
IBRAHYM MODEL
IDEA USE DEFLATION BASED PRECONDITIONER
23Deflation Techniques
24Deflation Techniques
Basic Idea of Deflation
General linear system of equations Now
define And instead we solve the deflated
system
25Deflation Techniques
Deflation using Eigenvectors
Assume that A has eigenvalues and we choose
the corresponding eigenvectors such
that If we now define Then
PROBLEM eigenvalues and eigenvectors are
generally unknown
26Deflation Techniques
Alternative Deflation Techniques
- Random Subdomain Deflation
- Deflation based on Physics
-
- Use layers as boundary of domain (1 domain
is 1 layer)
Original domain Subdomains
27Deflation Techniques
Results for the simple problem
- Deflation using subdomain deflation
- 1 vector represents left part of domain
- 1 vector represents right part of domain
- The eigenvector corresponding to the smallest
eigenvalue is in the span of these two vectors. - Eigenvalues of and are
almost the same, but the smallest is cancelled
now.
28Deflation Techniques
Results for the simple problem
- Less iterates are needed
- Residuals go faster to zero when
- using deflation
GOAL IMPROVE CONVERGENCE BEHAVIOUR OF THE
IBRAHYM MODEL or REDUCE NUMBER OF ITERATIONS
29Results for IBRAHYM
30Results for IBRAHYM
Process
- First Subdomain deflation while storing
matrix Z and AZ - Problem Memory limiting for large areas.
- Optimization concerning memory
- Claypackages ? Layer based deflation
(nice structure of Z) - Re-using vectors.
31Results for IBRAHYM
Process
- Problem No gain of wall-clock times.
- Optimization concerning wall-clock times
- Storing AZ using one vector.
- Pointer-vector instead of IF-loops.
32Results for IBRAHYM
Results (small area)
- Claypackages ? Layer based deflation
- For 3 small areas (7x7 km)
- 1.489.600 cells
Area original code deflation code
1 (yellow) 62 53
2 (blue) 164 121
3 (orange) 287 168
33Results for IBRAHYM
34Results for IBRAHYM
Results (small area)
REMEMBER MODFLOW uses outer and inner iteration
loops
Concerning maximal number of inner iterations Concerning maximal number of inner iterations Concerning maximal number of inner iterations
Max. inner iteration Original code Deflation code
20 566 271
30 383 199
40 335 179
50 287 168
75 230 153
total number of iterations when varying the maximal number of inner iterations per inner loop total number of iterations when varying the maximal number of inner iterations per inner loop total number of iterations when varying the maximal number of inner iterations per inner loop
stop criteria inner loop
less iterations needed
also less fluctuation in solution when varying
maximal number of inner iterations
35Results for IBRAHYM
Results (small area)
Concerning faults Concerning faults Concerning faults
Faults Original code Deflation code
With 287 171
Without 254 168
Total number of iterations when we take and do not take faults into account Total number of iterations when we take and do not take faults into account Total number of iterations when we take and do not take faults into account
Layer based deflation also solves for the
faults.
36Results for IBRAHYM
Results (bigger area)
bigger area is 18 x 18 km 9.849.600 cells
Original code Deflation code
Iterations 1082 757
Wall-clock time 1664.40 sec 1542.20 sec
Error -0.31188E-02 0.49375E-03
Error inflow outflow
also less fluctuation in solution when varying
maximal number of inner iterations
37Conclusions Recommendations
38Conclusions Recommendations
Conclusions
- In general deflation works for modelling
groundwater flow.
- Less iterations are required.
- Deflation preconditioner makes solution more
robust.
- Wall clock times can be gained, but depends
strongly in code used.
Recommendations
- Deflation in horizontal direction.
- Code should be further optimised for Fortran
- Cluster multiple layers in one subdomain.
39QUESTIONS?
40Storing AZ
41Storing AZ
42Conclusions Recommendations
- Conclusions
- In general deflation works for modelling
groundwater flow. - Less iterations are required.
- Deflation preconditioner makes solution more
robust. - Wall clock times can be gained, but depends
strongly in code used. - Recommendations
- Deflation in horizontal direction.
- Code should be further optimised for Fortran
- Minimizing memory,