<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Dear Dune,</div><div><br></div><div>I need to instantiate the AMG preconditioner so that I can specify a specific coarseSolver</div><div>since my problem does not work with the default behavior of AMG, i.e.</div><div><br></div><div><span class="Apple-style-span" style="font-family: sans-serif; "><p style="font-family: Geneva, Arial, Helvetica, sans-serif; padding-left: 10px; ">"Construct an <a class="el" href="http://www.dune-project.org/doc/doxygen/dune-istl-html/class_dune_1_1_amg_1_1_a_m_g.html" title="Parallel algebraic multigrid based on agglomeration." style="color: rgb(26, 65, 168); text-decoration: none; font-weight: bold; ">AMG</a> with an inexact coarse solver based on the smoother.</p><p style="font-family: Geneva, Arial, Helvetica, sans-serif; padding-left: 10px; ">As coarse solver a preconditioned CG method with the smoother as preconditioner will be used. The matrix hierarchy is built automatically."</p></span></div><div><br></div><div>Thus, I would like to use this constructor</div><div><br></div><div><span class="Apple-style-span" style="font-family: sans-serif; font-weight: bold; "><table class="memname" style="white-space: nowrap; font-weight: bold; position: static; z-index: auto; "><tbody><tr></tr><tr><td class="memname" style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; white-space: nowrap; font-weight: bold; "><a class="el" href="http://www.dune-project.org/doc/doxygen/dune-istl-html/class_dune_1_1_amg_1_1_a_m_g.html" style="color: rgb(26, 65, 168); text-decoration: none; font-weight: bold; ">Dune::Amg::AMG</a>< M, X, S, PI, <a class="el" href="http://www.dune-project.org/doc/doxygen/dune-istl-html/group___i_s_t_l___s_p_m_v.html#gaf9526ceb06c2a3425a0d91eec5dffe8" style="color: rgb(26, 65, 168); text-decoration: none; font-weight: bold; ">A</a> >::AMG</td><td style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; ">(</td><td class="paramtype" style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; white-space: nowrap; ">const <a class="el" href="http://www.dune-project.org/doc/doxygen/dune-istl-html/class_dune_1_1_amg_1_1_matrix_hierarchy.html" style="color: rgb(26, 65, 168); text-decoration: none; font-weight: bold; ">OperatorHierarchy</a> & </td><td class="paramname" style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(247, 116, 0); font-style: italic; white-space: nowrap; "><em>matrices</em>,</td></tr><tr><td class="paramkey" style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; text-align: right; "></td><td style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; "></td><td class="paramtype" style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; white-space: nowrap; "><a class="el" href="http://www.dune-project.org/doc/doxygen/dune-istl-html/class_dune_1_1_inverse_operator.html" style="color: rgb(26, 65, 168); text-decoration: none; font-weight: bold; ">CoarseSolver</a> & </td><td class="paramname" style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(247, 116, 0); font-style: italic; white-space: nowrap; "><em>coarseSolver</em>,</td></tr><tr><td class="paramkey" style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; text-align: right; "></td><td style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; "></td><td class="paramtype" style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; white-space: nowrap; ">const <a class="el" href="http://www.dune-project.org/doc/doxygen/dune-istl-html/struct_dune_1_1_amg_1_1_default_smoother_args.html" style="color: rgb(26, 65, 168); text-decoration: none; font-weight: bold; ">SmootherArgs</a> & </td><td class="paramname" style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(247, 116, 0); font-style: italic; white-space: nowrap; "><em>smootherArgs</em>,</td></tr><tr><td class="paramkey" style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; text-align: right; "></td><td style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; "></td><td class="paramtype" style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; white-space: nowrap; ">const <a class="el" href="http://www.dune-project.org/doc/doxygen/dune-istl-html/class_dune_1_1_amg_1_1_parameters.html" style="color: rgb(26, 65, 168); text-decoration: none; font-weight: bold; ">Parameters</a> & </td><td class="paramname" style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(247, 116, 0); font-style: italic; white-space: nowrap; "><em>parms</em></td><td style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; "> </td></tr><tr><td style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; "></td><td style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 14px; ">)<br><br></td></tr></tbody></table></span></div><div><br></div><div>Now, given my (parallel) BCRS matrix, distributed over the processes, could you please sketch </div><div>the way I should go, i.e. tell me on what other classes to use ?</div><div><br></div><div>I have a rough idea that I need to create my own operator hierarchy and I need to specify a coarse</div><div>solver, could be a very simple LoopSolver preconditioned by  SeqJac, in fact.</div><div><br></div><div>But what exactly must be done ?</div><div><br></div><div>I have a look at the AMG tests, but would not understand perfectly well.</div><div><br></div><div><br></div><div>Thanks for giving some hints.</div><div><br></div><div><br></div><div>Greetings, Benedikt</div><div><br></div><div><br></div><div><br></div><div><br></div><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>--------------------------------------------------------------------------------------------------------------------------------------------------------------------</div><div>Benedikt Oswald, Dr. sc. techn., dipl. El. Ing. ETH, <a href="http://www.psi.ch">www.psi.ch</a>, Computational Accelerator Scientist, <a href="http://amas.web.psi.ch">http://amas.web.psi.ch</a></div><div>Paul Scherrer  Institute (PSI), CH-5232 Villigen, Suisse, <a href="mailto:benedikt.oswald@psi.ch">benedikt.oswald@psi.ch</a>, +41(0)56 310 32 12</div><div><br></div><div>"Passion is required for any great work, and for the revolution passion and audacity are required in big doses.",<br> Ernesto 'Che' Guevara, Letter to his parents.<br>--------------------------------------------------------------------------------------------------------------------------------------------------------------------</div></div></div></span></span>
</div>
<br></body></html>