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. |