<div class="gmail_quote">On Thu, May 31, 2012 at 5:26 PM, Jozsef Bakosi <span dir="ltr"><<a href="mailto:jbakosi@lanl.gov" target="_blank">jbakosi@lanl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":1ez">Great. Thanks. When I pass these options on the command line, how can I<br>
get a feedback to see if the option has actually been used or not?<br></div></blockquote><div><br></div><div>-options_left shows whether the option was queried</div><div><br></div><div>-ksp_view will have a line "tolerance for zero pivot" telling you what was actually used</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":1ez">
<div class="im"><br>
> > > What discretization are you using?<br>
> ><br>
> > Straightforward Galerkin FEM Poisson solver.<br>
> ><br>
><br>
> What boundary conditions? I'm guessing the constant is in the null space,<br>
> in which case the coarse space really should be singular and you should not<br>
> be trying to solve it with a direct solver.<br>
<br>
</div>I do set the additive constant. I have no problem with this on lower core-counts.<br></div></blockquote><div><br></div><div>What do you mean by "set the additive constant"? How do you enforce it? Best option is usually to tell the KSP about the null space and use an inexact coarse level solver. If you use ML with default options, the coarse levels are generally small enough that you can brute-force it by using -mg_coarse_redundant_pc_type svd. If you need big coarse spaces, you'll probably need to use an inexact coarse level solver (possibly use a shift, as in -pc_coarse_redundant_pc_factor_shift_type nonzero.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":1ez">
<br>
I did another test and set the PETSC_OPTIONS environment variable to<br>
'-options_table -options_left', then I get:<br>
<br>
...<br>
<br>
[49]PETSC ERROR: Zero pivot row 537 value 9.36276e-13 tolerance 1e-12!<br></div></blockquote><div><br></div><div>This is an error. How do you get to the output shown below?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":1ez">
<br>
...<br>
<br>
#PETSc Option Table entries:<br>
-mg_levels_ksp_norm_type no<br>
-mg_levels_ksp_richardson_scale 0.90<br>
-mg_levels_ksp_type richardson<br>
-mg_levels_pc_type bjacobi<br>
-mg_levels_sub_ksp_norm_type no<br>
-mg_levels_sub_ksp_type preonly<br>
-mg_levels_sub_pc_type icc<br>
-options_left<br>
-options_table<br>
-pc_asm_overlap 1<br>
-pc_mg_cycle_type v<br>
-pc_mg_smoothdown 1<br>
-pc_mg_smoothup 1<br>
-pc_ml_maxCoarseSize 1500<br>
-pc_ml_maxNlevels 10<br>
-pc_type asm<br>
-sub_pc_factor_levels 0<br>
-sub_pc_factor_zeropivot 1e-20<br>
-sub_pc_type ilu<br>
#End of PETSc Option Table entries<br>
There are no unused options.<br>
<br>
So how do I tell, which zeropivot setting (the 1e-20 or the 1e-12) is the one petsc is using?<br></div></blockquote></div><br>