|
[Sponsors] |
Difference between Classical AMG and Smoothed aggregation AMG? |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
October 21, 2024, 09:19 |
Difference between Classical AMG and Smoothed aggregation AMG?
|
#1 |
New Member
Join Date: Oct 2023
Location: CN
Posts: 6
Rep Power: 3 |
I have investigated AMG and found that AMG can be applied to accelerate iterative computation of unstructured meshes. It is mainly divided into classic-AMG and smoothed aggregation AMG. I wonder the main scope of application of these two methods. I have learned that SA-AMG is more robust, while C-AMG is more commonly used. Both methods should not be limited to the application of the problem (such as CG can only be applied to symmetric positive definite matrices)?
My current understanding is that BiCG can be used for iterative calculation error when calculating on the coarse grid layer in AMG, so it should not only be used for symmetric positive definite matrices. In addition, in the current business software, Fluent, Comsol and other software use AMG method, but I see the official website is not clear whether it is used as a pre-condition or directly? |
|
October 21, 2024, 12:17 |
|
#2 |
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,285
Rep Power: 34 |
1. Classical AMG or Ruge Stueben AMG is where some coarse points are selected among the fine level points and these points are used to construct the coarser matrix. Here the restriction and prolongation is done by weighting methods. This AMG is very robust. The coarsening is usually pretty fast that means every level you will have reduction by factor of 7 or so.
2. Smoothed aggregation as name suggest is constructed by grouping or aggregating the points or equations. This AMG also has aggressive coarsening that is every coarsening step usually reduces equation by factor of 10 or so. (More than Ruge Stueben types). This AMG works very good for elliptic equations. My experience is that for elliptic equations it is much more converging than Ruge Stueben. Here smoothing is in built into the coarsening operator (Typically by Jacobi in practice based on spectral radius). 3. Most commercial codes use additive corrective method which simply adds equations to create coarse level. Typically the reduction is by factor or 2 or 3. More aggresive coarsening here worsen the convergence. So now the question is that why commercial codes not use above two method. This is because both above AMG are difficult to construct in parallel and expensive to construct too. In commercial codes they are reducing the errors by small tolerance (mostly by 0.1 or so). Additive corrective in most cases get it within the time you would construct the above two AMGs. PS: Fluent also have Selective AMG which is classical AMG. This one can select. |
|
October 22, 2024, 03:58 |
|
#3 |
New Member
Join Date: Oct 2023
Location: CN
Posts: 6
Rep Power: 3 |
Hello arjun,
I learned that in AMGCL code, both above AMG are implemented, and for other open source code like PETSc and AMGX, they all contain code that implements AMG(I haven't seen these code) "This AMG also has aggressive coarsening that is every coarsening step usually reduces equation by factor of 10 or so. (More than Ruge Stueben types)." is there any literature about this? or need from practical experience? In addition, I wonder the AMG method in Fluent used as preconditioner or just used to solve linear question directly? Any literature suggested for better understanding SA-AMG? thank you for your response. |
|
October 22, 2024, 04:43 |
|
#4 | |
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,285
Rep Power: 34 |
Quote:
In Fluent/StarCCM/OpenFOAM you can use AMG as preconditioner to BiCG or CG algorithms. You can also use them as linear solvers without Krylov solvers. (Which is default behaviour as I understand and last time I checked). As far as SA-AMG goes, I would suggest Nathen Bell's thesis and PyAMG where he implemented. Actually you can follow what PyAMG does and write smoothed aggregation and other AMGs. They have good collection of very robust AMGs where you can also check the code to understand. http://wnbell.com/media/2008-08-Thesis/Bell2008.pdf |
||
October 22, 2024, 06:12 |
|
#5 |
New Member
Join Date: Oct 2023
Location: CN
Posts: 6
Rep Power: 3 |
Answer myself :
In the Commercial software; Fluent contain two AMG methods: aggregative AMG (AAMG) and selective AMG (SAMG); both of them can used directly and preconditioner with BiCGSTAB/RPM/GMRES; here the url:https://www.afs.enea.it/project/nept...ug/node793.htm For COMSOL and STAR-CCM+, same with Fluent, while AMG uesd as preconditioner mainly to CG/BiCGStab algorithms. COMSOL URL:https://doc.comsol.com/5.5/doc/com.c...4.html#1532097 STAR-CCM+ URL:https://docs.sw.siemens.com/document...ml#wwID0EOK6AD |
|
Tags |
amg; amg solver; |
|
|