30 #include <utilities/aslParametersManager.h>
31 #include <math/aslTemplates.h>
32 #include <aslGeomInc.h>
33 #include <aslDataInc.h>
34 #include <math/aslPositionFunction.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>
62 int main(
int argc,
char* argv[])
69 appParamsManager.
load(argc, argv);
75 Param w(6.*3.14*2./60.);
85 std::cout <<
"Data initialization..." <<
flush;
90 asl::Block block(compressorMap->getInternalBlock());
92 auto comprCaseMap(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
96 std::cout <<
"Finished" << endl;
98 std::cout <<
"Numerics initialization..." <<
flush;
111 std::vector<asl::SPNumMethod> bc;
112 std::vector<asl::SPNumMethod> bcVis;
129 std::cout <<
"Finished" << endl;
130 std::cout <<
"Computing..." << endl;
134 writer.
addScalars(
"compressor", *compressorMap);
137 writer.
addVector(
"v", *lbgk->getVelocity());
145 for (
unsigned int i(1); i < 10001; ++i)
158 cout <<
"Finished" << endl;
160 cout <<
"Computation statistic:" << endl;
161 cout <<
"Real Time = " << timer.
realTime() <<
"; Processor Time = "
const AVec normalize(const AVec< T > &a)
void load(int argc, char *argv[])
const V getBPosition() const
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)
int main(int argc, char *argv[])
asl::SPDistanceFunction generateCase(asl::Block &bl)
asl::UValue< double > Param
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
SPDistanceFunction generateDFCylinderInf(double r, const AVec< double > &l, const AVec< double > &c)
generates infinite cylinder
SPDataWithGhostNodesACLData readSurface(const string &fileName, double dx, acl::CommandQueue queue=acl::hardware.defaultQueue)
std::shared_ptr< DistanceFunction > SPDistanceFunction
SPPositionFunction generatePFRotationField(const AVec< double > &axis, const AVec< double > &c)
const VectorTemplate & d3q15()
Vector template.
SPBCond generateBCConstantPressure(SPLBGK nm, double p, const std::vector< SlicesNames > &sl)
SPNumMethod generateBCVelocityVel(SPLBGK nm, SPPositionFunction v, SPAbstractDataWithGhostNodes map)
SPNumMethod generateBCNoSlipVel(SPLBGK nmU, SPAbstractDataWithGhostNodes map)
SPNumMethod generateBCVelocity(SPLBGK nm, SPPositionFunction v, SPAbstractDataWithGhostNodes map)
SPBCond generateBCNoSlip(SPLBGK nm, const std::vector< SlicesNames > &sl)
VectorOfElements generateVEConstant(T a)
Generates VectorOfElements with 1 Element acl::Constant with value a.
void initAll(std::vector< T * > &v)
std::shared_ptr< LBGK > SPLBGK
void initData(SPAbstractData d, double a)
std::shared_ptr< LBGKUtilities > SPLBGKUtilities
void executeAll(std::vector< T * > &v)