cuIBM
A GPU-based Immersed Boundary Method code
createSolver.cu
Go to the documentation of this file.
1 
7 #include "createSolver.h"
8 
9 
25 template <typename memoryType>
27 {
28  ibmScheme ibm = paramDB["simulation"]["ibmScheme"].get<ibmScheme>();
30  switch(ibm)
31  {
32  case SAIKI_BIRINGEN:
33  break;
34  case TAIRA_COLONIUS:
35  solver = new TairaColoniusSolver<memoryType>(&paramDB, &domInfo);
36  break;
37  case NAVIER_STOKES:
38  solver = new NavierStokesSolver<memoryType>(&paramDB, &domInfo);
39  break;
40  case DIRECT_FORCING:
41  solver = new DirectForcingSolver<memoryType>(&paramDB, &domInfo);
42  break;
43  case FADLUN_ET_AL:
44  solver = new FadlunEtAlSolver<memoryType>(&paramDB, &domInfo);
45  break;
46  case DIFFUSION:
47  solver = new DiffusionSolver<memoryType>(&paramDB, &domInfo);
48  break;
49  case DF_MODIFIED:
50  solver = new DFModifiedSolver<memoryType>(&paramDB, &domInfo);
51  break;
52  case FEA_MODIFIED:
53  solver = new FEAModifiedSolver<memoryType>(&paramDB, &domInfo);
54  break;
55  case DF_IMPROVED:
56  solver = new DFImprovedSolver<memoryType>(&paramDB, &domInfo);
57  break;
58  }
59  std::cout << "\nImmersed Boundary Method" << std::endl;
60  std::cout << "------------------------" << std::endl;
61  std::cout << solver->name() << '\n' << std::endl;
62  return solver;
63 } // createSolver
64 
65 
66 // specializations of the template function
Fadlun et al. modified.
Definition: types.h:83
Direct forcing method proposed by Fadlun et al (2000), without explicit pressure added when the inter...
Declaration of the function that creates the Navier-Stokes solver.
fully discrete direct forcing method
Definition: types.h:78
Second-order fully-discrete direct forcing method.
virtual std::string name()
Return the name of solver.
ibmScheme
Specifies the immersed boundary method used to solve the flow.
Definition: types.h:74
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
Stores information about the computational grid.
Definition: domain.h:16
no immersed bodies - Perot (1993)
Definition: types.h:76
Direct Forcing Improved.
Definition: types.h:84
Fadlun et al (2000)
Definition: types.h:79
Saiki & Biringen (1996)
Definition: types.h:77
Solves the Navier-Stokes equations using the Immersed boundary method from Taira and Colonius (2007)...
Taira & Colonius (2007)
Definition: types.h:80
Direct forcing method proposed by Fadlun et al (2000).
NavierStokesSolver< memoryType > * createSolver(parameterDB &paramDB, domain &domInfo)
Creates the appropriate Navier-Stokes solver.
Definition: createSolver.cu:26
A fully discrete formulation of the direct forcing method, with an explicit pressure term in the inte...
Diffusion.
Definition: types.h:81
Solves unsteady diffusion equation with an immersed boundary using the direct forcing method...
Solves the Navier-Stokes equations in a rectangular domain.
Direct Forcing modified.
Definition: types.h:82