68 for(
unsigned int i(1); i < n; ++i)
71 makeAVec(x0 + i * (xE-x0)/n, y, z+h*.5));
76 int main(
int argc,
char* argv[])
83 appParamsManager.
load(argc, argv);
91 std::cout <<
"Data initialization... " <<
flush;
95 asl::Block block(locomotive->getInternalBlock());
97 auto forceField(asl::generateDataContainerACL_SP<FlT>(block, 3, 1u));
100 std::cout <<
"Finished" << endl;
102 std::cout <<
"Numerics initialization... " <<
flush;
114 std::vector<asl::SPNumMethod> bc;
115 std::vector<asl::SPNumMethod> bcV;
117 auto nozzelsMap(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
131 computeForce->init();
134 std::cout <<
"Finished" << endl;
135 std::cout <<
"Computing..." << endl;
141 writer.
addVector(
"v", *lbgk->getVelocity());
146 computeForce->execute();
152 for(
unsigned int i(1); i < 40001; ++i)
160 computeForce->execute();
166 cout <<
"Finished" << endl;
168 cout <<
"Computation statistic:" << endl;
169 cout <<
"Real Time = " << timer.
realTime() <<
"; Processor Time = "
definition of class АVec<T>
const AVec normalize(const AVec< T > &a)
void load(int argc, char *argv[])
Numerical method for fluid flow.
contains different kernels for preprocessing and posprocessing of data used by LBGK
const double realTime() const
const double processorTime() const
const double processorLoad() const
void addVector(std::string name, AbstractData &data)
void addScalars(std::string name, AbstractData &data)
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
SPDistanceFunction generateDFCylinder(double r, const AVec< double > &l, const AVec< double > &c)
generates cylinder
SPDataWithGhostNodesACLData readSurface(const string &fileName, double dx, acl::CommandQueue queue=acl::hardware.defaultQueue)
std::shared_ptr< DistanceFunction > SPDistanceFunction
SPPositionFunction generatePFConstant(const AVec< double > &a)
const VectorTemplate & d3q15()
Vector template.
SPNumMethod generateComputeSurfaceForce(SPLBGK nm, SPDataWithGhostNodesACLData fF, SPAbstractDataWithGhostNodes map)
SPNumMethod generateBCNoSlipVel(SPLBGK nmU, SPAbstractDataWithGhostNodes map)
SPBCond generateBCConstantPressureVelocity(SPLBGK nm, double p, AVec<> v, const std::vector< SlicesNames > &sl)
SPBCond generateBCNoSlip(SPLBGK nm, const std::vector< SlicesNames > &sl)
VectorOfElements generateVEConstant(T a)
Generates VectorOfElements with 1 Element acl::Constant with value a.
int main(int argc, char *argv[])
asl::SPDistanceFunction generateNozzels(asl::Block &bl)
asl::UValue< double > Param
std::shared_ptr< LBGKUtilities > SPLBGKUtilities
void initAll(std::vector< T * > &v)
std::shared_ptr< LBGK > SPLBGK
void initData(SPAbstractData d, double a)
void executeAll(std::vector< T * > &v)