29 #include <utilities/aslParametersManager.h> 30 #include <math/aslTemplates.h> 31 #include <aslGeomInc.h> 32 #include <aslDataInc.h> 33 #include <math/aslPositionFunction.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> 61 int main(
int argc,
char* argv[])
68 appParamsManager.
load(argc, argv);
74 Param w(6.*3.14*2./60.);
84 std::cout <<
"Data initialization..." <<
flush;
89 asl::Block block(compressorMap->getInternalBlock());
91 auto comprCaseMap(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
95 std::cout <<
"Finished" << endl;
97 std::cout <<
"Numerics initialization..." <<
flush;
110 std::vector<asl::SPNumMethod> bc;
111 std::vector<asl::SPNumMethod> bcVis;
115 .5*(block.getBPosition() + block.position)));
128 std::cout <<
"Finished" << endl;
129 std::cout <<
"Computing..." << endl;
133 writer.
addScalars(
"compressor", *compressorMap);
136 writer.
addVector(
"v", *lbgk->getVelocity());
144 for (
unsigned int i(1); i < 10001; ++i)
157 std::cout <<
"Finished" << endl;
159 cout <<
"time=" << timer.
getTime() <<
"; clockTime=" 163 std::cout <<
"Output...";
164 std::cout <<
"Finished" << endl;
165 std::cout <<
"Ok" << endl;
const double getTime() const
const double getProcessorLoad() const
Numerical method for fluid flow.
asl::SPDistanceFunction generateCase(asl::Block &bl)
const double getClockTime() const
const AVec normalize(const AVec< T > &a)
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)
SPDistanceFunction generateDFCylinderInf(double r, const AVec< double > &l, const AVec< double > &c)
generates infinite cylinder
const V getBPosition() const
const VectorTemplate & d3q15()
Vector template.
int main(int argc, char *argv[])
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
SPNumMethod generateBCVelocityVel(SPLBGK nm, SPPositionFunction v, SPAbstractDataWithGhostNodes map)
void initData(SPAbstractData d, double a)
void executeAll(std::vector< T * > &v)
void addScalars(std::string name, AbstractData &data)
SPBCond generateBCConstantPressure(SPLBGK nm, double p, const std::vector< SlicesNames > &sl)
VectorOfElements generateVEConstant(T a)
Generates VectorOfElements with 1 Element acl::Constant with value a.
SPPositionFunction generatePFRotationField(const AVec< double > &axis, const AVec< double > &c)
asl::UValue< double > Param
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 ...
SPNumMethod generateBCVelocity(SPLBGK nm, SPPositionFunction v, SPAbstractDataWithGhostNodes map)
SPBCond generateBCNoSlip(SPLBGK nm, const std::vector< SlicesNames > &sl)