cuIBM
A GPU-based Immersed Boundary Method code
DiffusionSolver.h
Go to the documentation of this file.
1 
7 #pragma once
8 
9 #include "DirectForcingSolver.h"
10 
11 
24 template <typename memoryType>
25 class DiffusionSolver : public DirectForcingSolver<memoryType>
26 {
27 private:
28  // do nothing -- no Poisson system needs to be solved
29  virtual void solvePoisson();
30 
31  // project velocity onto divergence-free space
32  virtual void projectionStep();
33 
34 public:
35  // constructor -- get simulation parameters and grid
36  DiffusionSolver(parameterDB *pDB=NULL, domain *dInfo=NULL);
37 
38  // initialize solver
39  virtual void initialise();
40 
44  virtual std::string name()
45  {
46  return "Diffusion";
47  }
48 }; // DiffusionSolver
virtual void solvePoisson()
Does nothing.
A fully discrete formulation of the direct forcing method.
std::map< std::string, componentParameter > parameterDB
Map from a string to a componentParameter.
Definition: parameterDB.h:64
virtual std::string name()
Return name of solver.
Stores information about the computational grid.
Definition: domain.h:16
virtual void initialise()
Sets the coefficients of the convection term to zero. This is done because we are solving a pure diff...
Declaration of the class DirectForcingSolver.
DiffusionSolver(parameterDB *pDB=NULL, domain *dInfo=NULL)
Constructor. Copies the simulation parameters and the domain info.
Solves unsteady diffusion equation with an immersed boundary using the direct forcing method...
virtual void projectionStep()
The velocity at the next time step is the same as the intermediate velocity.