HYPRE structured solver interface. More...
#include <Cabana_Grid_Array.hpp>#include <Cabana_Grid_GlobalGrid.hpp>#include <Cabana_Grid_Hypre.hpp>#include <Cabana_Grid_IndexSpace.hpp>#include <Cabana_Grid_LocalGrid.hpp>#include <Cabana_Grid_Types.hpp>#include <HYPRE_config.h>#include <HYPRE_struct_ls.h>#include <HYPRE_struct_mv.h>#include <Kokkos_Core.hpp>#include <Kokkos_Profiling_ScopedRegion.hpp>#include <array>#include <memory>#include <numeric>#include <sstream>#include <string>#include <type_traits>#include <vector>
Go to the source code of this file.
Classes | |
| class | Cabana::Grid::HypreStructuredSolver< Scalar, EntityType, MemorySpace > |
| Hypre structured solver interface for scalar fields. More... | |
| class | Cabana::Grid::HypreStructPCG< Scalar, EntityType, MemorySpace > |
| PCG solver. More... | |
| class | Cabana::Grid::HypreStructGMRES< Scalar, EntityType, MemorySpace > |
| GMRES solver. More... | |
| class | Cabana::Grid::HypreStructBiCGSTAB< Scalar, EntityType, MemorySpace > |
| BiCGSTAB solver. More... | |
| class | Cabana::Grid::HypreStructPFMG< Scalar, EntityType, MemorySpace > |
| PFMG solver. More... | |
| class | Cabana::Grid::HypreStructSMG< Scalar, EntityType, MemorySpace > |
| SMG solver. More... | |
| class | Cabana::Grid::HypreStructJacobi< Scalar, EntityType, MemorySpace > |
| Jacobi solver. More... | |
| class | Cabana::Grid::HypreStructDiagonal< Scalar, EntityType, MemorySpace > |
| Diagonal preconditioner. More... | |
Namespaces | |
| namespace | Cabana |
| Core: particle data structures and algorithms. | |
Functions | |
| template<class Scalar, class MemorySpace, class ArrayLayout_t> | |
| std::shared_ptr< HypreStructPCG< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > | Cabana::Grid::createHypreStructPCG (const ArrayLayout_t &layout, const bool is_preconditioner=false) |
| template<class Scalar, class MemorySpace, class ArrayLayout_t> | |
| std::shared_ptr< HypreStructGMRES< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > | Cabana::Grid::createHypreStructGMRES (const ArrayLayout_t &layout, const bool is_preconditioner=false) |
| template<class Scalar, class MemorySpace, class ArrayLayout_t> | |
| std::shared_ptr< HypreStructBiCGSTAB< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > | Cabana::Grid::createHypreStructBiCGSTAB (const ArrayLayout_t &layout, const bool is_preconditioner=false) |
| template<class Scalar, class MemorySpace, class ArrayLayout_t> | |
| std::shared_ptr< HypreStructPFMG< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > | Cabana::Grid::createHypreStructPFMG (const ArrayLayout_t &layout, const bool is_preconditioner=false) |
| template<class Scalar, class MemorySpace, class ArrayLayout_t> | |
| std::shared_ptr< HypreStructSMG< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > | Cabana::Grid::createHypreStructSMG (const ArrayLayout_t &layout, const bool is_preconditioner=false) |
| template<class Scalar, class MemorySpace, class ArrayLayout_t> | |
| std::shared_ptr< HypreStructJacobi< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > | Cabana::Grid::createHypreStructJacobi (const ArrayLayout_t &layout, const bool is_preconditioner=false) |
| template<class Scalar, class MemorySpace, class ArrayLayout_t> | |
| std::shared_ptr< HypreStructDiagonal< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > | Cabana::Grid::createHypreStructDiagonal (const ArrayLayout_t &layout, const bool is_preconditioner=false) |
| template<class Scalar, class MemorySpace, class ArrayLayout_t> | |
| std::shared_ptr< HypreStructuredSolver< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > | Cabana::Grid::createHypreStructuredSolver (const std::string &solver_type, const ArrayLayout_t &layout, const bool is_preconditioner=false) |
| Create a HYPRE structured solver. | |
HYPRE structured solver interface.
| std::shared_ptr< HypreStructBiCGSTAB< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > Cabana::Grid::createHypreStructBiCGSTAB | ( | const ArrayLayout_t & | layout, |
| const bool | is_preconditioner = false ) |
Create a HYPRE BiCGSTAB structured solver.
| std::shared_ptr< HypreStructDiagonal< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > Cabana::Grid::createHypreStructDiagonal | ( | const ArrayLayout_t & | layout, |
| const bool | is_preconditioner = false ) |
Create a HYPRE Diagonal structured solver.
| std::shared_ptr< HypreStructGMRES< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > Cabana::Grid::createHypreStructGMRES | ( | const ArrayLayout_t & | layout, |
| const bool | is_preconditioner = false ) |
Create a HYPRE GMRES structured solver.
| std::shared_ptr< HypreStructJacobi< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > Cabana::Grid::createHypreStructJacobi | ( | const ArrayLayout_t & | layout, |
| const bool | is_preconditioner = false ) |
Create a HYPRE Jacobi structured solver.
| std::shared_ptr< HypreStructPCG< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > Cabana::Grid::createHypreStructPCG | ( | const ArrayLayout_t & | layout, |
| const bool | is_preconditioner = false ) |
Create a HYPRE PCG structured solver.
| std::shared_ptr< HypreStructPFMG< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > Cabana::Grid::createHypreStructPFMG | ( | const ArrayLayout_t & | layout, |
| const bool | is_preconditioner = false ) |
Create a HYPRE PFMG structured solver.
| std::shared_ptr< HypreStructSMG< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > Cabana::Grid::createHypreStructSMG | ( | const ArrayLayout_t & | layout, |
| const bool | is_preconditioner = false ) |
Create a HYPRE SMG structured solver.
| std::shared_ptr< HypreStructuredSolver< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > Cabana::Grid::createHypreStructuredSolver | ( | const std::string & | solver_type, |
| const ArrayLayout_t & | layout, | ||
| const bool | is_preconditioner = false ) |
Create a HYPRE structured solver.
| solver_type | Solver name. |
| layout | The ArrayLayout defining the vector space of the solver. |
| is_preconditioner | Use as a preconditioner. |