ddemidov / amgcl

C++ library for solving large sparse linear systems with algebraic multigrid method
http://amgcl.readthedocs.org/
MIT License
726 stars 111 forks source link

Solving diffusion equation with AMG approach #239

Open ArturSalamatin opened 2 years ago

ArturSalamatin commented 2 years ago

Recently our group has implemented an additive (splitting) scheme (of Samarskii and Vabishchevich) https://www.researchgate.net/publication/51962589_Additive_schemes_splitting_schemes_for_some_systems_of_evolutionaryequations

to solve the ground water flow equation https://en.wikipedia.org/wiki/Groundwater_flow_equation

The problem is essentially a single-phase approximation for a reservoir flow simulation based on Darcy's law (temperature equation). It is a linear problem with a linear source term (a horizontal well), and a non-homogeneous piezoconductivity (hydraulic diffusivity) coefficient.

However, we soon realized that due to relatively large piezoconductivity ( \alpha~0.05 m^2/s) we have to advance in time with steps on the order of 1-10 minutes (!) to study the reservoir evolution for months-years.

The time step estimation is determined by the condition \alpha\tau < 0.1h*h

This requires a lot of computational time.

Is their any way to solve the problem faster? So, the point is to advance in time with larger time steps. As far as I understand the AMG approach is also based in iterative solvers, which might have similar limitations...

Any recommendations are highly appreciated!