PyAMG usage in MATLAB

54 views
Skip to first unread message

Arash Mehraban

unread,
Dec 14, 2020, 6:07:50 PM12/14/20
to pyamg-user

Dear Luke/Jacob

Sorry about the long email. I have a short question and its elaboration is provided below if the question is not clear enough.
Q:
What are all the parameters that can be set to solve/precondition Ax=b at run-time with PyAMG? I'd like to write some wrapper functions in my MATLAB Finite Element code for everything that can be set in PyAMG at runtime.

Elaboration:
I am in the process of developing a general matrix-free high-order finite element code that is capable of handling unstructured 2D and 3D meshes generated by the CUBIT software (Exodus-II files). I am interested in Solid and Fluid problems mostly. (Note: The code is not specific to one problem only. It can handle all kinds of problems.)
At run time, the user will have the ability to determine what order of accuracy which translates to what polynomial order (degree = 1,2,3, ..) of solution is desired for a particular field (ex: displacement is a field in elastic materials). The residual and action of Jacobian are computed matrix free for any order using tensor operations. However , for preconditioning , I am not assembling matrices based on high-order polynomials as they are very expensive and this paper also advises against it: "Heys, J., Manteuffel, T., McCormick, S., and Olson, L.,2005. Algebraic multigrid for higher-order finite elements".
Therefore, for preconditioning, I assemble a sparse matrix based on polynomial order 1, called Q1 hereby,  and then apply my own p-multigrid for high-order polynomials.
So, to precondition the sparse Q1 matrix,  I'd like to use PyAMG (otherwise, I would have to use MATLAB's  \ exact solver). However, I'd like to permit the user to have the ability to set anything that they could have, such as classical AMG, SA, types of smoothers, etc, as if they were working natively in PyAMG. 
So I was wondering if would be possible to get  a hold of what functions and smoothers,  parameter, etc could be set with PyAMG please?

Thanks

Arash

Jacob

unread,
Dec 14, 2020, 6:11:46 PM12/14/20
to pyamg-user
Hi Arash,

All the parameters should be listed in the doc-string.  So, taking smoothed_aggregation solver, you should be able to do 

>>> from pyamg import smoothed_aggregation_solver
>>>  help(smoothed_aggregation_solver)

I'm pretty sure that we don't have any "production" features that are not listed in the docstring.

Thanks!

Jacob

Arash Mehraban

unread,
Dec 16, 2020, 8:33:32 PM12/16/20
to pyamg-user
Thanks!

Arash
Reply all
Reply to author
Forward
0 new messages