cuIBM
A GPU-based Immersed Boundary Method code
Typedefs | Enumerations
types.h File Reference

Definition of custom types required by the code. More...

#include <fstream>
#include <iostream>
#include <cmath>
#include <cstdio>
#include <cusp/csr_matrix.h>
#include <cusp/array1d.h>
#include <cusp/print.h>
#include <cusp/transpose.h>
#include <cusp/blas/blas.h>
#include <cusp/krylov/cg.h>
#include <cusp/krylov/bicgstab.h>
#include <cusp/krylov/gmres.h>
#include <cusp/multiply.h>
#include <cusp/elementwise.h>
#include <thrust/device_ptr.h>
#include "logger.h"
Include dependency graph for types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef double real
 Is a float or a double depending on the machine precision. More...
 
typedef cusp::coo_matrix< int, real, host_memory > cooH
 COO matrix stored on the host. More...
 
typedef cusp::coo_matrix< int, real, device_memory > cooD
 COO matrix stored on the device. More...
 
typedef cusp::csr_matrix< int, real, host_memory > csrH
 CSR matrix stored on the host. More...
 
typedef cusp::csr_matrix< int, real, device_memory > csrD
 CSR matrix stored on the device. More...
 
typedef cusp::array1d< real, host_memory > vecH
 Cusp 1D array stored in the host. More...
 
typedef cusp::array1d< real, device_memory > vecD
 Cusp 1D array stored in the device. More...
 

Enumerations

enum  bcType {
  DIRICHLET, NEUMANN, CONVECTIVE, PERIODIC,
  SPECIAL
}
 Specifies the type of boundary condition. More...
 
enum  boundary { XMINUS, XPLUS, YMINUS, YPLUS }
 Specifies the location of the boundary. More...
 
enum  timeScheme {
  EULER_EXPLICIT, EULER_IMPLICIT, ADAMS_BASHFORTH_2, RUNGE_KUTTA_3,
  CRANK_NICOLSON
}
 Specifies the numerical scheme used for time-integration. More...
 
enum  ibmScheme {
  NAVIER_STOKES, SAIKI_BIRINGEN, DIRECT_FORCING, FADLUN_ET_AL,
  TAIRA_COLONIUS, DIFFUSION, DF_MODIFIED, FEA_MODIFIED,
  DF_IMPROVED
}
 Specifies the immersed boundary method used to solve the flow. More...
 
enum  interpolationType { CONSTANT, LINEAR, QUADRATIC }
 Specifies the type of interpolation. More...
 
enum  preconditionerType { NONE, DIAGONAL, SMOOTHED_AGGREGATION, AINV }
 Specifies the type of preconditioner. More...
 

Detailed Description

Definition of custom types required by the code.

Definition in file types.h.

Typedef Documentation

COO matrix stored on the device.

Definition at line 133 of file types.h.

COO matrix stored on the host.

Definition at line 126 of file types.h.

CSR matrix stored on the device.

Definition at line 147 of file types.h.

CSR matrix stored on the host.

Definition at line 140 of file types.h.

Is a float or a double depending on the machine precision.

Definition at line 116 of file types.h.

Cusp 1D array stored in the device.

Definition at line 161 of file types.h.

Cusp 1D array stored in the host.

Definition at line 154 of file types.h.

Enumeration Type Documentation

enum bcType

Specifies the type of boundary condition.

Enumerator
DIRICHLET 

Dirichlet boundary condition.

NEUMANN 

Neumann boundary condition.

CONVECTIVE 

convective boundary condition

PERIODIC 

periodic boundary condition

SPECIAL 

Definition at line 33 of file types.h.

enum boundary

Specifies the location of the boundary.

Enumerator
XMINUS 

left boundary

XPLUS 

right boundary

YMINUS 

bottom boundary

YPLUS 

top boundary

Definition at line 47 of file types.h.

enum ibmScheme

Specifies the immersed boundary method used to solve the flow.

Enumerator
NAVIER_STOKES 

no immersed bodies - Perot (1993)

SAIKI_BIRINGEN 

Saiki & Biringen (1996)

DIRECT_FORCING 

fully discrete direct forcing method

FADLUN_ET_AL 

Fadlun et al (2000)

TAIRA_COLONIUS 

Taira & Colonius (2007)

DIFFUSION 

Diffusion.

DF_MODIFIED 

Direct Forcing modified.

FEA_MODIFIED 

Fadlun et al. modified.

DF_IMPROVED 

Direct Forcing Improved.

Definition at line 74 of file types.h.

Specifies the type of interpolation.

Enumerator
CONSTANT 

constant

LINEAR 

linear

QUADRATIC 

quadratic

Definition at line 92 of file types.h.

Specifies the type of preconditioner.

Enumerator
NONE 

no preconditioner

DIAGONAL 

diagonal preconditioner

SMOOTHED_AGGREGATION 

smoothed aggregation preconditioner

AINV 

approximate inverse preconditioner

Definition at line 104 of file types.h.

enum timeScheme

Specifies the numerical scheme used for time-integration.

Enumerator
EULER_EXPLICIT 

explicit Euler method (first order)

EULER_IMPLICIT 

implicit Euler method (first order)

ADAMS_BASHFORTH_2 

second-order Adams-Bashforth scheme

RUNGE_KUTTA_3 

third-order low storage Runge-Kutta method

CRANK_NICOLSON 

Crank-Nicolson scheme (second order)

Definition at line 60 of file types.h.