Cabana 0.8.0-dev
 
Loading...
Searching...
No Matches
Cabana_Grid_HypreSemiStructuredSolver.hpp File Reference

HYPRE semi-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_sstruct_ls.h>
#include <HYPRE_sstruct_mv.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>
Include dependency graph for Cabana_Grid_HypreSemiStructuredSolver.hpp:

Go to the source code of this file.

Classes

class  Cabana::Grid::HypreSemiStructuredSolver< Scalar, EntityType, MemorySpace >
 Hypre semi-structured solver interface for scalar fields. More...
 
class  Cabana::Grid::HypreSemiStructPCG< Scalar, EntityType, MemorySpace >
 PCG solver. More...
 
class  Cabana::Grid::HypreSemiStructGMRES< Scalar, EntityType, MemorySpace >
 GMRES solver. More...
 
class  Cabana::Grid::HypreSemiStructBiCGSTAB< Scalar, EntityType, MemorySpace >
 BiCGSTAB solver. More...
 
class  Cabana::Grid::HypreSemiStructDiagonal< 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< HypreSemiStructPCG< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > Cabana::Grid::createHypreSemiStructPCG (const ArrayLayout_t &layout, const bool is_preconditioner=false, int n_vars=3)
 Create a HYPRE PCG semi-structured solver.
 
template<class Scalar, class MemorySpace, class ArrayLayout_t>
std::shared_ptr< HypreSemiStructGMRES< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > Cabana::Grid::createHypreSemiStructGMRES (const ArrayLayout_t &layout, const bool is_preconditioner=false, int n_vars=3)
 Create a HYPRE GMRES semi-structured solver.
 
template<class Scalar, class MemorySpace, class ArrayLayout_t>
std::shared_ptr< HypreSemiStructBiCGSTAB< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > Cabana::Grid::createHypreSemiStructBiCGSTAB (const ArrayLayout_t &layout, const bool is_preconditioner=false, int n_vars=3)
 Create a HYPRE BiCGSTAB semi-structured solver.
 
template<class Scalar, class MemorySpace, class ArrayLayout_t>
std::shared_ptr< HypreSemiStructDiagonal< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > Cabana::Grid::createHypreSemiStructDiagonal (const ArrayLayout_t &layout, const bool is_preconditioner=false, int n_vars=3)
 Create a HYPRE Diagonal semi-structured solver.
 
template<class Scalar, class MemorySpace, class ArrayLayout_t>
std::shared_ptr< HypreSemiStructuredSolver< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > Cabana::Grid::createHypreSemiStructuredSolver (const std::string &solver_type, const ArrayLayout_t &layout, const bool is_preconditioner=false, int n_vars=3)
 Create a HYPRE semi-structured solver.
 

Detailed Description

HYPRE semi-structured solver interface.

Function Documentation

◆ createHypreSemiStructuredSolver()

template<class Scalar, class MemorySpace, class ArrayLayout_t>
std::shared_ptr< HypreSemiStructuredSolver< Scalar, typename ArrayLayout_t::entity_type, MemorySpace > > Cabana::Grid::createHypreSemiStructuredSolver ( const std::string & solver_type,
const ArrayLayout_t & layout,
const bool is_preconditioner = false,
int n_vars = 3 )

Create a HYPRE semi-structured solver.

Parameters
solver_typeSolver name.
layoutThe ArrayLayout defining the vector space of the solver.
is_preconditionerUse as a preconditioner.
n_varsNumber of variables in the solver