<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">On 3 May 2017, at 22:19, Hoang Giang Bui <<a href="mailto:hgbk2008@gmail.com" class="">hgbk2008@gmail.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div dir="ltr" class="">Hi Lukasz, thanks for sharing very interesting slide.
<div class=""><br class="">
</div>
<div class="">Both of you are right, the mortar method starts from continuum argument then reduce to discrete space by discretizing the Lagrange multiplier. However, the way to choose the interpolation space has some implication on the properties of the mortar
matrices. For example, the dual mortar space can help to reduce the multiplier by static condensation but it creates some numerical oscillation. In my opinion I think it's not stable despite a very sound theoretical foundation is developed. Both standard and
dual mortar approach impose some drawbacks for high order contact because of negative shape function can create some spurious negative nodal gap. How do you cope with that case in your code?</div>
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>We exploit that we can set approx. order independently to Lagrange multiplier and displacements. Having hierarchical base, we have dofs on vertices, edges, faces and volumes (in a case of displacements) we can apply order to each entity independently.
This gives us some control over spurious modes, we do not see them at the moment, but this is work in progress, and we do not enough testing. It is as well important where you approximate Lagrange multipliers, master or slave side. We have as well some
flexibility of choosing a base; right choice would be to use Bernstein polynomial which has only positive values. We do have them yet, but we can use now Legendre, Lobatto (integrated Legendre) or Jacobi. Many things to test, more to read, and see what will
happen.</div>
</div>
<div><br class="">
<blockquote type="cite" class="">
<div class="">
<div dir="ltr" class="">
<div class="">However, this question may be a bit off-topic. Come back to the main question, for mesh "gluing" using mortar method, the Schur matrix is S=[0 -D^T M^T] A^-1 [0 D M]^T, has the form of A_10 (A_00)^-1 A01 since A_11=0. The magnitude of S (~E^-1)
is too small compare to A_00 (which is ~E for elasticity). I think in some case it's also rank deficient if three Lagrange multiplier is used per node (S is very ill-conditioned although A_00 is well). I'm skeptical here do you really solve the system of mortar
with schur complement?</div>
</div>
</div>
</blockquote>
<div><br class="">
</div>
<div>You could be right here about Schur complement. We do not try this yet, but note that you can multiply constraint by the scalar, this is exploited for example in Popp_et_al-2009-A finite deformation mortar contact formulation using a primal–dual active
set strategy, where constrain equation is scaled by constant equal to the young modulus. </div>
<div><br class="">
</div>
<div>Lukasz </div>
<div><br class="">
</div>
<blockquote type="cite" class="">
<div class="">
<div dir="ltr" class="">
<div class="gmail_extra">
<div class="">
<div class="m_8426486426086775844m_2348089183134207201gmail_signature" data-smartmail="gmail_signature">
<div dir="ltr" class="">Giang</div>
</div>
</div>
<br class="">
<div class="gmail_quote">On Wed, May 3, 2017 at 2:55 PM, Lukasz Kaczmarczyk <span dir="ltr" class="">
<<a href="mailto:Lukasz.Kaczmarczyk@glasgow.ac.uk" target="_blank" class="">Lukasz.Kaczmarczyk@glasgow.ac<wbr class="">.uk</a>></span> wrote:<br class="">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word" class=""><br class="">
<div class=""><span class="">
<blockquote type="cite" class="">
<div class="">On 3 May 2017, at 13:22, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank" class="">knepley@gmail.com</a>> wrote:</div>
<br class="m_8426486426086775844m_2348089183134207201m_7797658317358904813Apple-interchange-newline">
<div class="">
<div dir="ltr" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="">
<div class="gmail_extra">
<div class="gmail_quote">On Wed, May 3, 2017 at 2:29 AM, Hoang Giang Bui<span class="m_8426486426086775844m_2348089183134207201m_7797658317358904813Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:hgbk2008@gmail.com" target="_blank" class="">hgbk2008@gmail.com</a>></span><span class="m_8426486426086775844m_2348089183134207201m_7797658317358904813Apple-converted-space"> </span>wrote<wbr class="">:<br class="">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<div dir="ltr" class="">Dear Jed
<div class=""><br class="">
</div>
<div class="">If I understood you correctly you suggest to avoid penalty by using the Lagrange multiplier for the mortar constraint? In this case it leads to the use of discrete Lagrange multiplier space.</div>
</div>
</blockquote>
<div class=""><br class="">
</div>
<div class="">Sorry for being ignorant here, but why is the space "discrete"? It looks like you should have a continuum formulation</div>
<div class="">of the mortar as well. Maybe I do not understand something fundamental. From this (<a href="https://en.wikipedia.org/wiki/Mortar_methods" target="_blank" class="">https://en.wikipedia.org/wiki<wbr class="">/Mortar_methods</a>)</div>
<div class="">short description, it seems that mortars begin from a continuum formulation, but are then reduced to the discrete level. This is no</div>
<div class="">problem if done consistently, as for instance in the FETI method where efficient preconditioners exist.</div>
<div class=""><br class="">
</div>
</div>
</div>
</div>
</div>
</blockquote>
<div class=""><br class="">
</div>
</span>
<div class="">
<div class="">Hello,</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">I copied the wrong link to mortar method, how we implemented it, see presentation <a href="http://doi.org/10.5281/zenodo.556996" target="_blank" class="">http://doi.org/10<wbr class="">.5281/zenodo.556996</a></div>
<div class=""><br class="">
</div>
<div class="">You right that we always start from continuum formulation, on this we apply some discretisation, at the end Lagrange multiplier is expressed by a finite vector of discrete unknowns. It is better to formulate problem first for the continuum; you
have better control on what you are doing and stability of the solution.</div>
<div class=""><br class="">
</div>
<div class="">Of course, you can add some constraints at the discreet level, after you discretised problem, but implicitly you have some continuous space for Lagrange multipliers, which is associated with shape functions which you use to discretise problem.</div>
<div class=""><br class="">
</div>
<div class="">In our problem which we have, we try to avoid rebuilding of the system of equations each time contact area is changing. We going to construct DM sub-problem for each body in contact, each sub-problem going to be solved using MG (adjacency for
those matrices is fixed in time). All will go to put in nested matrix with the separate block for Lagrange multipliers (adjacency will change in each time step). For solving Lagrange multipliers we going to use FIELDSPLIT using Schur complement. I need
to look more detail to FETI method, at are still at development stage for contact problem and direct solver works, for now, small problems at that point.</div>
<div class=""><br class="">
</div>
<div class="">In our code, we using higher order elements with hierarchical base, for this we using specialise MG solver, as you can see here, it works pretty well for moderate size problems, <100M</div>
<div class=""><a href="http://mofem.eng.gla.ac.uk/mofem/html/_p_c_m_g_set_up_via_approx_orders_8cpp.html" target="_blank" class="">http://mofem.eng.gla.ac.uk/mof<wbr class="">em/html/_p_c_m_g_set_up_via_ap<wbr class="">prox_orders_8cpp.html</a></div>
<div class=""><br class="">
</div>
<div class="">Regards,</div>
<div class="">Lukasz</div>
</div>
</div>
<div class="">
<div class="m_8426486426086775844m_2348089183134207201h5">
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<br class="">
<blockquote type="cite" class="">
<div class="">
<div dir="ltr" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="">
<div class="gmail_extra">
<div class="gmail_quote">
<div class=""> Thanks,</div>
<div class=""><br class="">
</div>
<div class=""> Matt</div>
<div class=""> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<div dir="ltr" class="">
<div class="">Do you or anyone already have experience using discrete Lagrange multiplier space with Petsc?</div>
<div class="gmail_extra"><br class="">
</div>
<div class="gmail_extra">There is also similar question on stackexchange</div>
<div class="gmail_extra"><a href="https://scicomp.stackexchange.com/questions/25113/preconditioners-and-discrete-lagrange-multipliers" target="_blank" class="">https://scicomp.stackexchange.<wbr class="">com/questions/25113/preconditi<wbr class="">oners-and-discrete-lagrange-mu<wbr class="">ltipliers</a><br class="">
</div>
<div class="gmail_extra"><br clear="all" class="">
<div class="">
<div class="m_8426486426086775844m_2348089183134207201m_7797658317358904813gmail-m_6948412756754771881gmail_signature">
<div dir="ltr" class="">Giang</div>
</div>
</div>
<br class="">
<div class="gmail_quote">On Sat, Apr 29, 2017 at 3:34 PM, Jed Brown<span class="m_8426486426086775844m_2348089183134207201m_7797658317358904813Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:jed@jedbrown.org" target="_blank" class="">jed@jedbrown.org</a>></span><span class="m_8426486426086775844m_2348089183134207201m_7797658317358904813Apple-converted-space"> </span>wrote<wbr class="">:<br class="">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<span class="m_8426486426086775844m_2348089183134207201m_7797658317358904813gmail-m_6948412756754771881gmail-">Hoang Giang Bui <<a href="mailto:hgbk2008@gmail.com" target="_blank" class="">hgbk2008@gmail.com</a>> writes:<br class="">
<br class="">
> Hi Barry<br class="">
><br class="">
> The first block is from a standard solid mechanics discretization based on<br class="">
> balance of momentum equation. There is some material involved but in<br class="">
> principal it's well-posed elasticity equation with positive definite<br class="">
> tangent operator. The "gluing business" uses the mortar method to keep the<br class="">
> continuity of displacement. Instead of using Lagrange multiplier to treat<br class="">
> the constraint I used penalty method to penalize the energy. The<br class="">
> discretization form of mortar is quite simple<br class="">
><br class="">
> \int_{\Gamma_1} { rho * (\delta u_1 - \delta u_2) * (u_1 - u_2) dA }<br class="">
><br class="">
> rho is penalty parameter. In the simulation I initially set it low (~E) to<br class="">
> preserve the conditioning of the system.<br class="">
<br class="">
</span>There are two things that can go wrong here with AMG:<br class="">
<br class="">
* The penalty term can mess up the strength of connection heuristics<br class="">
such that you get poor choice of C-points (classical AMG like<br class="">
BoomerAMG) or poor choice of aggregates (smoothed aggregation).<br class="">
<br class="">
* The penalty term can prevent Jacobi smoothing from being effective; in<br class="">
this case, it can lead to poor coarse basis functions (higher energy<br class="">
than they should be) and poor smoothing in an MG cycle. You can fix<br class="">
the poor smoothing in the MG cycle by using a stronger smoother, like<br class="">
ASM with some overlap.<br class="">
<br class="">
I'm generally not a fan of penalty methods due to the irritating<br class="">
tradeoffs and often poor solver performance.<br class="">
<span class="m_8426486426086775844m_2348089183134207201m_7797658317358904813gmail-m_6948412756754771881gmail-"><br class="">
> In the figure below, the colorful blocks are u_1 and the base is u_2. Both<br class="">
> u_1 and u_2 use isoparametric quadratic approximation.<br class="">
><br class="">
> <br class="">
</span>> Snapshot.png<br class="">
> <<a href="https://drive.google.com/file/d/0Bw8Hmu0-YGQXc2hKQ1BhQ1I4OEU/view?usp=drive_web" rel="noreferrer" target="_blank" class="">https://drive.google.com/file<wbr class="">/d/0Bw8Hmu0-YGQXc2hKQ1BhQ1I4OE<wbr class="">U/view?usp=drive_web</a>><br class="">
<div class="m_8426486426086775844m_2348089183134207201m_7797658317358904813gmail-m_6948412756754771881gmail-HOEnZb">
<div class="m_8426486426086775844m_2348089183134207201m_7797658317358904813gmail-m_6948412756754771881gmail-h5">
> <br class="">
><br class="">
> Giang<br class="">
><br class="">
> On Fri, Apr 28, 2017 at 6:21 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov" target="_blank" class="">bsmith@mcs.anl.gov</a>> wrote:<br class="">
><br class="">
>><br class="">
>> Ok, so boomerAMG algebraic multigrid is not good for the first block.<br class="">
>> You mentioned the first block has two things glued together? AMG is<br class="">
>> fantastic for certain problems but doesn't work for everything.<br class="">
>><br class="">
>> Tell us more about the first block, what PDE it comes from, what<br class="">
>> discretization, and what the "gluing business" is and maybe we'll have<br class="">
>> suggestions for how to precondition it.<br class="">
>><br class="">
>> Barry<br class="">
>><br class="">
>> > On Apr 28, 2017, at 3:56 AM, Hoang Giang Bui <<a href="mailto:hgbk2008@gmail.com" target="_blank" class="">hgbk2008@gmail.com</a>> wrote:<br class="">
>> ><br class="">
>> > It's in fact quite good<br class="">
>> ><br class="">
>> > Residual norms for fieldsplit_u_ solve.<br class="">
>> > 0 KSP Residual norm 4.014715925568e+00<br class="">
>> > 1 KSP Residual norm 2.160497019264e-10<br class="">
>> > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > 0 KSP Residual norm 0.000000000000e+00<br class="">
>> > 0 KSP preconditioned resid norm 4.014715925568e+00 true resid norm<br class="">
>> 9.006493082896e+06 ||r(i)||/||b|| 1.000000000000e+00<br class="">
>> > Residual norms for fieldsplit_u_ solve.<br class="">
>> > 0 KSP Residual norm 9.999999999416e-01<br class="">
>> > 1 KSP Residual norm 7.118380416383e-11<br class="">
>> > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > 0 KSP Residual norm 0.000000000000e+00<br class="">
>> > 1 KSP preconditioned resid norm 1.701150951035e-10 true resid norm<br class="">
>> 5.494262251846e-04 ||r(i)||/||b|| 6.100334726599e-11<br class="">
>> > Linear solve converged due to CONVERGED_ATOL iterations 1<br class="">
>> ><br class="">
>> > Giang<br class="">
>> ><br class="">
>> > On Thu, Apr 27, 2017 at 5:25 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov" target="_blank" class="">bsmith@mcs.anl.gov</a>> wrote:<br class="">
>> ><br class="">
>> > Run again using LU on both blocks to see what happens.<br class="">
>> ><br class="">
>> ><br class="">
>> > > On Apr 27, 2017, at 2:14 AM, Hoang Giang Bui <<a href="mailto:hgbk2008@gmail.com" target="_blank" class="">hgbk2008@gmail.com</a>><br class="">
>> wrote:<br class="">
>> > ><br class="">
>> > > I have changed the way to tie the nonconforming mesh. It seems the<br class="">
>> matrix now is better<br class="">
>> > ><br class="">
>> > > with -pc_type lu the output is<br class="">
>> > > 0 KSP preconditioned resid norm 3.308678584240e-01 true resid norm<br class="">
>> 9.006493082896e+06 ||r(i)||/||b|| 1.000000000000e+00<br class="">
>> > > 1 KSP preconditioned resid norm 2.004313395301e-12 true resid norm<br class="">
>> 2.549872332830e-05 ||r(i)||/||b|| 2.831148938173e-12<br class="">
>> > > Linear solve converged due to CONVERGED_ATOL iterations 1<br class="">
>> > ><br class="">
>> > ><br class="">
>> > > with -pc_type fieldsplit -fieldsplit_u_pc_type hypre<br class="">
>> -fieldsplit_wp_pc_type lu the convergence is slow<br class="">
>> > > 0 KSP preconditioned resid norm 1.116302362553e-01 true resid norm<br class="">
>> 9.006493083520e+06 ||r(i)||/||b|| 1.000000000000e+00<br class="">
>> > > 1 KSP preconditioned resid norm 2.582134825666e-02 true resid norm<br class="">
>> 9.268347719866e+06 ||r(i)||/||b|| 1.029073984060e+00<br class="">
>> > > ...<br class="">
>> > > 824 KSP preconditioned resid norm 1.018542387738e-09 true resid norm<br class="">
>> 2.906608839310e+02 ||r(i)||/||b|| 3.227237074804e-05<br class="">
>> > > 825 KSP preconditioned resid norm 9.743727947637e-10 true resid norm<br class="">
>> 2.820369993061e+02 ||r(i)||/||b|| 3.131485215062e-05<br class="">
>> > > Linear solve converged due to CONVERGED_ATOL iterations 825<br class="">
>> > ><br class="">
>> > > checking with additional -fieldsplit_u_ksp_type richardson<br class="">
>> -fieldsplit_u_ksp_monitor -fieldsplit_u_ksp_max_it 1<br class="">
>> -fieldsplit_wp_ksp_type richardson -fieldsplit_wp_ksp_monitor<br class="">
>> -fieldsplit_wp_ksp_max_it 1 gives<br class="">
>> > ><br class="">
>> > > 0 KSP preconditioned resid norm 1.116302362553e-01 true resid norm<br class="">
>> 9.006493083520e+06 ||r(i)||/||b|| 1.000000000000e+00<br class="">
>> > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > 0 KSP Residual norm 5.803507549280e-01<br class="">
>> > > 1 KSP Residual norm 2.069538175950e-01<br class="">
>> > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > 0 KSP Residual norm 0.000000000000e+00<br class="">
>> > > 1 KSP preconditioned resid norm 2.582134825666e-02 true resid norm<br class="">
>> 9.268347719866e+06 ||r(i)||/||b|| 1.029073984060e+00<br class="">
>> > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > 0 KSP Residual norm 7.831796195225e-01<br class="">
>> > > 1 KSP Residual norm 1.734608520110e-01<br class="">
>> > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > 0 KSP Residual norm 0.000000000000e+00<br class="">
>> > > ....<br class="">
>> > > 823 KSP preconditioned resid norm 1.065070135605e-09 true resid norm<br class="">
>> 3.081881356833e+02 ||r(i)||/||b|| 3.421843916665e-05<br class="">
>> > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > 0 KSP Residual norm 6.113806394327e-01<br class="">
>> > > 1 KSP Residual norm 1.535465290944e-01<br class="">
>> > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > 0 KSP Residual norm 0.000000000000e+00<br class="">
>> > > 824 KSP preconditioned resid norm 1.018542387746e-09 true resid norm<br class="">
>> 2.906608839353e+02 ||r(i)||/||b|| 3.227237074851e-05<br class="">
>> > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > 0 KSP Residual norm 6.123437055586e-01<br class="">
>> > > 1 KSP Residual norm 1.524661826133e-01<br class="">
>> > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > 0 KSP Residual norm 0.000000000000e+00<br class="">
>> > > 825 KSP preconditioned resid norm 9.743727947718e-10 true resid norm<br class="">
>> 2.820369990571e+02 ||r(i)||/||b|| 3.131485212298e-05<br class="">
>> > > Linear solve converged due to CONVERGED_ATOL iterations 825<br class="">
>> > ><br class="">
>> > ><br class="">
>> > > The residual for wp block is zero since in this first step the rhs is<br class="">
>> zero. As can see in the output, the multigrid does not perform well to<br class="">
>> reduce the residual in the sub-solve. Is my observation right? what can be<br class="">
>> done to improve this?<br class="">
>> > ><br class="">
>> > ><br class="">
>> > > Giang<br class="">
>> > ><br class="">
>> > > On Tue, Apr 25, 2017 at 12:17 AM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov" target="_blank" class="">bsmith@mcs.anl.gov</a>><br class="">
>> wrote:<br class="">
>> > ><br class="">
>> > > This can happen in the matrix is singular or nearly singular or if<br class="">
>> the factorization generates small pivots, which can occur for even<br class="">
>> nonsingular problems if the matrix is poorly scaled or just plain nasty.<br class="">
>> > ><br class="">
>> > ><br class="">
>> > > > On Apr 24, 2017, at 5:10 PM, Hoang Giang Bui <<a href="mailto:hgbk2008@gmail.com" target="_blank" class="">hgbk2008@gmail.com</a>><br class="">
>> wrote:<br class="">
>> > > ><br class="">
>> > > > It took a while, here I send you the output<br class="">
>> > > ><br class="">
>> > > > 0 KSP preconditioned resid norm 3.129073545457e+05 true resid norm<br class="">
>> 9.015150492169e+06 ||r(i)||/||b|| 1.000000000000e+00<br class="">
>> > > > 1 KSP preconditioned resid norm 7.442444222843e-01 true resid norm<br class="">
>> 1.003356247696e+02 ||r(i)||/||b|| 1.112966720375e-05<br class="">
>> > > > 2 KSP preconditioned resid norm 3.267453132529e-07 true resid norm<br class="">
>> 3.216722968300e+01 ||r(i)||/||b|| 3.568130084011e-06<br class="">
>> > > > 3 KSP preconditioned resid norm 1.155046883816e-11 true resid norm<br class="">
>> 3.234460376820e+01 ||r(i)||/||b|| 3.587805194854e-06<br class="">
>> > > > Linear solve converged due to CONVERGED_ATOL iterations 3<br class="">
>> > > > KSP Object: 4 MPI processes<br class="">
>> > > > type: gmres<br class="">
>> > > > GMRES: restart=1000, using Modified Gram-Schmidt<br class="">
>> Orthogonalization<br class="">
>> > > > GMRES: happy breakdown tolerance 1e-30<br class="">
>> > > > maximum iterations=1000, initial guess is zero<br class="">
>> > > > tolerances: relative=1e-20, absolute=1e-09, divergence=10000<br class="">
>> > > > left preconditioning<br class="">
>> > > > using PRECONDITIONED norm type for convergence test<br class="">
>> > > > PC Object: 4 MPI processes<br class="">
>> > > > type: lu<br class="">
>> > > > LU: out-of-place factorization<br class="">
>> > > > tolerance for zero pivot 2.22045e-14<br class="">
>> > > > matrix ordering: natural<br class="">
>> > > > factor fill ratio given 0, needed 0<br class="">
>> > > > Factored matrix follows:<br class="">
>> > > > Mat Object: 4 MPI processes<br class="">
>> > > > type: mpiaij<br class="">
>> > > > rows=973051, cols=973051<br class="">
>> > > > package used to perform factorization: pastix<br class="">
>> > > > Error : 3.24786e-14<br class="">
>> > > > total: nonzeros=0, allocated nonzeros=0<br class="">
>> > > > total number of mallocs used during MatSetValues calls =0<br class="">
>> > > > PaStiX run parameters:<br class="">
>> > > > Matrix type : Unsymmetric<br class="">
>> > > > Level of printing (0,1,2): 0<br class="">
>> > > > Number of refinements iterations : 3<br class="">
>> > > > Error : 3.24786e-14<br class="">
>> > > > linear system matrix = precond matrix:<br class="">
>> > > > Mat Object: 4 MPI processes<br class="">
>> > > > type: mpiaij<br class="">
>> > > > rows=973051, cols=973051<br class="">
>> > > > Error : 3.24786e-14<br class="">
>> > > > total: nonzeros=9.90037e+07, allocated nonzeros=9.90037e+07<br class="">
>> > > > total number of mallocs used during MatSetValues calls =0<br class="">
>> > > > using I-node (on process 0) routines: found 78749 nodes, limit<br class="">
>> used is 5<br class="">
>> > > > Error : 3.24786e-14<br class="">
>> > > ><br class="">
>> > > > It doesn't do as you said. Something is not right here. I will look<br class="">
>> in depth.<br class="">
>> > > ><br class="">
>> > > > Giang<br class="">
>> > > ><br class="">
>> > > > On Mon, Apr 24, 2017 at 8:21 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov" target="_blank" class="">bsmith@mcs.anl.gov</a>><br class="">
>> wrote:<br class="">
>> > > ><br class="">
>> > > > > On Apr 24, 2017, at 12:47 PM, Hoang Giang Bui <<a href="mailto:hgbk2008@gmail.com" target="_blank" class="">hgbk2008@gmail.com</a>><br class="">
>> wrote:<br class="">
>> > > > ><br class="">
>> > > > > Good catch. I get this for the very first step, maybe at that time<br class="">
>> the rhs_w is zero.<br class="">
>> > > ><br class="">
>> > > > With the multiplicative composition the right hand side of the<br class="">
>> second solve is the initial right hand side of the second solve minus<br class="">
>> A_10*x where x is the solution to the first sub solve and A_10 is the lower<br class="">
>> left block of the outer matrix. So unless both the initial right hand side<br class="">
>> has a zero for the second block and A_10 is identically zero the right hand<br class="">
>> side for the second sub solve should not be zero. Is A_10 == 0?<br class="">
>> > > ><br class="">
>> > > ><br class="">
>> > > > > In the later step, it shows 2 step convergence<br class="">
>> > > > ><br class="">
>> > > > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > > > 0 KSP Residual norm 3.165886479830e+04<br class="">
>> > > > > 1 KSP Residual norm 2.905922877684e-01<br class="">
>> > > > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > > > 0 KSP Residual norm 2.397669419027e-01<br class="">
>> > > > > 1 KSP Residual norm 0.000000000000e+00<br class="">
>> > > > > 0 KSP preconditioned resid norm 3.165886479920e+04 true resid<br class="">
>> norm 7.963616922323e+05 ||r(i)||/||b|| 1.000000000000e+00<br class="">
>> > > > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > > > 0 KSP Residual norm 9.999891813771e-01<br class="">
>> > > > > 1 KSP Residual norm 1.512000395579e-05<br class="">
>> > > > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > > > 0 KSP Residual norm 8.192702188243e-06<br class="">
>> > > > > 1 KSP Residual norm 0.000000000000e+00<br class="">
>> > > > > 1 KSP preconditioned resid norm 5.252183822848e-02 true resid<br class="">
>> norm 7.135927677844e+04 ||r(i)||/||b|| 8.960661653427e-02<br class="">
>> > > ><br class="">
>> > > > The outer residual norms are still wonky, the preconditioned<br class="">
>> residual norm goes from 3.165886479920e+04 to 5.252183822848e-02 which is a<br class="">
>> huge drop but the 7.963616922323e+05 drops very much less<br class="">
>> 7.135927677844e+04. This is not normal.<br class="">
>> > > ><br class="">
>> > > > What if you just use -pc_type lu for the entire system (no<br class="">
>> fieldsplit), does the true residual drop to almost zero in the first<br class="">
>> iteration (as it should?). Send the output.<br class="">
>> > > ><br class="">
>> > > ><br class="">
>> > > ><br class="">
>> > > > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > > > 0 KSP Residual norm 6.946213936597e-01<br class="">
>> > > > > 1 KSP Residual norm 1.195514007343e-05<br class="">
>> > > > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > > > 0 KSP Residual norm 1.025694497535e+00<br class="">
>> > > > > 1 KSP Residual norm 0.000000000000e+00<br class="">
>> > > > > 2 KSP preconditioned resid norm 8.785709535405e-03 true resid<br class="">
>> norm 1.419341799277e+04 ||r(i)||/||b|| 1.782282866091e-02<br class="">
>> > > > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > > > 0 KSP Residual norm 7.255149996405e-01<br class="">
>> > > > > 1 KSP Residual norm 6.583512434218e-06<br class="">
>> > > > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > > > 0 KSP Residual norm 1.015229700337e+00<br class="">
>> > > > > 1 KSP Residual norm 0.000000000000e+00<br class="">
>> > > > > 3 KSP preconditioned resid norm 7.110407712709e-04 true resid<br class="">
>> norm 5.284940654154e+02 ||r(i)||/||b|| 6.636357205153e-04<br class="">
>> > > > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > > > 0 KSP Residual norm 3.512243341400e-01<br class="">
>> > > > > 1 KSP Residual norm 2.032490351200e-06<br class="">
>> > > > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > > > 0 KSP Residual norm 1.282327290982e+00<br class="">
>> > > > > 1 KSP Residual norm 0.000000000000e+00<br class="">
>> > > > > 4 KSP preconditioned resid norm 3.482036620521e-05 true resid<br class="">
>> norm 4.291231924307e+01 ||r(i)||/||b|| 5.388546393133e-05<br class="">
>> > > > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > > > 0 KSP Residual norm 3.423609338053e-01<br class="">
>> > > > > 1 KSP Residual norm 4.213703301972e-07<br class="">
>> > > > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > > > 0 KSP Residual norm 1.157384757538e+00<br class="">
>> > > > > 1 KSP Residual norm 0.000000000000e+00<br class="">
>> > > > > 5 KSP preconditioned resid norm 1.203470314534e-06 true resid<br class="">
>> norm 4.544956156267e+00 ||r(i)||/||b|| 5.707150658550e-06<br class="">
>> > > > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > > > 0 KSP Residual norm 3.838596289995e-01<br class="">
>> > > > > 1 KSP Residual norm 9.927864176103e-08<br class="">
>> > > > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > > > 0 KSP Residual norm 1.066298905618e+00<br class="">
>> > > > > 1 KSP Residual norm 0.000000000000e+00<br class="">
>> > > > > 6 KSP preconditioned resid norm 3.331619244266e-08 true resid<br class="">
>> norm 2.821511729024e+00 ||r(i)||/||b|| 3.543002829675e-06<br class="">
>> > > > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > > > 0 KSP Residual norm 4.624964188094e-01<br class="">
>> > > > > 1 KSP Residual norm 6.418229775372e-08<br class="">
>> > > > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > > > 0 KSP Residual norm 9.800784311614e-01<br class="">
>> > > > > 1 KSP Residual norm 0.000000000000e+00<br class="">
>> > > > > 7 KSP preconditioned resid norm 8.788046233297e-10 true resid<br class="">
>> norm 2.849209671705e+00 ||r(i)||/||b|| 3.577783436215e-06<br class="">
>> > > > > Linear solve converged due to CONVERGED_ATOL iterations 7<br class="">
>> > > > ><br class="">
>> > > > > The outer operator is an explicit matrix.<br class="">
>> > > > ><br class="">
>> > > > > Giang<br class="">
>> > > > ><br class="">
>> > > > > On Mon, Apr 24, 2017 at 7:32 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov" target="_blank" class="">bsmith@mcs.anl.gov</a>><br class="">
>> wrote:<br class="">
>> > > > ><br class="">
>> > > > > > On Apr 24, 2017, at 3:16 AM, Hoang Giang Bui <<a href="mailto:hgbk2008@gmail.com" target="_blank" class="">hgbk2008@gmail.com</a>><br class="">
>> wrote:<br class="">
>> > > > > ><br class="">
>> > > > > > Thanks Barry, trying with -fieldsplit_u_type lu gives better<br class="">
>> convergence. I still used 4 procs though, probably with 1 proc it should<br class="">
>> also be the same.<br class="">
>> > > > > ><br class="">
>> > > > > > The u block used a Nitsche-type operator to connect two<br class="">
>> non-matching domains. I don't think it will leave some rigid body motion<br class="">
>> leads to not sufficient constraints. Maybe you have other idea?<br class="">
>> > > > > ><br class="">
>> > > > > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > > > > 0 KSP Residual norm 3.129067184300e+05<br class="">
>> > > > > > 1 KSP Residual norm 5.906261468196e-01<br class="">
>> > > > > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > > > > 0 KSP Residual norm 0.000000000000e+00<br class="">
>> > > > ><br class="">
>> > > > > ^^^^ something is wrong here. The sub solve should not be<br class="">
>> starting with a 0 residual (this means the right hand side for this sub<br class="">
>> solve is zero which it should not be).<br class="">
>> > > > ><br class="">
>> > > > > > FieldSplit with MULTIPLICATIVE composition: total splits = 2<br class="">
>> > > > ><br class="">
>> > > > ><br class="">
>> > > > > How are you providing the outer operator? As an explicit matrix<br class="">
>> or with some shell matrix?<br class="">
>> > > > ><br class="">
>> > > > ><br class="">
>> > > > ><br class="">
>> > > > > > 0 KSP preconditioned resid norm 3.129067184300e+05 true resid<br class="">
>> norm 9.015150492169e+06 ||r(i)||/||b|| 1.000000000000e+00<br class="">
>> > > > > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > > > > 0 KSP Residual norm 9.999955993437e-01<br class="">
>> > > > > > 1 KSP Residual norm 4.019774691831e-06<br class="">
>> > > > > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > > > > 0 KSP Residual norm 0.000000000000e+00<br class="">
>> > > > > > 1 KSP preconditioned resid norm 5.003913641475e-01 true resid<br class="">
>> norm 4.692996324114e+01 ||r(i)||/||b|| 5.205677185522e-06<br class="">
>> > > > > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > > > > 0 KSP Residual norm 1.000012180204e+00<br class="">
>> > > > > > 1 KSP Residual norm 1.017367950422e-05<br class="">
>> > > > > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > > > > 0 KSP Residual norm 0.000000000000e+00<br class="">
>> > > > > > 2 KSP preconditioned resid norm 2.330910333756e-07 true resid<br class="">
>> norm 3.474855463983e+01 ||r(i)||/||b|| 3.854461960453e-06<br class="">
>> > > > > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > > > > 0 KSP Residual norm 1.000004200085e+00<br class="">
>> > > > > > 1 KSP Residual norm 6.231613102458e-06<br class="">
>> > > > > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > > > > 0 KSP Residual norm 0.000000000000e+00<br class="">
>> > > > > > 3 KSP preconditioned resid norm 8.671259838389e-11 true resid<br class="">
>> norm 3.545103468011e+01 ||r(i)||/||b|| 3.932384125024e-06<br class="">
>> > > > > > Linear solve converged due to CONVERGED_ATOL iterations 3<br class="">
>> > > > > > KSP Object: 4 MPI processes<br class="">
>> > > > > > type: gmres<br class="">
>> > > > > > GMRES: restart=1000, using Modified Gram-Schmidt<br class="">
>> Orthogonalization<br class="">
>> > > > > > GMRES: happy breakdown tolerance 1e-30<br class="">
>> > > > > > maximum iterations=1000, initial guess is zero<br class="">
>> > > > > > tolerances: relative=1e-20, absolute=1e-09, divergence=10000<br class="">
>> > > > > > left preconditioning<br class="">
>> > > > > > using PRECONDITIONED norm type for convergence test<br class="">
>> > > > > > PC Object: 4 MPI processes<br class="">
>> > > > > > type: fieldsplit<br class="">
>> > > > > > FieldSplit with MULTIPLICATIVE composition: total splits = 2<br class="">
>> > > > > > Solver info for each split is in the following KSP objects:<br class="">
>> > > > > > Split number 0 Defined by IS<br class="">
>> > > > > > KSP Object: (fieldsplit_u_) 4 MPI processes<br class="">
>> > > > > > type: richardson<br class="">
>> > > > > > Richardson: damping factor=1<br class="">
>> > > > > > maximum iterations=1, initial guess is zero<br class="">
>> > > > > > tolerances: relative=1e-05, absolute=1e-50,<br class="">
>> divergence=10000<br class="">
>> > > > > > left preconditioning<br class="">
>> > > > > > using PRECONDITIONED norm type for convergence test<br class="">
>> > > > > > PC Object: (fieldsplit_u_) 4 MPI processes<br class="">
>> > > > > > type: lu<br class="">
>> > > > > > LU: out-of-place factorization<br class="">
>> > > > > > tolerance for zero pivot 2.22045e-14<br class="">
>> > > > > > matrix ordering: natural<br class="">
>> > > > > > factor fill ratio given 0, needed 0<br class="">
>> > > > > > Factored matrix follows:<br class="">
>> > > > > > Mat Object: 4 MPI processes<br class="">
>> > > > > > type: mpiaij<br class="">
>> > > > > > rows=938910, cols=938910<br class="">
>> > > > > > package used to perform factorization: pastix<br class="">
>> > > > > > total: nonzeros=0, allocated nonzeros=0<br class="">
>> > > > > > Error : 3.36878e-14<br class="">
>> > > > > > total number of mallocs used during MatSetValues calls<br class="">
>> =0<br class="">
>> > > > > > PaStiX run parameters:<br class="">
>> > > > > > Matrix type : Unsymmetric<br class="">
>> > > > > > Level of printing (0,1,2): 0<br class="">
>> > > > > > Number of refinements iterations : 3<br class="">
>> > > > > > Error : 3.36878e-14<br class="">
>> > > > > > linear system matrix = precond matrix:<br class="">
>> > > > > > Mat Object: (fieldsplit_u_) 4 MPI processes<br class="">
>> > > > > > type: mpiaij<br class="">
>> > > > > > rows=938910, cols=938910, bs=3<br class="">
>> > > > > > Error : 3.36878e-14<br class="">
>> > > > > > Error : 3.36878e-14<br class="">
>> > > > > > total: nonzeros=8.60906e+07, allocated<br class="">
>> nonzeros=8.60906e+07<br class="">
>> > > > > > total number of mallocs used during MatSetValues calls =0<br class="">
>> > > > > > using I-node (on process 0) routines: found 78749<br class="">
>> nodes, limit used is 5<br class="">
>> > > > > > Split number 1 Defined by IS<br class="">
>> > > > > > KSP Object: (fieldsplit_wp_) 4 MPI processes<br class="">
>> > > > > > type: richardson<br class="">
>> > > > > > Richardson: damping factor=1<br class="">
>> > > > > > maximum iterations=1, initial guess is zero<br class="">
>> > > > > > tolerances: relative=1e-05, absolute=1e-50,<br class="">
>> divergence=10000<br class="">
>> > > > > > left preconditioning<br class="">
>> > > > > > using PRECONDITIONED norm type for convergence test<br class="">
>> > > > > > PC Object: (fieldsplit_wp_) 4 MPI processes<br class="">
>> > > > > > type: lu<br class="">
>> > > > > > LU: out-of-place factorization<br class="">
>> > > > > > tolerance for zero pivot 2.22045e-14<br class="">
>> > > > > > matrix ordering: natural<br class="">
>> > > > > > factor fill ratio given 0, needed 0<br class="">
>> > > > > > Factored matrix follows:<br class="">
>> > > > > > Mat Object: 4 MPI processes<br class="">
>> > > > > > type: mpiaij<br class="">
>> > > > > > rows=34141, cols=34141<br class="">
>> > > > > > package used to perform factorization: pastix<br class="">
>> > > > > > Error : -nan<br class="">
>> > > > > > Error : -nan<br class="">
>> > > > > > Error : -nan<br class="">
>> > > > > > total: nonzeros=0, allocated nonzeros=0<br class="">
>> > > > > > total number of mallocs used during MatSetValues<br class="">
>> calls =0<br class="">
>> > > > > > PaStiX run parameters:<br class="">
>> > > > > > Matrix type : Symmetric<br class="">
>> > > > > > Level of printing (0,1,2): 0<br class="">
>> > > > > > Number of refinements iterations : 0<br class="">
>> > > > > > Error : -nan<br class="">
>> > > > > > linear system matrix = precond matrix:<br class="">
>> > > > > > Mat Object: (fieldsplit_wp_) 4 MPI processes<br class="">
>> > > > > > type: mpiaij<br class="">
>> > > > > > rows=34141, cols=34141<br class="">
>> > > > > > total: nonzeros=485655, allocated nonzeros=485655<br class="">
>> > > > > > total number of mallocs used during MatSetValues calls =0<br class="">
>> > > > > > not using I-node (on process 0) routines<br class="">
>> > > > > > linear system matrix = precond matrix:<br class="">
>> > > > > > Mat Object: 4 MPI processes<br class="">
>> > > > > > type: mpiaij<br class="">
>> > > > > > rows=973051, cols=973051<br class="">
>> > > > > > total: nonzeros=9.90037e+07, allocated nonzeros=9.90037e+07<br class="">
>> > > > > > total number of mallocs used during MatSetValues calls =0<br class="">
>> > > > > > using I-node (on process 0) routines: found 78749 nodes,<br class="">
>> limit used is 5<br class="">
>> > > > > ><br class="">
>> > > > > ><br class="">
>> > > > > ><br class="">
>> > > > > > Giang<br class="">
>> > > > > ><br class="">
>> > > > > > On Sun, Apr 23, 2017 at 10:19 PM, Barry Smith <<br class="">
>><span class="m_8426486426086775844m_2348089183134207201m_7797658317358904813Apple-converted-space"> </span><a href="mailto:bsmith@mcs.anl.gov" target="_blank" class="">bsmith@mcs.anl.gov</a>> wrote:<br class="">
>> > > > > ><br class="">
>> > > > > > > On Apr 23, 2017, at 2:42 PM, Hoang Giang Bui <<br class="">
>><span class="m_8426486426086775844m_2348089183134207201m_7797658317358904813Apple-converted-space"> </span><a href="mailto:hgbk2008@gmail.com" target="_blank" class="">hgbk2008@gmail.com</a>> wrote:<br class="">
>> > > > > > ><br class="">
>> > > > > > > Dear Matt/Barry<br class="">
>> > > > > > ><br class="">
>> > > > > > > With your options, it results in<br class="">
>> > > > > > ><br class="">
>> > > > > > > 0 KSP preconditioned resid norm 1.106709687386e+31 true<br class="">
>> resid norm 9.015150491938e+06 ||r(i)||/||b|| 1.000000000000e+00<br class="">
>> > > > > > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > > > > > 0 KSP Residual norm 2.407308987203e+36<br class="">
>> > > > > > > 1 KSP Residual norm 5.797185652683e+72<br class="">
>> > > > > ><br class="">
>> > > > > > It looks like Matt is right, hypre is seemly producing useless<br class="">
>> garbage.<br class="">
>> > > > > ><br class="">
>> > > > > > First how do things run on one process. If you have similar<br class="">
>> problems then debug on one process (debugging any kind of problem is always<br class="">
>> far easy on one process).<br class="">
>> > > > > ><br class="">
>> > > > > > First run with -fieldsplit_u_type lu (instead of using hypre) to<br class="">
>> see if that works or also produces something bad.<br class="">
>> > > > > ><br class="">
>> > > > > > What is the operator and the boundary conditions for u? It could<br class="">
>> be singular.<br class="">
>> > > > > ><br class="">
>> > > > > ><br class="">
>> > > > > ><br class="">
>> > > > > ><br class="">
>> > > > > ><br class="">
>> > > > > ><br class="">
>> > > > > > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > > > > > 0 KSP Residual norm 0.000000000000e+00<br class="">
>> > > > > > > ...<br class="">
>> > > > > > > 999 KSP preconditioned resid norm 2.920157329174e+12 true<br class="">
>> resid norm 9.015683504616e+06 ||r(i)||/||b|| 1.000059124102e+00<br class="">
>> > > > > > > Residual norms for fieldsplit_u_ solve.<br class="">
>> > > > > > > 0 KSP Residual norm 1.533726746719e+36<br class="">
>> > > > > > > 1 KSP Residual norm 3.692757392261e+72<br class="">
>> > > > > > > Residual norms for fieldsplit_wp_ solve.<br class="">
>> > > > > > > 0 KSP Residual norm 0.000000000000e+00<br class="">
>> > > > > > ><br class="">
>> > > > > > > Do you suggest that the pastix solver for the "wp" block<br class="">
>> encounters small pivot? In addition, seem like the "u" block is also<br class="">
>> singular.<br class="">
>> > > > > > ><br class="">
>> > > > > > > Giang<br class="">
>> > > > > > ><br class="">
>> > > > > > > On Sun, Apr 23, 2017 at 7:39 PM, Barry Smith <<br class="">
>><span class="m_8426486426086775844m_2348089183134207201m_7797658317358904813Apple-converted-space"> </span><a href="mailto:bsmith@mcs.anl.gov" target="_blank" class="">bsmith@mcs.anl.gov</a>> wrote:<br class="">
>> > > > > > ><br class="">
>> > > > > > > Huge preconditioned norms but normal unpreconditioned norms<br class="">
>> almost always come from a very small pivot in an LU or ILU factorization.<br class="">
>> > > > > > ><br class="">
>> > > > > > > The first thing to do is monitor the two sub solves. Run<br class="">
>> with the additional options -fieldsplit_u_ksp_type richardson<br class="">
>> -fieldsplit_u_ksp_monitor -fieldsplit_u_ksp_max_it 1<br class="">
>> -fieldsplit_wp_ksp_type richardson -fieldsplit_wp_ksp_monitor<br class="">
>> -fieldsplit_wp_ksp_max_it 1<br class="">
>> > > > > > ><br class="">
>> > > > > > > > On Apr 23, 2017, at 12:22 PM, Hoang Giang Bui <<br class="">
>><span class="m_8426486426086775844m_2348089183134207201m_7797658317358904813Apple-converted-space"> </span><a href="mailto:hgbk2008@gmail.com" target="_blank" class="">hgbk2008@gmail.com</a>> wrote:<br class="">
>> > > > > > > ><br class="">
>> > > > > > > > Hello<br class="">
>> > > > > > > ><br class="">
>> > > > > > > > I encountered a strange convergence behavior that I have<br class="">
>> trouble to understand<br class="">
>> > > > > > > ><br class="">
>> > > > > > > > KSPSetFromOptions completed<br class="">
>> > > > > > > > 0 KSP preconditioned resid norm 1.106709687386e+31 true<br class="">
>> resid norm 9.015150491938e+06 ||r(i)||/||b|| 1.000000000000e+00<br class="">
>> > > > > > > > 1 KSP preconditioned resid norm 2.933141742664e+29 true<br class="">
>> resid norm 9.015152282123e+06 ||r(i)||/||b|| 1.000000198575e+00<br class="">
>> > > > > > > > 2 KSP preconditioned resid norm 9.686409637174e+16 true<br class="">
>> resid norm 9.015354521944e+06 ||r(i)||/||b|| 1.000022631902e+00<br class="">
>> > > > > > > > 3 KSP preconditioned resid norm 4.219243615809e+15 true<br class="">
>> resid norm 9.017157702420e+06 ||r(i)||/||b|| 1.000222648583e+00<br class="">
>> > > > > > > > .....<br class="">
>> > > > > > > > 999 KSP preconditioned resid norm 3.043754298076e+12 true<br class="">
>> resid norm 9.015425041089e+06 ||r(i)||/||b|| 1.000030454195e+00<br class="">
>> > > > > > > > 1000 KSP preconditioned resid norm 3.043000287819e+12 true<br class="">
>> resid norm 9.015424313455e+06 ||r(i)||/||b|| 1.000030373483e+00<br class="">
>> > > > > > > > Linear solve did not converge due to DIVERGED_ITS iterations<br class="">
>> 1000<br class="">
>> > > > > > > > KSP Object: 4 MPI processes<br class="">
>> > > > > > > > type: gmres<br class="">
>> > > > > > > > GMRES: restart=1000, using Modified Gram-Schmidt<br class="">
>> Orthogonalization<br class="">
>> > > > > > > > GMRES: happy breakdown tolerance 1e-30<br class="">
>> > > > > > > > maximum iterations=1000, initial guess is zero<br class="">
>> > > > > > > > tolerances: relative=1e-20, absolute=1e-09,<br class="">
>> divergence=10000<br class="">
>> > > > > > > > left preconditioning<br class="">
>> > > > > > > > using PRECONDITIONED norm type for convergence test<br class="">
>> > > > > > > > PC Object: 4 MPI processes<br class="">
>> > > > > > > > type: fieldsplit<br class="">
>> > > > > > > > FieldSplit with MULTIPLICATIVE composition: total splits<br class="">
>> = 2<br class="">
>> > > > > > > > Solver info for each split is in the following KSP<br class="">
>> objects:<br class="">
>> > > > > > > > Split number 0 Defined by IS<br class="">
>> > > > > > > > KSP Object: (fieldsplit_u_) 4 MPI processes<br class="">
>> > > > > > > > type: preonly<br class="">
>> > > > > > > > maximum iterations=10000, initial guess is zero<br class="">
>> > > > > > > > tolerances: relative=1e-05, absolute=1e-50,<br class="">
>> divergence=10000<br class="">
>> > > > > > > > left preconditioning<br class="">
>> > > > > > > > using NONE norm type for convergence test<br class="">
>> > > > > > > > PC Object: (fieldsplit_u_) 4 MPI processes<br class="">
>> > > > > > > > type: hypre<br class="">
>> > > > > > > > HYPRE BoomerAMG preconditioning<br class="">
>> > > > > > > > HYPRE BoomerAMG: Cycle type V<br class="">
>> > > > > > > > HYPRE BoomerAMG: Maximum number of levels 25<br class="">
>> > > > > > > > HYPRE BoomerAMG: Maximum number of iterations PER<br class="">
>> hypre call 1<br class="">
>> > > > > > > > HYPRE BoomerAMG: Convergence tolerance PER hypre<br class="">
>> call 0<br class="">
>> > > > > > > > HYPRE BoomerAMG: Threshold for strong coupling 0.6<br class="">
>> > > > > > > > HYPRE BoomerAMG: Interpolation truncation factor 0<br class="">
>> > > > > > > > HYPRE BoomerAMG: Interpolation: max elements per row<br class="">
>> 0<br class="">
>> > > > > > > > HYPRE BoomerAMG: Number of levels of aggressive<br class="">
>> coarsening 0<br class="">
>> > > > > > > > HYPRE BoomerAMG: Number of paths for aggressive<br class="">
>> coarsening 1<br class="">
>> > > > > > > > HYPRE BoomerAMG: Maximum row sums 0.9<br class="">
>> > > > > > > > HYPRE BoomerAMG: Sweeps down 1<br class="">
>> > > > > > > > HYPRE BoomerAMG: Sweeps up 1<br class="">
>> > > > > > > > HYPRE BoomerAMG: Sweeps on coarse 1<br class="">
>> > > > > > > > HYPRE BoomerAMG: Relax down<br class="">
>> symmetric-SOR/Jacobi<br class="">
>> > > > > > > > HYPRE BoomerAMG: Relax up<br class="">
>> symmetric-SOR/Jacobi<br class="">
>> > > > > > > > HYPRE BoomerAMG: Relax on coarse<br class="">
>> Gaussian-elimination<br class="">
>> > > > > > > > HYPRE BoomerAMG: Relax weight (all) 1<br class="">
>> > > > > > > > HYPRE BoomerAMG: Outer relax weight (all) 1<br class="">
>> > > > > > > > HYPRE BoomerAMG: Using CF-relaxation<br class="">
>> > > > > > > > HYPRE BoomerAMG: Measure type local<br class="">
>> > > > > > > > HYPRE BoomerAMG: Coarsen type PMIS<br class="">
>> > > > > > > > HYPRE BoomerAMG: Interpolation type classical<br class="">
>> > > > > > > > linear system matrix = precond matrix:<br class="">
>> > > > > > > > Mat Object: (fieldsplit_u_) 4 MPI processes<br class="">
>> > > > > > > > type: mpiaij<br class="">
>> > > > > > > > rows=938910, cols=938910, bs=3<br class="">
>> > > > > > > > total: nonzeros=8.60906e+07, allocated<br class="">
>> nonzeros=8.60906e+07<br class="">
>> > > > > > > > total number of mallocs used during MatSetValues<br class="">
>> calls =0<br class="">
>> > > > > > > > using I-node (on process 0) routines: found 78749<br class="">
>> nodes, limit used is 5<br class="">
>> > > > > > > > Split number 1 Defined by IS<br class="">
>> > > > > > > > KSP Object: (fieldsplit_wp_) 4 MPI processes<br class="">
>> > > > > > > > type: preonly<br class="">
>> > > > > > > > maximum iterations=10000, initial guess is zero<br class="">
>> > > > > > > > tolerances: relative=1e-05, absolute=1e-50,<br class="">
>> divergence=10000<br class="">
>> > > > > > > > left preconditioning<br class="">
>> > > > > > > > using NONE norm type for convergence test<br class="">
>> > > > > > > > PC Object: (fieldsplit_wp_) 4 MPI processes<br class="">
>> > > > > > > > type: lu<br class="">
>> > > > > > > > LU: out-of-place factorization<br class="">
>> > > > > > > > tolerance for zero pivot 2.22045e-14<br class="">
>> > > > > > > > matrix ordering: natural<br class="">
>> > > > > > > > factor fill ratio given 0, needed 0<br class="">
>> > > > > > > > Factored matrix follows:<br class="">
>> > > > > > > > Mat Object: 4 MPI processes<br class="">
>> > > > > > > > type: mpiaij<br class="">
>> > > > > > > > rows=34141, cols=34141<br class="">
>> > > > > > > > package used to perform factorization: pastix<br class="">
>> > > > > > > > Error : -nan<br class="">
>> > > > > > > > Error : -nan<br class="">
>> > > > > > > > total: nonzeros=0, allocated nonzeros=0<br class="">
>> > > > > > > > Error : -nan<br class="">
>> > > > > > > > total number of mallocs used during MatSetValues calls =0<br class="">
>> > > > > > > > PaStiX run parameters:<br class="">
>> > > > > > > > Matrix type :<br class="">
>> Symmetric<br class="">
>> > > > > > > > Level of printing (0,1,2): 0<br class="">
>> > > > > > > > Number of refinements iterations : 0<br class="">
>> > > > > > > > Error : -nan<br class="">
>> > > > > > > > linear system matrix = precond matrix:<br class="">
>> > > > > > > > Mat Object: (fieldsplit_wp_) 4 MPI processes<br class="">
>> > > > > > > > type: mpiaij<br class="">
>> > > > > > > > rows=34141, cols=34141<br class="">
>> > > > > > > > total: nonzeros=485655, allocated nonzeros=485655<br class="">
>> > > > > > > > total number of mallocs used during MatSetValues<br class="">
>> calls =0<br class="">
>> > > > > > > > not using I-node (on process 0) routines<br class="">
>> > > > > > > > linear system matrix = precond matrix:<br class="">
>> > > > > > > > Mat Object: 4 MPI processes<br class="">
>> > > > > > > > type: mpiaij<br class="">
>> > > > > > > > rows=973051, cols=973051<br class="">
>> > > > > > > > total: nonzeros=9.90037e+07, allocated<br class="">
>> nonzeros=9.90037e+07<br class="">
>> > > > > > > > total number of mallocs used during MatSetValues calls =0<br class="">
>> > > > > > > > using I-node (on process 0) routines: found 78749<br class="">
>> nodes, limit used is 5<br class="">
>> > > > > > > ><br class="">
>> > > > > > > > The pattern of convergence gives a hint that this system is<br class="">
>> somehow bad/singular. But I don't know why the preconditioned error goes up<br class="">
>> too high. Anyone has an idea?<br class="">
>> > > > > > > ><br class="">
>> > > > > > > > Best regards<br class="">
>> > > > > > > > Giang Bui<br class="">
>> > > > > > > ><br class="">
>> > > > > > ><br class="">
>> > > > > > ><br class="">
>> > > > > ><br class="">
>> > > > > ><br class="">
>> > > > ><br class="">
>> > > > ><br class="">
>> > > ><br class="">
>> > > ><br class="">
>> > ><br class="">
>> > ><br class="">
>> ><br class="">
>> ><br class="">
>><br class="">
>><br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
<br clear="all" class="">
<div class=""><br class="">
</div>
--<span class="m_8426486426086775844m_2348089183134207201m_7797658317358904813Apple-converted-space"> </span><br class="">
<div class="m_8426486426086775844m_2348089183134207201m_7797658317358904813gmail_signature">
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br class="">
-- Norbert Wiener</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
<br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</body>
</html>