[petsc-users] pcfieldsplit for a composite dm with multiple subfields

Matthew Knepley knepley at gmail.com
Thu Sep 10 09:45:30 CDT 2015


On Thu, Sep 10, 2015 at 9:27 AM, <gideon.simpson at gmail.com> wrote:

> Should I just take the terminal vector after running the solve, evaluate
> it on the form function, and then get the norms of the two subvectors, or
> is there a more elegant approach?  Also, should we start a new thread on
> this?
>

Yes, lets start a new thread.

To start, that plan is fine, but I want residuals and not solutions.

   Matt


> On Sep 10, 2015, at 6:50 AM, Matthew Knepley <knepley at gmail.com> wrote:
>
> On Thu, Sep 10, 2015 at 5:27 AM, Gideon Simpson <gideon.simpson at gmail.com>
> wrote:
>
>> So, again, running with quad precision,  -snes_fd and pc_type lu, if I do
>> a grep for “near zero”, I see the following:
>>
>
> So Newton is unjustified in crapping out. Our guess is just far from the
> convergence region.
>
> Can you show the errors norms for both halves of the problem?
>
>   Thanks,
>
>      Matt
>
>
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 8.163023801098e+03 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 3.146370982548e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.697372735008e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.823526830758e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.507319553253e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.813628310312e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.816618020961e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.817849506863e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.807060603357e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.809091235931e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.623262449138e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.816756713682e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.685357274378e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.756938620885e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.680026061303e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.683148573781e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.618467045595e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.623293118989e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.668093905256e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.695212648533e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.620604473902e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.672385534279e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.652972728605e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.698411440904e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.542965823842e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.609012612946e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.578931076912e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.663406483563e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.586963839897e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.683149398378e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.680332769742e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.756753069476e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.711014670480e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.696818088632e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.721356438844e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.683784209263e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.641393054798e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.604645386683e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.589098449105e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.584733045067e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.637110790126e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.585837492699e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.588112071344e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.585162738429e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.585159448454e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.584858718181e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.584588706770e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.583202923956e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.584796625595e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.584435892572e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckResidual_Private(): ||J^T(F-Ax)||/||F-AX||
>> 1.586950970155e+04 near zero implies inconsistent rhs
>> [0] SNESNEWTONLSCheckLocalMin_Private(): || J^T F|| 1.245983339100e+04
>> near zero implies found a local minimum
>>
>>
>> -gideon
>>
>> On Sep 9, 2015, at 11:40 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>>
>>
>>  The lines that include "near zero implies found a local minimum"
>>
>>
>>
>> On Sep 9, 2015, at 10:08 PM, Gideon Simpson <gideon.simpson at gmail.com>
>> wrote:
>>
>> The output is 55 megs.  Is there some specific portion you’re looking
>> for?
>>
>> -gideon
>>
>> On Sep 9, 2015, at 6:39 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>>
>>
>>  Ok, it is able to solve the linear systems with very small residuals so
>> I don't believe the Jacobian is single at this location.
>>
>>  Please make the same run again but with the additional option -info and
>> send all the output.
>>
>> Barry
>>
>>
>> On Sep 9, 2015, at 5:29 PM, Gideon Simpson <gideon.simpson at gmail.com>
>> wrote:
>>
>> I did a fresh install of 3.6.1 against gcc 5.2 with —download-mpi and
>> —download-f2cblas with quad math support.  I then ran my code with the
>> solver flags:
>> -snes_max_it 100 -snes_converged_reason -snes_monitor \
>> -pc_type lu \
>> -snes_max_funcs 500000 -snes_fd -snes_monitor -ksp_monitor_true_residual
>> -binary_read_double
>>
>> I get similar results as before, but, clearly, at higher precision:
>>
>>   0 SNES Function norm 2.528207888951e-12
>>     0 KSP preconditioned resid norm 3.518112956043e-12 true resid norm
>> 2.528207888951e-12 ||r(i)||/||b|| 1.000000000000e+00
>>     1 KSP preconditioned resid norm 0.000000000000e+00 true resid norm
>> 1.904732438038e-41 ||r(i)||/||b|| 7.533923323167e-30
>>   1 SNES Function norm 2.299665925647e-23
>> Nonlinear solve converged due to CONVERGED_FNORM_RELATIVE iterations 1
>> 0 SNES Function norm 5.066222213176e+03
>>   0 KSP preconditioned resid norm 3.135087050102e+01 true resid norm
>> 5.066222213176e+03 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 2.700962799224e-30 true resid norm
>> 5.578720034265e-27 ||r(i)||/||b|| 1.101159759585e-30
>> 1 SNES Function norm 8.484697184455e+02
>>   0 KSP preconditioned resid norm 2.668083368285e+02 true resid norm
>> 8.484697184455e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 8.794084418808e-29 true resid norm
>> 2.437641286218e-26 ||r(i)||/||b|| 2.872985603639e-29
>> 2 SNES Function norm 6.549559723473e+02
>>   0 KSP preconditioned resid norm 1.552154272986e+02 true resid norm
>> 6.549559723473e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 2.507070573051e-29 true resid norm
>> 4.361978496405e-27 ||r(i)||/||b|| 6.659956822398e-30
>> 3 SNES Function norm 5.770723278332e+02
>>   0 KSP preconditioned resid norm 1.348596652974e+02 true resid norm
>> 5.770723278332e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 3.578833635012e-28 true resid norm
>> 1.182025127733e-26 ||r(i)||/||b|| 2.048313652764e-29
>> 4 SNES Function norm 5.237702240779e+02
>>   0 KSP preconditioned resid norm 1.524401223281e+02 true resid norm
>> 5.237702240779e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.348074578423e-29 true resid norm
>> 3.851281508331e-27 ||r(i)||/||b|| 7.352998187537e-30
>> 5 SNES Function norm 4.753909020039e+02
>>   0 KSP preconditioned resid norm 1.864261890236e+02 true resid norm
>> 4.753909020039e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 7.878414198958e-29 true resid norm
>> 5.419935080688e-26 ||r(i)||/||b|| 1.140100716661e-28
>> 6 SNES Function norm 4.221784590918e+02
>>   0 KSP preconditioned resid norm 2.550992139992e+02 true resid norm
>> 4.221784590918e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 4.075971594113e-29 true resid norm
>> 7.094679472303e-27 ||r(i)||/||b|| 1.680493004680e-29
>> 7 SNES Function norm 3.806525080588e+02
>>   0 KSP preconditioned resid norm 5.183605289859e+02 true resid norm
>> 3.806525080588e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.103573513147e-28 true resid norm
>> 2.144465704039e-26 ||r(i)||/||b|| 5.633657098375e-29
>> 8 SNES Function norm 3.762054656159e+02
>>   0 KSP preconditioned resid norm 5.320776223634e+03 true resid norm
>> 3.762054656159e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 2.585030728289e-27 true resid norm
>> 5.530627313578e-25 ||r(i)||/||b|| 1.470108177329e-27
>> 9 SNES Function norm 3.758975227011e+02
>>   0 KSP preconditioned resid norm 6.252711433929e+03 true resid norm
>> 3.758975227011e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 6.414696869631e-28 true resid norm
>> 2.875693139366e-25 ||r(i)||/||b|| 7.650205084359e-28
>> 10 SNES Function norm 3.757032042685e+02
>>   0 KSP preconditioned resid norm 5.890497158679e+02 true resid norm
>> 3.757032042685e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.912199122959e-28 true resid norm
>> 4.765625322483e-26 ||r(i)||/||b|| 1.268454798452e-28
>> 11 SNES Function norm 3.728798164350e+02
>>   0 KSP preconditioned resid norm 1.081356529363e+03 true resid norm
>> 3.728798164350e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.465322278036e-27 true resid norm
>> 8.948779168104e-26 ||r(i)||/||b|| 2.399909776201e-28
>> 12 SNES Function norm 3.723078740346e+02
>>   0 KSP preconditioned resid norm 3.745127665225e+03 true resid norm
>> 3.723078740346e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 6.682508949012e-28 true resid norm
>> 2.402288617952e-26 ||r(i)||/||b|| 6.452424956579e-29
>> 13 SNES Function norm 3.721848058457e+02
>>   0 KSP preconditioned resid norm 3.495477557738e+03 true resid norm
>> 3.721848058457e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 2.389031769454e-28 true resid norm
>> 4.589073952100e-26 ||r(i)||/||b|| 1.233009483467e-28
>> 14 SNES Function norm 3.720227574913e+02
>>   0 KSP preconditioned resid norm 1.265999878583e+04 true resid norm
>> 3.720227574913e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 3.936728612764e-27 true resid norm
>> 6.774363900864e-26 ||r(i)||/||b|| 1.820954165962e-28
>> 15 SNES Function norm 3.720051997704e+02
>>   0 KSP preconditioned resid norm 2.912354770053e+03 true resid norm
>> 3.720051997704e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.193330450218e-26 true resid norm
>> 9.007685186918e-25 ||r(i)||/||b|| 2.421386903322e-27
>> 16 SNES Function norm 3.718945465838e+02
>>   0 KSP preconditioned resid norm 1.082057529463e+03 true resid norm
>> 3.718945465838e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.143696537658e-28 true resid norm
>> 1.173159164030e-26 ||r(i)||/||b|| 3.154547908288e-29
>> 17 SNES Function norm 3.700412588801e+02
>>   0 KSP preconditioned resid norm 3.676198400599e+01 true resid norm
>> 3.700412588801e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 3.884191202285e-29 true resid norm
>> 8.141362804702e-28 ||r(i)||/||b|| 2.200122988810e-30
>> 18 SNES Function norm 3.351964193518e+02
>>   0 KSP preconditioned resid norm 1.071494896915e+02 true resid norm
>> 3.351964193518e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 5.159408051956e-29 true resid norm
>> 3.785844889574e-27 ||r(i)||/||b|| 1.129440731168e-29
>> 19 SNES Function norm 3.096020694819e+02
>>   0 KSP preconditioned resid norm 3.361110777562e+02 true resid norm
>> 3.096020694819e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 3.067163043170e-28 true resid norm
>> 3.097548865490e-26 ||r(i)||/||b|| 1.000493591879e-28
>> 20 SNES Function norm 3.008463400554e+02
>>   0 KSP preconditioned resid norm 7.151989169521e+01 true resid norm
>> 3.008463400554e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 2.963021196462e-29 true resid norm
>> 3.267842047327e-27 ||r(i)||/||b|| 1.086216321171e-29
>> 21 SNES Function norm 2.752372240183e+02
>>   0 KSP preconditioned resid norm 1.737818994441e+02 true resid norm
>> 2.752372240183e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.355051821355e-29 true resid norm
>> 1.159582173983e-27 ||r(i)||/||b|| 4.213028154600e-30
>> 22 SNES Function norm 2.707638991136e+02
>>   0 KSP preconditioned resid norm 4.095365990261e+02 true resid norm
>> 2.707638991136e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 3.313462531085e-29 true resid norm
>> 2.326415447553e-27 ||r(i)||/||b|| 8.592044416441e-30
>> 23 SNES Function norm 2.698513655244e+02
>>   0 KSP preconditioned resid norm 7.571732975899e+01 true resid norm
>> 2.698513655244e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 4.706642213758e-29 true resid norm
>> 5.275659070101e-28 ||r(i)||/||b|| 1.955024040679e-30
>> 24 SNES Function norm 2.617973287453e+02
>>   0 KSP preconditioned resid norm 1.781133707863e+02 true resid norm
>> 2.617973287453e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 7.624863846438e-29 true resid norm
>> 1.041367251217e-27 ||r(i)||/||b|| 3.977761179642e-30
>> 25 SNES Function norm 2.600135095660e+02
>>   0 KSP preconditioned resid norm 1.377746106386e+02 true resid norm
>> 2.600135095660e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.148291819547e-28 true resid norm
>> 1.521069513901e-27 ||r(i)||/||b|| 5.849963397822e-30
>> 26 SNES Function norm 2.584547548464e+02
>>   0 KSP preconditioned resid norm 1.778914250872e+02 true resid norm
>> 2.584547548464e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.300336366195e-28 true resid norm
>> 2.069166109298e-27 ||r(i)||/||b|| 8.005912332807e-30
>> 27 SNES Function norm 2.570427136855e+02
>>   0 KSP preconditioned resid norm 9.377626460831e+01 true resid norm
>> 2.570427136855e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 5.766637486688e-29 true resid norm
>> 5.436682842489e-28 ||r(i)||/||b|| 2.115089264557e-30
>> 28 SNES Function norm 2.553675835085e+02
>>   0 KSP preconditioned resid norm 3.196813637571e+02 true resid norm
>> 2.553675835085e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 5.412882946976e-28 true resid norm
>> 4.755028260087e-26 ||r(i)||/||b|| 1.862032837041e-28
>> 29 SNES Function norm 2.543107878046e+02
>>   0 KSP preconditioned resid norm 3.373192219793e+02 true resid norm
>> 2.543107878046e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 3.620724126195e-29 true resid norm
>> 2.234654091065e-27 ||r(i)||/||b|| 8.787099085950e-30
>> 30 SNES Function norm 2.539436050245e+02
>>   0 KSP preconditioned resid norm 3.351117240495e+02 true resid norm
>> 2.539436050245e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.229207196291e-29 true resid norm
>> 3.225569644851e-27 ||r(i)||/||b|| 1.270191326354e-29
>> 31 SNES Function norm 2.536651625665e+02
>>   0 KSP preconditioned resid norm 3.687817755461e+02 true resid norm
>> 2.536651625665e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 3.233376086959e-29 true resid norm
>> 2.522505835235e-27 ||r(i)||/||b|| 9.944234398264e-30
>> 32 SNES Function norm 2.536237446853e+02
>>   0 KSP preconditioned resid norm 6.074223711615e+02 true resid norm
>> 2.536237446853e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 2.047078682230e-28 true resid norm
>> 5.038976546196e-27 ||r(i)||/||b|| 1.986792109094e-29
>> 33 SNES Function norm 2.535658772687e+02
>>   0 KSP preconditioned resid norm 8.774992658126e+02 true resid norm
>> 2.535658772687e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.036350427238e-28 true resid norm
>> 4.058678859635e-27 ||r(i)||/||b|| 1.600640789428e-29
>> 34 SNES Function norm 2.535415069989e+02
>>   0 KSP preconditioned resid norm 1.619728779960e+03 true resid norm
>> 2.535415069989e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.173925947581e-28 true resid norm
>> 1.460901190689e-26 ||r(i)||/||b|| 5.761980387282e-29
>> 35 SNES Function norm 2.535362549500e+02
>>   0 KSP preconditioned resid norm 4.120252504215e+03 true resid norm
>> 2.535362549500e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.482004320762e-27 true resid norm
>> 2.515988923022e-26 ||r(i)||/||b|| 9.923586366447e-29
>> 36 SNES Function norm 2.535350372131e+02
>>   0 KSP preconditioned resid norm 7.065615798134e+03 true resid norm
>> 2.535350372131e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.267231805260e-27 true resid norm
>> 9.127341716497e-26 ||r(i)||/||b|| 3.600031702452e-28
>> 37 SNES Function norm 2.535346214155e+02
>>   0 KSP preconditioned resid norm 1.200630987401e+04 true resid norm
>> 2.535346214155e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 6.331744826877e-27 true resid norm
>> 3.434648364475e-25 ||r(i)||/||b|| 1.354705856462e-27
>> 38 SNES Function norm 2.535344771151e+02
>>   0 KSP preconditioned resid norm 2.045653956385e+04 true resid norm
>> 2.535344771151e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 2.729474459326e-27 true resid norm
>> 4.809771115033e-25 ||r(i)||/||b|| 1.897087595250e-27
>> 39 SNES Function norm 2.535344273428e+02
>>   0 KSP preconditioned resid norm 3.496422852684e+04 true resid norm
>> 2.535344273428e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.413460430546e-26 true resid norm
>> 2.800309113539e-25 ||r(i)||/||b|| 1.104508426287e-27
>> 40 SNES Function norm 2.535344102918e+02
>>   0 KSP preconditioned resid norm 5.986286390122e+04 true resid norm
>> 2.535344102918e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.071099626460e-25 true resid norm
>> 2.269549087060e-24 ||r(i)||/||b|| 8.951641256299e-27
>> 41 SNES Function norm 2.535344046223e+02
>>   0 KSP preconditioned resid norm 1.158888344932e+05 true resid norm
>> 2.535344046223e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 9.362165764120e-26 true resid norm
>> 5.723929359721e-24 ||r(i)||/||b|| 2.257653894448e-26
>> 42 SNES Function norm 2.535344044297e+02
>>   0 KSP preconditioned resid norm 6.015343562155e+05 true resid norm
>> 2.535344044297e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 3.045273774078e-24 true resid norm
>> 5.965631634103e-23 ||r(i)||/||b|| 2.352987022618e-25
>> 43 SNES Function norm 2.535344043720e+02
>>   0 KSP preconditioned resid norm 1.032398569969e+06 true resid norm
>> 2.535344043720e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 6.133229797301e-24 true resid norm
>> 2.132052198244e-22 ||r(i)||/||b|| 8.409321028933e-25
>> 44 SNES Function norm 2.535344043525e+02
>>   0 KSP preconditioned resid norm 1.771990642532e+06 true resid norm
>> 2.535344043525e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 1.399736530559e-23 true resid norm
>> 2.816123472957e-22 ||r(i)||/||b|| 1.110746085980e-24
>> 45 SNES Function norm 2.535344043458e+02
>>   0 KSP preconditioned resid norm 3.041524303674e+06 true resid norm
>> 2.535344043458e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 6.700523240131e-24 true resid norm
>> 1.214940402127e-21 ||r(i)||/||b|| 4.792013948806e-24
>> 46 SNES Function norm 2.535344043436e+02
>>   0 KSP preconditioned resid norm 5.220719804889e+06 true resid norm
>> 2.535344043436e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 7.749472721038e-24 true resid norm
>> 9.462448677416e-22 ||r(i)||/||b|| 3.732214845522e-24
>> 47 SNES Function norm 2.535344043428e+02
>>   0 KSP preconditioned resid norm 8.961379294572e+06 true resid norm
>> 2.535344043428e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 2.735576070962e-23 true resid norm
>> 3.261102152175e-21 ||r(i)||/||b|| 1.286256261997e-23
>> 48 SNES Function norm 2.535344043425e+02
>>   0 KSP preconditioned resid norm 1.538234198056e+07 true resid norm
>> 2.535344043425e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 5.924165850746e-23 true resid norm
>> 3.890747245316e-21 ||r(i)||/||b|| 1.534603264360e-23
>> 49 SNES Function norm 2.535344043424e+02
>>   0 KSP preconditioned resid norm 2.640413180607e+07 true resid norm
>> 2.535344043424e+02 ||r(i)||/||b|| 1.000000000000e+00
>>   1 KSP preconditioned resid norm 2.163013019454e-23 true resid norm
>> 5.034396892612e-21 ||r(i)||/||b|| 1.985685889719e-23
>> Nonlinear solve did not converge due to DIVERGED_LINE_SEARCH iterations 49
>> -gideon
>>
>> On Sep 9, 2015, at 3:15 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>>
>>
>> Thanks. I think you should try running this with __float128 (quad
>> precision) to see what happens.
>>
>> Do you have access to a relatively recent (last couple of years) gcc (and
>> gfortran) compiler?
>>
>> Select a new PETSC_ARCH name say arch-quad
>>
>> and run configure with the additional option -with-precision=__float128
>>
>> not use --download-mumps or other such packages since they don't work
>> with __float128.  If you get everything build then run
>> with the same options except do not use pc_factor_mat_solver_package
>> mumps  just use the default PETSc solver LU
>>
>> Note that if your program is reading in binary files this will be
>> slightly tricky since you will need to convert the result to __float128
>> format. If you use PETSc VecLoad() or PetscBinaryRead() etc you can just
>> use the flag -binary_read_double and will read from a double binary file
>> and automatically put the results into the PETSc __float128 matrices.
>>
>> Interpreting results. You may get convergence which might likely indicate
>> the scaling and conditioning of your problem are very nasty but can be
>> overcome with more precision or you may get the same lack of convergence
>> you get now and I don't have a good explanation for that :-)
>>
>> Note: it could also be that your SNES function evaluation has a problem.
>>
>>
>>
>> Barry
>>
>> On Sep 9, 2015, at 1:48 PM, Gideon Simpson <gideon.simpson at gmail.com>
>> wrote:
>>
>> So here’s one grid sequence with these solver flags:
>> -snes_max_it 100 -snes_converged_reason -snes_monitor \
>> -pc_type lu \
>> -pc_factor_mat_solver_package mumps -mat_mumps_icntl_28 1
>> -mat_mumps_icntl_7 6 \
>> -snes_max_funcs 500000 -snes_fd -snes_monitor -ksp_monitor_true_residual
>>
>> By the way, the problem, I believe is approaching something that is
>> singular, so it is not unreasonable to think there is some kind of inherent
>> ill conditioning in the problem.
>>
>>  0 SNES Function norm 2.977789375068e-12
>>    0 KSP preconditioned resid norm 9.487609584353e-12 true resid norm
>> 2.977789375068e-12 ||r(i)||/||b|| 1.000000000000e+00
>>    1 KSP preconditioned resid norm 3.713064216887e-24 true resid norm
>> 9.247299640119e-23 ||r(i)||/||b|| 3.105424351885e-11
>>  1 SNES Function norm 2.511921299174e-12
>> Nonlinear solve converged due to CONVERGED_SNORM_RELATIVE iterations 1
>> 0 SNES Function norm 5.066222213175e+03
>>  0 KSP preconditioned resid norm 3.135073899423e+01 true resid norm
>> 5.066222213175e+03 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 4.667575811795e-11 true resid norm
>> 2.582648659172e-07 ||r(i)||/||b|| 5.097780062738e-11
>> 1 SNES Function norm 8.484664416715e+02
>>  0 KSP preconditioned resid norm 2.668033649331e+02 true resid norm
>> 8.484664416715e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 3.096350794450e-10 true resid norm
>> 1.126402252137e-08 ||r(i)||/||b|| 1.327574311505e-11
>> 2 SNES Function norm 6.549557200006e+02
>>  0 KSP preconditioned resid norm 1.552337314505e+02 true resid norm
>> 6.549557200006e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 1.781790941843e-09 true resid norm
>> 5.596253874028e-08 ||r(i)||/||b|| 8.544476677024e-11
>> 3 SNES Function norm 5.770704424482e+02
>>  0 KSP preconditioned resid norm 1.348464485234e+02 true resid norm
>> 5.770704424482e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 1.909040505447e-10 true resid norm
>> 6.992127254821e-09 ||r(i)||/||b|| 1.211659225719e-11
>> 4 SNES Function norm 5.237674957045e+02
>>  0 KSP preconditioned resid norm 1.524393824592e+02 true resid norm
>> 5.237674957045e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 1.664845931493e-10 true resid norm
>> 5.713325641481e-09 ||r(i)||/||b|| 1.090813326206e-11
>> 5 SNES Function norm 4.753878819749e+02
>>  0 KSP preconditioned resid norm 1.864281909532e+02 true resid norm
>> 4.753878819749e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 1.409973828386e-10 true resid norm
>> 4.289369979836e-09 ||r(i)||/||b|| 9.022884559061e-12
>> 6 SNES Function norm 4.221755368773e+02
>>  0 KSP preconditioned resid norm 2.551073925659e+02 true resid norm
>> 4.221755368773e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 5.540011959843e-10 true resid norm
>> 1.441047729187e-08 ||r(i)||/||b|| 3.413385199545e-11
>> 7 SNES Function norm 3.806522663388e+02
>>  0 KSP preconditioned resid norm 5.183358055470e+02 true resid norm
>> 3.806522663388e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 2.063740790885e-09 true resid norm
>> 3.530342872323e-08 ||r(i)||/||b|| 9.274456464634e-11
>> 8 SNES Function norm 3.762033603907e+02
>>  0 KSP preconditioned resid norm 5.324397409227e+03 true resid norm
>> 3.762033603907e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 6.352530213970e-09 true resid norm
>> 9.590500220593e-08 ||r(i)||/||b|| 2.549286165502e-10
>> 9 SNES Function norm 3.758953286234e+02
>>  0 KSP preconditioned resid norm 6.246847657999e+03 true resid norm
>> 3.758953286234e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 5.367419000872e-08 true resid norm
>> 8.213904234688e-07 ||r(i)||/||b|| 2.185157305564e-09
>> 10 SNES Function norm 3.756870388529e+02
>>  0 KSP preconditioned resid norm 5.901626862375e+02 true resid norm
>> 3.756870388529e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 1.330043229228e-09 true resid norm
>> 1.418363475093e-08 ||r(i)||/||b|| 3.775385702481e-11
>> 11 SNES Function norm 3.728715884883e+02
>>  0 KSP preconditioned resid norm 1.069749399855e+03 true resid norm
>> 3.728715884883e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 2.911440821785e-10 true resid norm
>> 9.552819316154e-09 ||r(i)||/||b|| 2.561959562241e-11
>> 12 SNES Function norm 3.722328158041e+02
>>  0 KSP preconditioned resid norm 3.064673278570e+03 true resid norm
>> 3.722328158041e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 1.105090853307e-08 true resid norm
>> 1.085271466536e-07 ||r(i)||/||b|| 2.915571707969e-10
>> 13 SNES Function norm 3.720989356426e+02
>>  0 KSP preconditioned resid norm 9.068377570178e+03 true resid norm
>> 3.720989356426e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 3.784084466576e-08 true resid norm
>> 3.777243066339e-07 ||r(i)||/||b|| 1.015117944322e-09
>> 14 SNES Function norm 3.720707403757e+02
>>  0 KSP preconditioned resid norm 7.198056009453e+04 true resid norm
>> 3.720707403757e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 7.120525808630e-08 true resid norm
>> 1.054867000686e-06 ||r(i)||/||b|| 2.835124846476e-09
>> 15 SNES Function norm 3.720707293983e+02
>>  0 KSP preconditioned resid norm 4.134314655599e+03 true resid norm
>> 3.720707293983e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 2.003141582850e-08 true resid norm
>> 2.046203596859e-07 ||r(i)||/||b|| 5.499501667784e-10
>> 16 SNES Function norm 3.719027845818e+02
>>  0 KSP preconditioned resid norm 2.545115269075e+03 true resid norm
>> 3.719027845818e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 4.965948884734e-08 true resid norm
>> 5.071610656715e-07 ||r(i)||/||b|| 1.363692574235e-09
>> 17 SNES Function norm 3.714400762925e+02
>>  0 KSP preconditioned resid norm 1.109601826815e+03 true resid norm
>> 3.714400762925e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 6.169052076803e-09 true resid norm
>> 6.563603648295e-08 ||r(i)||/||b|| 1.767069324832e-10
>> 18 SNES Function norm 3.701626928766e+02
>>  0 KSP preconditioned resid norm 2.447547395077e+02 true resid norm
>> 3.701626928766e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 1.250579098159e-09 true resid norm
>> 1.218652092692e-08 ||r(i)||/||b|| 3.292206686799e-11
>> 19 SNES Function norm 3.556442798407e+02
>>  0 KSP preconditioned resid norm 1.418496111605e+02 true resid norm
>> 3.556442798407e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 3.627252384359e-10 true resid norm
>> 1.951334080585e-09 ||r(i)||/||b|| 5.486757952241e-12
>> 20 SNES Function norm 3.496125058841e+02
>>  0 KSP preconditioned resid norm 6.543042326746e+01 true resid norm
>> 3.496125058841e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 1.377371559702e-10 true resid norm
>> 1.295256556885e-09 ||r(i)||/||b|| 3.704834738706e-12
>> 21 SNES Function norm 3.146776071310e+02
>>  0 KSP preconditioned resid norm 4.667517635820e+01 true resid norm
>> 3.146776071310e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 2.743789267634e-09 true resid norm
>> 1.644758285998e-08 ||r(i)||/||b|| 5.226804350630e-11
>> 22 SNES Function norm 2.855422195269e+02
>>  0 KSP preconditioned resid norm 2.243742065865e+02 true resid norm
>> 2.855422195269e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 1.047816533727e-10 true resid norm
>> 2.299887594213e-09 ||r(i)||/||b|| 8.054457228859e-12
>> 23 SNES Function norm 2.806777486780e+02
>>  0 KSP preconditioned resid norm 1.561899503179e+03 true resid norm
>> 2.806777486780e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 3.972680147986e-09 true resid norm
>> 7.239772649903e-08 ||r(i)||/||b|| 2.579389596790e-10
>> 24 SNES Function norm 2.805893466480e+02
>>  0 KSP preconditioned resid norm 1.722111652119e+03 true resid norm
>> 2.805893466480e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 5.170553469009e-09 true resid norm
>> 6.273773919075e-08 ||r(i)||/||b|| 2.235927341513e-10
>> 25 SNES Function norm 2.805171735939e+02
>>  0 KSP preconditioned resid norm 8.024869901472e+03 true resid norm
>> 2.805171735939e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 2.741187759948e-08 true resid norm
>> 3.211723859501e-07 ||r(i)||/||b|| 1.144929495173e-09
>> 26 SNES Function norm 2.805136061483e+02
>>  0 KSP preconditioned resid norm 3.239737262200e+04 true resid norm
>> 2.805136061483e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 2.317708795749e-08 true resid norm
>> 3.672739850558e-07 ||r(i)||/||b|| 1.309291160949e-09
>> 27 SNES Function norm 2.805134008969e+02
>>  0 KSP preconditioned resid norm 6.920567009699e+04 true resid norm
>> 2.805134008969e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 1.101785240910e-07 true resid norm
>> 1.523556762078e-06 ||r(i)||/||b|| 5.431315428092e-09
>> 28 SNES Function norm 2.805133530790e+02
>>  0 KSP preconditioned resid norm 3.265182256725e+05 true resid norm
>> 2.805133530790e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 3.903754744633e-07 true resid norm
>> 6.654431764515e-06 ||r(i)||/||b|| 2.372233510980e-08
>> 29 SNES Function norm 2.805133509342e+02
>>  0 KSP preconditioned resid norm 1.312587966212e+06 true resid norm
>> 2.805133509342e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 1.990958223875e-07 true resid norm
>> 1.311133369898e-05 ||r(i)||/||b|| 4.674049793106e-08
>> 30 SNES Function norm 2.805133508006e+02
>>  0 KSP preconditioned resid norm 2.049236485623e+07 true resid norm
>> 2.805133508006e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 3.432837714993e-05 true resid norm
>> 4.348842776781e-04 ||r(i)||/||b|| 1.550315792232e-06
>> 31 SNES Function norm 2.805133508001e+02
>>  0 KSP preconditioned resid norm 7.694877106483e+06 true resid norm
>> 2.805133508001e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 4.401952388358e-06 true resid norm
>> 1.008598135500e-04 ||r(i)||/||b|| 3.595544142990e-07
>> 32 SNES Function norm 2.805133507963e+02
>>  0 KSP preconditioned resid norm 1.116553807875e+08 true resid norm
>> 2.805133507963e+02 ||r(i)||/||b|| 1.000000000000e+00
>>  1 KSP preconditioned resid norm 7.718443445086e-06 true resid norm
>> 1.327187421086e-03 ||r(i)||/||b|| 4.731280765492e-06
>> Nonlinear solve did not converge due to DIVERGED_LINE_SEARCH iterations 32
>>
>> -gideon
>>
>> On Sep 9, 2015, at 1:52 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>>
>>
>> Please run with the -snes_fd and one level of grid sequencing (where
>> Newton was having trouble converging on the second level) with
>> -snes_monitor -ksp_monitor_true_residual and send the output. Too much
>> speculation and not enough data.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150910/1d09cf08/attachment-0001.html>


More information about the petsc-users mailing list