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