17 template <
typename memoryType>
28 template <
typename memoryType>
46 const int blocksize = 256;
51 int GSize = 4*nx*ny-2*(nx+ny);
53 int *GRows = thrust::raw_pointer_cast(&(G.row_indices[0])),
54 *GCols = thrust::raw_pointer_cast(&(G.column_indices[0]));
55 int *tags_r = thrust::raw_pointer_cast(&(tagsD[0]));
57 real *GVals = thrust::raw_pointer_cast(&(G.values[0]));
59 dim3 dimGrid(
int((GSize-0.5)/blocksize) + 1, 1);
60 dim3 dimBlock(blocksize, 1);
62 kernels::updateQ <<<dimGrid, dimBlock>>> (GRows, GCols, GVals, GSize, tags_r);
70 template <
typename memoryType>
86 template <
typename memoryType>
101 template <
typename memoryType>
113 template <
typename memoryType>
126 template <
typename memoryType>
Direct forcing method proposed by Fadlun et al (2000), without explicit pressure added when the inter...
double real
Is a float or a double depending on the machine precision.
virtual void generateQT()
Generates the matrices QT and Q, which are the same as if an immersed boundary is not present in the ...
A fully discrete formulation of the direct forcing method.
std::map< std::string, componentParameter > parameterDB
Map from a string to a componentParameter.
virtual void generateC()
Generates the matrix for the Poisson equation.
Stores information about the computational grid.
virtual void generateQT()
Generates the matrix QT, Q and G for FadlunEtAlSolver.
FEAModifiedSolver(parameterDB *pDB=NULL, domain *dInfo=NULL)
Constructor. Copies the database and information about the computational grid.
Declaration of the classes FadlunEtAlSolver and FEAModifiedSolver.
FadlunEtAlSolver(parameterDB *pDB=NULL, domain *dInfo=NULL)
Constructor. Copies the database and information about the computational grid.
Direct forcing method proposed by Fadlun et al (2000).
virtual void calculateExplicitLambdaTerms()
Add the pressure gradient to the right hand side of the momentum equation.
virtual void generateC()
Generates the matrix for the Poisson equation.
Solves the Navier-Stokes equations in a rectangular domain.
Declaration of the kernels to generate gradient matrix and interpolation matrix.
virtual void generateQT()