Alsvinn  0.5.3
The fast FVM simulator with UQ support
Classes | Typedefs | Functions
alsfvm::functional Namespace Reference

Classes

class  BoundedVariation
 Computes the bounded variation of the given solution. More...
 
class  Functional
 Abstract base class to represent a functional. More...
 
class  FunctionalFactory
 Factory class for creating a functional. More...
 
class  Identity
 
class  IdentityCUDA
 
class  IntervalFunctionalWriter
 The IntervalFunctionalWriter class is a decorator for another writer. Its purpose is to only call the underlying Writer object at fixed time intervals. More...
 
class  Legendre
 
class  LegendrePointWise
 
class  LegendrePointWiseCUDA
 
class  LogEntropy
 
class  LogEntropyCUDA
 
class  Moment
 
class  StructureBase
 
class  StructureCube
 
class  StructureCubeCUDA
 
class  TimeIntegrationFunctional
 

Typedefs

typedef alsfvm::shared_ptr< FunctionalFunctionalPointer
 

Functions

__device__ __host__ int makePositive (int position, int N)
 
template<alsfvm::boundary::Type BoundaryType, class Function >
__device__ __host__ void forEachPointInComputeStructureCube (Function f, const alsfvm::memory::View< const real > &input, int i, int j, int k, int h, int nx, int ny, int nz, int ngx, int ngy, int ngz, int dimensions)
 
template<alsfvm::boundary::Type BoundaryType, class PowerClass >
__device__ __host__ void computeStructureCube (alsfvm::memory::View< real > &output, const alsfvm::memory::View< const real > &input, int i, int j, int k, int h, int nx, int ny, int nz, int ngx, int ngy, int ngz, int dimensions, real p)
 
template<alsfvm::boundary::Type BoundaryType, class PowerClass >
void computeStructureCubeCPU (alsfvm::volume::Volume &output, const alsfvm::volume::Volume &input, int numberOfH, double p)
 
template<alsfvm::boundary::Type BoundaryType>
void dispatchComputeStructureCubeCPU (alsfvm::volume::Volume &output, const alsfvm::volume::Volume &input, int numberOfH, double p)
 
template<alsfvm::boundary::Type BoundaryType, class PowerClass >
__global__ void computeStructureCubeKernel (real *output, alsfvm::memory::View< const real > input, int h, int nx, int ny, int nz, int ngx, int ngy, int ngz, real p, int dimensions)
 
template<alsfvm::boundary::Type BoundaryType, class PowerClass , class BufferClass >
void computeStructureCubeCUDA (alsfvm::volume::Volume &output, const alsfvm::volume::Volume &input, BufferClass &buffer, size_t numberOfH, double p)
 
template<alsfvm::boundary::Type BoundaryType>
void dispatchComputeStructureCubeCUDA (alsfvm::volume::Volume &output, const alsfvm::volume::Volume &input, thrust::device_vector< real > &buffer, int numberOfH, double p)
 

Typedef Documentation

◆ FunctionalPointer

Function Documentation

◆ computeStructureCube()

template<alsfvm::boundary::Type BoundaryType, class PowerClass >
__device__ __host__ void alsfvm::functional::computeStructureCube ( alsfvm::memory::View< real > &  output,
const alsfvm::memory::View< const real > &  input,
int  i,
int  j,
int  k,
int  h,
int  nx,
int  ny,
int  nz,
int  ngx,
int  ngy,
int  ngz,
int  dimensions,
real  p 
)

◆ computeStructureCubeCPU()

template<alsfvm::boundary::Type BoundaryType, class PowerClass >
void alsfvm::functional::computeStructureCubeCPU ( alsfvm::volume::Volume output,
const alsfvm::volume::Volume input,
int  numberOfH,
double  p 
)
inline

◆ computeStructureCubeCUDA()

template<alsfvm::boundary::Type BoundaryType, class PowerClass , class BufferClass >
void alsfvm::functional::computeStructureCubeCUDA ( alsfvm::volume::Volume output,
const alsfvm::volume::Volume input,
BufferClass &  buffer,
size_t  numberOfH,
double  p 
)

◆ computeStructureCubeKernel()

template<alsfvm::boundary::Type BoundaryType, class PowerClass >
__global__ void alsfvm::functional::computeStructureCubeKernel ( real output,
alsfvm::memory::View< const real input,
int  h,
int  nx,
int  ny,
int  nz,
int  ngx,
int  ngy,
int  ngz,
real  p,
int  dimensions 
)

Computes the structure function for FIXED h

The goal is to compute the structure function, then reduce (sum) over space then go on to next h

◆ dispatchComputeStructureCubeCPU()

template<alsfvm::boundary::Type BoundaryType>
void alsfvm::functional::dispatchComputeStructureCubeCPU ( alsfvm::volume::Volume output,
const alsfvm::volume::Volume input,
int  numberOfH,
double  p 
)
inline

◆ dispatchComputeStructureCubeCUDA()

template<alsfvm::boundary::Type BoundaryType>
void alsfvm::functional::dispatchComputeStructureCubeCUDA ( alsfvm::volume::Volume output,
const alsfvm::volume::Volume input,
thrust::device_vector< real > &  buffer,
int  numberOfH,
double  p 
)
inline

◆ forEachPointInComputeStructureCube()

template<alsfvm::boundary::Type BoundaryType, class Function >
__device__ __host__ void alsfvm::functional::forEachPointInComputeStructureCube ( Function  f,
const alsfvm::memory::View< const real > &  input,
int  i,
int  j,
int  k,
int  h,
int  nx,
int  ny,
int  nz,
int  ngx,
int  ngy,
int  ngz,
int  dimensions 
)

◆ makePositive()

__device__ __host__ int alsfvm::functional::makePositive ( int  position,
int  N 
)
inline