helper method to return GMRES preconditioned with the pseudo-elastic FSI preconditioner. The unsigned ps_prec_type is a flag for the pseudo solid block preconditioner type. 0 - Exact 1 - Block diagonal 2 - Block upper triangular 3 - Block lower triangular
1609 #ifdef OOMPH_HAS_TRILINOS
1613 solver_pt->
solver_type() = TrilinosAztecOOSolver::GMRES;
1631 problem.lagrange_multiplier_mesh_pt());
1638 if(ps_prec_type == 0)
1641 = PseudoElasticPreconditioner::Exact_block_preconditioner;
1643 else if(ps_prec_type == 1)
1646 = PseudoElasticPreconditioner::Block_diagonal_preconditioner;
1648 else if(ps_prec_type == 2)
1651 = PseudoElasticPreconditioner::Block_upper_triangular_preconditioner;
1653 else if(ps_prec_type == 3)
1656 = PseudoElasticPreconditioner::Block_lower_triangular_preconditioner;
1660 pause(
"I do not know what to do");
1663 #ifdef OOMPH_HAS_HYPRE
1667 (Pseudo_Elastic_Preconditioner_Subsidiary_Operator_Helper
1668 ::get_elastic_preconditioner);
1672 #ifdef OOMPH_HAS_TRILINOS
1676 (Pseudo_Elastic_Preconditioner_Subsidiary_Operator_Helper
1677 ::get_lagrange_multiplier_preconditioner);
1688 #ifdef OOMPH_HAS_HYPRE
1691 (Real_Solid_Preconditioner_Helper::get_preconditioner);
1704 #ifdef OOMPH_HAS_HYPRE
1707 (LSC_Preconditioner_Helper::set_hypre_preconditioner);
1713 #ifdef OOMPH_HAS_HYPRE
1720 p_prec_pt->
hypre_method() = HyprePreconditioner::BoomerAMG;
1733 problem.linear_solver_pt() = solver_pt;
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Definition: general_purpose_block_preconditioners.h:321
Definition: general_purpose_block_preconditioners.h:459
The GMRES method.
Definition: iterative_linear_solver.h:1227
void set_subsidiary_preconditioner_function(SubsidiaryPreconditionerFctPt sub_prec_fn)
access function to set the subsidiary preconditioner function.
Definition: general_purpose_block_preconditioners.h:136
Definition: hypre_solver.h:826
unsigned & amg_simple_smoother()
Access function to AMG_simple_smoother flag.
Definition: hypre_solver.h:983
double & amg_strength()
Access function to AMG_strength.
Definition: hypre_solver.h:1038
void set_amg_iterations(const unsigned &amg_iterations)
Function to set the number of times to apply BoomerAMG.
Definition: hypre_solver.h:964
unsigned & hypre_method()
Access function to Hypre_method flag – specified via enumeration.
Definition: hypre_solver.h:945
void disable_doc_time()
Disable documentation of preconditioner timings.
Definition: hypre_solver.h:939
void amg_using_simple_smoothing()
Definition: hypre_solver.h:977
unsigned & amg_coarsening()
Access function to AMG_coarsening flag.
Definition: hypre_solver.h:1020
Preconditioner *& preconditioner_pt()
Access function to preconditioner.
Definition: iterative_linear_solver.h:95
double & tolerance()
Access to convergence tolerance.
Definition: iterative_linear_solver.h:107
Definition: navier_stokes_preconditioners.h:607
void set_p_preconditioner(Preconditioner *new_p_preconditioner_pt)
Function to set a new pressure matrix preconditioner (inexact solver)
Definition: navier_stokes_preconditioners.h:745
void set_f_preconditioner(Preconditioner *new_f_preconditioner_pt)
Function to set a new momentum matrix preconditioner (inexact solver)
Definition: navier_stokes_preconditioners.h:769
Definition: pseudo_elastic_fsi_preconditioner.h:62
void enable_navier_stokes_schur_complement_preconditioner()
Definition: pseudo_elastic_fsi_preconditioner.h:193
NavierStokesSchurComplementPreconditioner *const navier_stokes_schur_complement_preconditioner_pt()
Access function to the Navier Stokes Schur complement preconditioner.
Definition: pseudo_elastic_fsi_preconditioner.h:186
void set_fluid_and_pseudo_elastic_mesh_pt(Mesh *mesh_pt)
specify the mesh containing the combined fluid/pseudo solid elements
Definition: pseudo_elastic_fsi_preconditioner.h:150
void set_solid_preconditioner(Preconditioner *prec_pt)
Definition: pseudo_elastic_fsi_preconditioner.h:169
void set_lagrange_multiplier_mesh_pt(Mesh *mesh_pt)
specify the mesh containing the lagrange multiplier elements
Definition: pseudo_elastic_fsi_preconditioner.h:162
PseudoElasticPreconditioner *const pseudo_elastic_preconditioner_pt()
Access function to the pseudo elastic subsidiary preconditioner.
Definition: pseudo_elastic_fsi_preconditioner.h:180
void set_solid_mesh_pt(Mesh *mesh_pt)
specify the mesh containing the solid elements
Definition: pseudo_elastic_fsi_preconditioner.h:156
Elastic_preconditioner_type & elastic_preconditioner_type()
Definition: pseudo_elastic_preconditioner.h:229
void set_lagrange_multiplier_subsidiary_preconditioner(SubsidiaryPreconditionerFctPt prec_fn)
Definition: pseudo_elastic_preconditioner.h:206
void set_elastic_subsidiary_preconditioner(SubsidiaryPreconditionerFctPt prec_fn)
Definition: pseudo_elastic_preconditioner.h:216
Definition: trilinos_solver.h:267
unsigned & solver_type()
Access function to Solver_type.
Definition: trilinos_solver.h:442
void pause(std::string message)
Pause and display message.
Definition: oomph_utilities.cc:1265