Discontinuous Galerkin Library
#include "dg/algorithm.h"
typedefs.h File Reference

Useful typedefs of commonly used types. More...

#include <thrust/host_vector.h>
#include <thrust/device_vector.h>
#include "sparseblockmat.h"
#include "sparseblockmat.cuh"
#include "mpi_vector.h"
#include "mpi_matrix.h"
#include "mpi_collective.h"

Go to the source code of this file.

Namespaces

namespace  dg
 This is the namespace for all functions and classes defined and used by the discontinuous Galerkin library.
 
namespace  dg::x
 

Macros

#define DG_RANK0   if(rank==0)
 

Typedefs

template<class T >
using dg::HVec_t = thrust::host_vector< T >
 Host Vector. More...
 
using dg::HVec = thrust::host_vector< double >
 Host Vector. More...
 
using dg::iHVec = thrust::host_vector< int >
 integer Host Vector More...
 
using dg::fHVec = thrust::host_vector< float >
 Host Vector. More...
 
using dg::DVec = thrust::device_vector< double >
 Device Vector. The device can be an OpenMP parallelized cpu or a gpu. This depends on the value of the macro THRUST_DEVICE_SYSTEM, which can be either THRUST_DEVICE_SYSTEM_OMP for openMP or THRUST_DEVICE_SYSTEM_CUDA for a gpu or THRUST_DEVICE_SYSTEM_CPP for a cpu. More...
 
using dg::iDVec = thrust::device_vector< int >
 integer Device Vector More...
 
using dg::fDVec = thrust::device_vector< float >
 Device Vector. The device can be an OpenMP parallelized cpu or a gpu. This depends on the value of the macro THRUST_DEVICE_SYSTEM, which can be either THRUST_DEVICE_SYSTEM_OMP for openMP or THRUST_DEVICE_SYSTEM_CUDA for a gpu or THRUST_DEVICE_SYSTEM_CPP for a cpu. More...
 
template<class T >
using dg::HMatrix_t = EllSparseBlockMat< T >
 
using dg::HMatrix = EllSparseBlockMat< double >
 Host Matrix for derivatives. More...
 
using dg::fHMatrix = EllSparseBlockMat< float >
 Host Matrix for derivatives. More...
 
using dg::DMatrix = EllSparseBlockMatDevice< double >
 Device Matrix for derivatives. More...
 
using dg::fDMatrix = EllSparseBlockMatDevice< float >
 Device Matrix for derivatives. More...
 
template<class real_type >
using dg::IHMatrix_t = cusp::csr_matrix< int, real_type, cusp::host_memory >
 
template<class real_type >
using dg::IDMatrix_t = cusp::csr_matrix< int, real_type, cusp::device_memory >
 
using dg::IHMatrix = IHMatrix_t< double >
 
using dg::IDMatrix = IDMatrix_t< double >
 
template<class T >
using dg::MHVec_t = dg::MPI_Vector< dg::HVec_t< T > >
 MPI Host Vector s.a. dg::HVec_t. More...
 
using dg::MHVec = dg::MPI_Vector< dg::HVec >
 MPI Host Vector s.a. dg::HVec. More...
 
using dg::fMHVec = dg::MPI_Vector< dg::fHVec >
 MPI Host Vector s.a. dg::fHVec. More...
 
using dg::MDVec = dg::MPI_Vector< dg::DVec >
 MPI Device Vector s.a. dg::DVec. More...
 
using dg::fMDVec = dg::MPI_Vector< dg::fDVec >
 MPI Device Vector s.a. dg::fDVec. More...
 
template<class T >
using dg::NNCH = dg::NearestNeighborComm< dg::iHVec, thrust::host_vector< const T * >, thrust::host_vector< T > >
 host Communicator for the use in an mpi matrix for derivatives More...
 
template<class T >
using dg::NNCD = dg::NearestNeighborComm< dg::iDVec, thrust::device_vector< const T * >, thrust::device_vector< T > >
 host Communicator for the use in an mpi matrix for derivatives More...
 
using dg::dNNCH = dg::NNCH< double >
 host Communicator for the use in an mpi matrix for derivatives More...
 
using dg::fNNCH = dg::NNCH< float >
 host Communicator for the use in an mpi matrix for derivatives More...
 
using dg::dNNCD = dg::NNCD< double >
 device Communicator for the use in an mpi matrix for derivatives More...
 
using dg::fNNCD = dg::NNCD< float >
 device Communicator for the use in an mpi matrix for derivatives More...
 
template<class T >
using dg::CooMat_t = dg::CooSparseBlockMat< T >
 
using dg::CooMat = dg::CooSparseBlockMat< double >
 
using dg::fCooMat = dg::CooSparseBlockMat< float >
 
using dg::DCooMat = dg::CooSparseBlockMatDevice< double >
 
using dg::fDCooMat = dg::CooSparseBlockMatDevice< float >
 
template<class T >
using dg::MHMatrix_t = dg::RowColDistMat< dg::HMatrix_t< T >, dg::CooMat_t< T >, dg::NNCH< T > >
 MPI Host Matrix for derivatives. More...
 
using dg::MHMatrix = dg::RowColDistMat< dg::HMatrix, dg::CooMat, dg::dNNCH >
 MPI Host Matrix for derivatives. More...
 
using dg::fMHMatrix = dg::RowColDistMat< dg::fHMatrix, dg::fCooMat, dg::fNNCH >
 MPI Host Matrix for derivatives. More...
 
using dg::MDMatrix = dg::RowColDistMat< dg::DMatrix, dg::DCooMat, dg::dNNCD >
 MPI Device Matrix for derivatives. More...
 
using dg::fMDMatrix = dg::RowColDistMat< dg::fDMatrix, dg::fDCooMat, dg::fNNCD >
 MPI Device Matrix for derivatives. More...
 
template<class real_type >
using dg::MIHMatrix_t = MPIDistMat< IHMatrix_t< real_type >, GeneralComm< dg::iHVec, thrust::host_vector< real_type > > >
 
template<class real_type >
using dg::MIDMatrix_t = MPIDistMat< IDMatrix_t< real_type >, GeneralComm< dg::iDVec, thrust::device_vector< real_type > > >
 
using dg::MIHMatrix = MIHMatrix_t< double >
 
using dg::MIDMatrix = MIDMatrix_t< double >
 
using dg::x::HVec = MHVec
 
using dg::x::fHVec = fMHVec
 
using dg::x::DVec = MDVec
 
using dg::x::fDVec = fMDVec
 
using dg::x::HMatrix = MHMatrix
 
using dg::x::fHMatrix = fMHMatrix
 
using dg::x::DMatrix = MDMatrix
 
using dg::x::fDMatrix = fMDMatrix
 
using dg::x::IHMatrix = MIHMatrix
 
using dg::x::IDMatrix = MIDMatrix
 

Detailed Description

Useful typedefs of commonly used types.

Macro Definition Documentation

◆ DG_RANK0

#define DG_RANK0   if(rank==0)