<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Dear PETSc,
<div class=""><br class="">
</div>
<div class="">I’m trying to use hypre’s BoomerAMG preconditioner through PETSc. However, I would like to use a non-standard smoother, namely an incomplete LU factorisation, which is implemented in hypre’s Euclid (that’s because the problem is highly anisotropic,
 and GAMG worked very weill with ILU smoother). In native hypre I can set this with HYPRE_BoomerAMGSetSmoothType(). However, I can’t see how I can pass this through the PETSc interface, since the only boomeramg options I can set are listed below. As far as
 I can see they allow me to change the pointwise smoother via HYPRE_BoomerAMGSetRelaxType().</div>
<div class=""><br class="">
</div>
<div class="">Does anyone have any advice on what I can do to use Euclid as a smoother via setting the correct PETSc options?</div>
<div class=""><br class="">
</div>
<div class="">Thank you very much,</div>
<div class=""><br class="">
</div>
<div class="">Eike</div>
<div class=""><br class="">
</div>
eikemueller@138-38-173-198 $ ./ex6 -f -f helmholtz-sphere.dat  -ksp_type cg -ksp_convergence_test skip -ksp_max_it 2  -ksp_monitor -table -pc_hypre_type boomeramg -pc_type hypre -log_summary -ksp_view -help | grep boomeramg<br class="">
  -pc_hypre_type <boomeramg> (choose one of) pilut parasails boomeramg ams (PCHYPRESetType)<br class="">
  -pc_hypre_boomeramg_cycle_type <V> (choose one of) V W (None)<br class="">
  -pc_hypre_boomeramg_max_levels <25>: Number of levels (of grids) allowed (None)<br class="">
  -pc_hypre_boomeramg_max_iter <1>: Maximum iterations used PER hypre call (None)<br class="">
  -pc_hypre_boomeramg_tol <0>: Convergence tolerance PER hypre call (0.0 = use a fixed number of iterations) (None)<br class="">
  -pc_hypre_boomeramg_truncfactor <0>: Truncation factor for interpolation (0=no truncation) (None)<br class="">
  -pc_hypre_boomeramg_P_max <0>: Max elements per row for interpolation operator (0=unlimited) (None)<br class="">
  -pc_hypre_boomeramg_agg_nl <0>: Number of levels of aggressive coarsening (None)<br class="">
  -pc_hypre_boomeramg_agg_num_paths <1>: Number of paths for aggressive coarsening (None)<br class="">
  -pc_hypre_boomeramg_strong_threshold <0.25>: Threshold for being strongly connected (None)<br class="">
  -pc_hypre_boomeramg_max_row_sum <0.9>: Maximum row sum (None)<br class="">
  -pc_hypre_boomeramg_grid_sweeps_all <1>: Number of sweeps for the up and down grid levels (None)<br class="">
  -pc_hypre_boomeramg_grid_sweeps_down <1>: Number of sweeps for the down cycles (None)<br class="">
  -pc_hypre_boomeramg_grid_sweeps_up <1>: Number of sweeps for the up cycles (None)<br class="">
  -pc_hypre_boomeramg_grid_sweeps_coarse <1>: Number of sweeps for the coarse level (None)<br class="">
  -pc_hypre_boomeramg_relax_type_all <symmetric-SOR/Jacobi> (choose one of) Jacobi sequential-Gauss-Seidel seqboundary-Gauss-Seidel SOR/Jacobi backward-SOR/Jacobi  symmetric-SOR/Jacobi  l1scaled-SOR/Jacobi Gaussian-elimination      CG Chebyshev FCF-Jacobi l1scaled-Jacobi
 (None)<br class="">
  -pc_hypre_boomeramg_relax_type_down <symmetric-SOR/Jacobi> (choose one of) Jacobi sequential-Gauss-Seidel seqboundary-Gauss-Seidel SOR/Jacobi backward-SOR/Jacobi  symmetric-SOR/Jacobi  l1scaled-SOR/Jacobi Gaussian-elimination      CG Chebyshev FCF-Jacobi
 l1scaled-Jacobi (None)<br class="">
  -pc_hypre_boomeramg_relax_type_up <symmetric-SOR/Jacobi> (choose one of) Jacobi sequential-Gauss-Seidel seqboundary-Gauss-Seidel SOR/Jacobi backward-SOR/Jacobi  symmetric-SOR/Jacobi  l1scaled-SOR/Jacobi Gaussian-elimination      CG Chebyshev FCF-Jacobi l1scaled-Jacobi
 (None)<br class="">
  -pc_hypre_boomeramg_relax_type_coarse <Gaussian-elimination> (choose one of) Jacobi sequential-Gauss-Seidel seqboundary-Gauss-Seidel SOR/Jacobi backward-SOR/Jacobi  symmetric-SOR/Jacobi  l1scaled-SOR/Jacobi Gaussian-elimination      CG Chebyshev FCF-Jacobi
 l1scaled-Jacobi (None)<br class="">
  -pc_hypre_boomeramg_relax_weight_all <1>: Relaxation weight for all levels (0 = hypre estimates, -k = determined with k CG steps) (None)<br class="">
  -pc_hypre_boomeramg_relax_weight_level <1>: Set the relaxation weight for a particular level (weight,level) (None)<br class="">
  -pc_hypre_boomeramg_outer_relax_weight_all <1>: Outer relaxation weight for all levels (-k = determined with k CG steps) (None)<br class="">
  -pc_hypre_boomeramg_outer_relax_weight_level <1>: Set the outer relaxation weight for a particular level (weight,level) (None)<br class="">
  -pc_hypre_boomeramg_no_CF: <FALSE> Do not use CF-relaxation (None)<br class="">
  -pc_hypre_boomeramg_measure_type <local> (choose one of) local global (None)<br class="">
  -pc_hypre_boomeramg_coarsen_type <Falgout> (choose one of) CLJP Ruge-Stueben  modifiedRuge-Stueben   Falgout  PMIS  HMIS (None)<br class="">
  -pc_hypre_boomeramg_interp_type <classical> (choose one of) classical   direct multipass multipass-wts ext+i ext+i-cc standard standard-wts   FF FF1 (None)<br class="">
  -pc_hypre_boomeramg_print_statistics: Print statistics (None)<br class="">
  -pc_hypre_boomeramg_print_debug: Print debug information (None)<br class="">
  -pc_hypre_boomeramg_nodal_coarsen: <FALSE> HYPRE_BoomerAMGSetNodal() (None)<br class="">
  -pc_hypre_boomeramg_nodal_relaxation: <FALSE> Nodal relaxation via Schwarz (None)<br class="">
-pc_hypre_type boomeramg<br class="">
<br class="">
<div apple-content-edited="true" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">
<div style="orphans: 2; widows: 2;" class="">--</div>
<div style="orphans: 2; widows: 2;" class=""><br class="">
</div>
<span style="orphans: 2; widows: 2;" class="">Dr Eike Hermann Mueller</span><br style="orphans: 2; widows: 2;" class="">
<span style="orphans: 2; widows: 2;" class="">Lecturer in Scientific Computing</span><br style="orphans: 2; widows: 2;" class="">
<br style="orphans: 2; widows: 2;" class="">
<span style="orphans: 2; widows: 2;" class="">Department of Mathematical Sciences</span><br style="orphans: 2; widows: 2;" class="">
<span style="orphans: 2; widows: 2;" class="">University of Bath</span><br style="orphans: 2; widows: 2;" class="">
<span style="orphans: 2; widows: 2;" class="">Bath BA2 7AY, United Kingdom</span><br style="orphans: 2; widows: 2;" class="">
<br style="orphans: 2; widows: 2;" class="">
<span style="orphans: 2; widows: 2;" class="">+44 1225 38 6241</span><br style="orphans: 2; widows: 2;" class="">
<span style="orphans: 2; widows: 2;" class=""><a href="mailto:e.mueller@bath.ac.uk" class="">e.mueller@bath.ac.uk</a></span><br style="orphans: 2; widows: 2;" class="">
<span style="orphans: 2; widows: 2;" class=""><a href="http://people.bath.ac.uk/em459/" class="">http://people.bath.ac.uk/em459/</a></span></div>
<div class=""><br class="">
</div>
</div>
<br class="Apple-interchange-newline">
</div>
<br class="Apple-interchange-newline">
<br class="Apple-interchange-newline">
</div>
<br class="">
</body>
</html>