29 #include <utilities/aslParametersManager.h>
30 #include <math/aslTemplates.h>
31 #include <math/aslDistanceFunction.h>
32 #include <math/aslPositionFunction.h>
33 #include <aslDataInc.h>
34 #include <acl/aclGenerators.h>
35 #include <writers/aslVTKFormatWriters.h>
36 #include <num/aslLBGK.h>
37 #include <num/aslLBGKBC.h>
38 #include <utilities/aslTimer.h>
39 #include <readers/aslVTKFormatReaders.h>
51 int main(
int argc,
char* argv[])
58 appParamsManager.
load(argc, argv);
66 std::cout <<
"Data initialization... " <<
flush;
73 auto forceField(asl::generateDataContainerACL_SP<FlT>(block, 3, 1u));
76 std::cout <<
"Finished" << endl;
78 std::cout <<
"Numerics initialization... " <<
flush;
88 std::vector<asl::SPNumMethod> bc;
89 std::vector<asl::SPNumMethod> bcV;
100 computeForce->init();
103 std::cout <<
"Finished" << endl;
104 std::cout <<
"Computing..." << endl;
109 writer.
addVector(
"v", *lbgk->getVelocity());
114 computeForce->execute();
122 for (
unsigned int i(1); i < 101; ++i)
134 computeForce->execute();
140 std::cout <<
"Finished" << endl;
142 cout <<
"time=" << timer.
getTime() <<
"; clockTime="
145 cout <<
"time1=" << timer1.
getTime() <<
"; time2=" << timer2.
getTime() << endl;
147 std::cout <<
"Output...";
148 std::cout <<
"Finished" << endl;
149 std::cout <<
"Ok" << endl;
const double getTime() const
const double getProcessorLoad() const
Numerical method for fluid flow.
const double getClockTime() const
void addVector(std::string name, AbstractData &data)
void initAll(std::vector< T * > &v)
SPDataWithGhostNodesACLData readSurface(const string &fileName, double dx, acl::CommandQueue queue=acl::hardware.defaultQueue)
SPBCond generateBCConstantPressureVelocity(SPLBGK nm, double p, AVec<> v, const std::vector< SlicesNames > &sl)
const VectorTemplate & d3q15()
Vector template.
int main(int argc, char *argv[])
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
void initData(SPAbstractData d, double a)
void executeAll(std::vector< T * > &v)
void addScalars(std::string name, AbstractData &data)
asl::UValue< double > Param
VectorOfElements generateVEConstant(T a)
Generates VectorOfElements with 1 Element acl::Constant with value a.
SPNumMethod generateComputeSurfaceForce(SPLBGK nm, SPDataWithGhostNodesACLData fF, SPAbstractDataWithGhostNodes map)
void load(int argc, char *argv[])
SPNumMethod generateBCNoSlipVel(SPLBGK nmU, SPAbstractDataWithGhostNodes map)
for velocity field
contains different kernels for preprocessing and posprocessing of data used by LBGK ...
SPBCond generateBCNoSlip(SPLBGK nm, const std::vector< SlicesNames > &sl)