[petsc-users] Multigrid preconditioning of entire linear systems for discretized coupled multiphysics problems
Barry Smith
bsmith at mcs.anl.gov
Mon Mar 2 19:43:12 CST 2015
Do you really want tolerances: relative=1e-90, absolute=1.10423, divergence=10000? That is an absolute tolerance of 1.1? Normally that would be huge.
You can provide your matrix with a block size that GAMG will use with MatSetBlockSize().
I would use coupledsolve_mg_coarse_sub_pc_type lu it is weird that it is using SOR for 27 points.
So you must have provided a null space since it printed "has attached null space"
Barry
> On Mar 2, 2015, at 6:39 PM, Fabian Gabel <gabel.fabian at gmail.com> wrote:
>
> On Mo, 2015-03-02 at 16:29 -0700, Jed Brown wrote:
>> Fabian Gabel <gabel.fabian at gmail.com> writes:
>>
>>> Dear PETSc Team,
>>>
>>> I came across the following paragraph in your publication "Composable
>>> Linear Solvers for Multiphysics" (2012):
>>>
>>> "Rather than splitting the matrix into large blocks and
>>> forming a preconditioner from solvers (for example, multi-
>>> grid) on each block, one can perform multigrid on the entire
>>> system, basing the smoother on solves coming from the tiny
>>> blocks coupling the degrees of freedom at a single point (or
>>> small number of points). This approach is also handled in
>>> PETSc, but we will not elaborate on it here."
>>>
>>> How would I use a multigrid preconditioner (GAMG)
>>
>> The heuristics in GAMG are not appropriate for indefinite/saddle-point
>> systems such as arise from Navier-Stokes. You can use geometric
>> multigrid and use the fieldsplit techniques described in the paper as a
>> smoother, for example.
>
> I sadly don't have a solid background on multigrid methods, but as
> mentioned in a previous thread
>
> http://lists.mcs.anl.gov/pipermail/petsc-users/2015-February/024219.html
>
> AMG has apparently been used (successfully?) for fully-coupled
> finite-volume discretizations of Navier-Stokes:
>
> http://dx.doi.org/10.1080/10407790.2014.894448
> http://dx.doi.org/10.1016/j.jcp.2008.08.027
>
> I was hoping to achieve something similar with the right configuration
> of the PETSc preconditioners. So far I have only been using GAMG in a
> straightforward manner, without providing any details on the structure
> of the linear system. I attached the output of a test run with GAMG.
>
>>
>>> from PETSc on linear systems of the form (after reordering the
>>> variables):
>>>
>>> [A_uu 0 0 A_up A_uT]
>>> [0 A_vv 0 A_vp A_vT]
>>> [0 0 A_ww A_up A_wT]
>>> [A_pu A_pv A_pw A_pp 0 ]
>>> [A_Tu A_Tv A_Tw A_Tp A_TT]
>>>
>>> where each of the block matrices A_ij, with i,j in {u,v,w,p,T}, results
>>> directly from a FVM discretization of the incompressible Navier-Stokes
>>> equations and the temperature equation. The fifth row and column are
>>> optional, depending on the method I choose to couple the temperature.
>>> The Matrix is stored as one AIJ Matrix.
>>>
>>> Regards,
>>> Fabian Gabel
>
> <cpld_0128.out.578677>
More information about the petsc-users
mailing list