Namespaces | Functions | Variables
hypre_solver.cc File Reference

Go to the source code of this file.

Namespaces

 oomph
 
 oomph::Hypre_default_settings
 Default settings for various uses of the HYPRE solver.
 
 oomph::HypreHelpers
 Helper functions for use with the Hypre library.
 

Functions

void oomph::Hypre_default_settings::set_defaults_for_2D_poisson_problem (HyprePreconditioner *hypre_preconditioner_pt)
 Set default parameters for use as preconditioner in 2D Poisson-type problem. More...
 
void oomph::Hypre_default_settings::set_defaults_for_3D_poisson_problem (HyprePreconditioner *hypre_preconditioner_pt)
 Set default parameters for use as preconditioner in 3D Poisson-type problem. More...
 
void oomph::Hypre_default_settings::set_defaults_for_navier_stokes_momentum_block (HyprePreconditioner *hypre_preconditioner_pt)
 Set default parameters for use as preconditioner in for momentum block in Navier-Stokes problem. More...
 
int oomph::HypreHelpers::check_HYPRE_error_flag (std::ostringstream &message)
 Helper function to check the Hypre error flag, return the message associated with any error, and reset the error flag to zero. More...
 
void oomph::HypreHelpers::create_HYPRE_Vector (const DoubleVector &oomph_vec, const LinearAlgebraDistribution *dist_pt, HYPRE_IJVector &hypre_ij_vector, HYPRE_ParVector &hypre_par_vector)
 Helper function to create a HYPRE_IJVector and HYPRE_ParVector. More...
 
void oomph::HypreHelpers::create_HYPRE_Vector (const LinearAlgebraDistribution *oomph_vec, HYPRE_IJVector &hypre_ij_vector, HYPRE_ParVector &hypre_par_vector)
 Helper function to create an empty HYPRE_IJVector and HYPRE_ParVector. More...
 
void oomph::HypreHelpers::create_HYPRE_Matrix (CRDoubleMatrix *oomph_matrix, HYPRE_IJMatrix &hypre_ij_matrix, HYPRE_ParCSRMatrix &hypre_par_matrix, LinearAlgebraDistribution *dist_pt)
 Helper function to create a serial HYPRE_IJMatrix and HYPRE_ParCSRMatrix from a CRDoubleMatrix. More...
 
void oomph::HypreHelpers::euclid_settings_helper (const bool &use_block_jacobi, const bool &use_row_scaling, const bool &use_ilut, const int &level, const double &drop_tol, const int &print_level, HYPRE_Solver &euclid_object)
 Helper function to set Euclid options using a command line like array. More...
 

Variables

double oomph::HypreHelpers::AMG_strength =0.25
 Default for AMG strength (0.25 recommended for 2D problems; larger (0.5-0.75, say) for 3D. More...
 
unsigned oomph::HypreHelpers::AMG_coarsening =6
 Default AMG coarsening strategy. Coarsening types include: 0 = CLJP (parallel coarsening using independent sets) 1 = classical RS with no boundary treatment (not recommended in parallel) 3 = modified RS with 3rd pass to add C points on the boundaries 6 = Falgout (uses 1 then CLJP using interior coarse points as first independent set) 8 = PMIS (parallel coarsening using independent sets - lower complexities than 0, maybe also slower convergence) 10= HMIS (one pass RS on each processor then PMIS on interior coarse points as first independent set) 11= One pass RS on each processor (not recommended) More...
 
double oomph::HypreHelpers::AMG_truncation =0.0
 AMG interpolation truncation factor. More...