ASL
0.1.7
Advanced Simulation Library
|
Go to the documentation of this file.
30 #include <utilities/aslParametersManager.h>
31 #include <math/aslTemplates.h>
32 #include <aslGeomInc.h>
33 #include <math/aslPositionFunction.h>
34 #include <aslDataInc.h>
35 #include <acl/aclGenerators.h>
36 #include <writers/aslVTKFormatWriters.h>
37 #include <num/aslLBGK.h>
38 #include <num/aslLBGKBC.h>
39 #include <utilities/aslTimer.h>
40 #include <readers/aslVTKFormatReaders.h>
61 center[1] = bl.
position[1] + .25 * rTunnel;
80 int main(
int argc,
char* argv[])
110 appParamsManager.
load(argc, argv);
121 FlT nuNum(nu.
v() * dt.
v() /
dx.v() /
dx.v());
123 cout <<
"Data initialization... " <<
flush;
129 asl::Block block(locomotive->getInternalBlock());
132 auto tunnelMap(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
137 auto forceField(asl::generateDataContainerACL_SP<FlT>(block, 3, 1u));
141 cout <<
"Finished" << endl;
143 cout <<
"Numerics initialization... " <<
flush;
159 std::vector<asl::SPNumMethod> bc;
160 std::vector<asl::SPNumMethod> bcV;
185 computeForce->init();
187 cout <<
"Finished" << endl;
188 cout <<
"Computing..." << endl;
197 writer.
addVector(
"v", *lbgk->getVelocity());
203 computeForce->execute();
210 for (
unsigned int i(1); i < iterations.
v(); ++i)
223 computeForce->execute();
230 cout <<
"Finished" << endl;
232 cout <<
"Computation statistic:" << endl;
233 cout <<
"Real Time = " << timer.
realTime() <<
"; Processor Time = "
const double processorLoad() const
SPNumMethod generateBCNoSlipVel(SPLBGK nmU, SPAbstractDataWithGhostNodes map)
const AVec normalize(const AVec< T > &a)
const V getBPosition() const
void addVector(std::string name, AbstractData &data)
SPBCond generateBCConstantPressureVelocity(SPLBGK nm, double p, AVec<> v, const std::vector< SlicesNames > &sl)
std::shared_ptr< LBGKUtilities > SPLBGKUtilities
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
void load(int argc, char *argv[])
SPNumMethod generateBCNoSlipRho(SPLBGK nmU, SPAbstractDataWithGhostNodes map)
SPNumMethod generateComputeSurfaceForce(SPLBGK nm, SPDataWithGhostNodesACLData fF, SPAbstractDataWithGhostNodes map)
void addScalars(std::string name, AbstractData &data)
std::shared_ptr< LBGK > SPLBGK
SPBCond generateBCNoSlip(SPLBGK nm, const std::vector< SlicesNames > &sl)
void initAll(std::vector< T * > &v)
contains different kernels for preprocessing and posprocessing of data used by LBGK
SPNumMethod generateBCVelocityVel(SPLBGK nm, SPPositionFunction v, SPAbstractDataWithGhostNodes map)
SPDistanceFunction generateDFPlane(const AVec< double > &n, const AVec< double > &p0)
SPNumMethod generateBCVelocity(SPLBGK nm, SPPositionFunction v, SPAbstractDataWithGhostNodes map)
void initData(SPAbstractData d, double a)
asl::SPDistanceFunction generateTunnel(asl::Block &bl)
VectorOfElements generateVEConstant(T a)
Generates VectorOfElements with 1 Element acl::Constant with value a.
SPPositionFunction generatePFConstant(const AVec< double > &a)
SPDataWithGhostNodesACLData readSurface(const string &fileName, double dx, acl::CommandQueue queue=acl::hardware.defaultQueue)
SPDistanceFunction generateDFCylinder(double r, const AVec< double > &l, const AVec< double > &c)
generates cylinder
const VectorTemplate & d3q15()
Vector template.
const double realTime() const
std::shared_ptr< DistanceFunction > SPDistanceFunction
void executeAll(std::vector< T * > &v)
const double processorTime() const
int main(int argc, char *argv[])