[petsc-users] ML options

Jed Brown jedbrown at mcs.anl.gov
Mon Jan 7 09:36:05 CST 2013


On Mon, Jan 7, 2013 at 9:09 AM, Mark F. Adams <mark.adams at columbia.edu>wrote:

> ex56 is a simple 3D elasticity problem.  There is a runex56 target that
> uses GAMG and a runex56_ml.  These have a generic parameters and ML and
> GAMG work well.
>
> The eigen estimates could be bad.  This can cause death.  I've found that
> CG converges to the largest eigenvalue faster than the default GMRES so I
> use:
>
> -gamg_est_ksp_max_it 10  # this is the default, you could increase this to
> test
> -gamg_est_ksp_type cg
>
> Jed could tell you how to set this for ML.
>

ML isn't using eigenvalue estimation (doesn't expose the algorithm). Sanjay
is using the default smoother (Richardson + SOR) rather than
chebyshev/pbjacobi.


>
>
>
> On Jan 7, 2013, at 8:49 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
>
> Could we get an example matrix exhibiting this behavior? If you run with
> -ksp_view_binary, the solver will write out the matrix to a file called
> 'binaryoutput' (and 'binaryoutput.info') when KSPSolve() returns. I
> suppose it could be a "math" reason of the inodes somehow causing an
> incorrect near-null space to be passed to ML, but the interface is not
> supposed to work like this. If you are serious about smoothed aggregation
> for elasticity, you should use MatSetNearNullSpace() to provide the rigid
> body modes.
>
> As a related matter, does -pc_type gamg -pc_gamg_agg_nsmooths 1
> -mg_levels_ksp_type richardson -mg_levels_pc_type sor converge well?
>
>
> On Mon, Jan 7, 2013 at 12:55 AM, Sanjay Govindjee <s_g at berkeley.edu>wrote:
>
>>
>> I am adding ML as an option to our FEA code and was looking for a bit of
>> guidance on
>> options.  Generally we solve 1,2, and 3D solids problems (nonlinear
>> elasticity) but
>> we also treat shells, thermal, problems, coupled problems, etc. etc.
>>
>> My basic run line looks like:
>>
>> -@${MPIEXEC} -n $(NPROC) $(MY_PROGRAM) -ksp_type cg -ksp_monitor -pc_type
>> ml  -log_summary  -ksp_view  -options_left
>>
>> but this does not work very well at all with 3D elasticity for example --
>> in fact it fails to converge after 10K iterations on a rather
>> modest problem.  However following ex26 in the ksp tutorials I also tried:
>>
>> -@${MPIEXEC} -n $(NPROC) $(FEAPRUN) -ksp_type cg -ksp_monitor -pc_type ml
>> -mat_no_inode -log_summary  -ksp_view  -options_left
>>
>> And this worked very very much better -- converged in about 10
>> iterations.  What exactly is -mat_no_inode doing for me? and are there
>> other 'important' options
>> that I should be aware of when using ML.
>>
>> -sanjay
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130107/b160eb7e/attachment.html>


More information about the petsc-users mailing list