29 #include <aslDataInc.h> 30 #include <math/aslTemplates.h> 31 #include <aslGeomInc.h> 32 #include <math/aslPositionFunction.h> 33 #include <acl/aclGenerators.h> 34 #include <writers/aslVTKFormatWriters.h> 35 #include <num/aslLBGK.h> 36 #include <num/aslLBGKBC.h> 37 #include <utilities/aslTimer.h> 38 #include <utilities/aslParametersManager.h> 49 int main(
int argc,
char* argv[])
55 appParamsManager.
load(argc, argv);
68 std::cout <<
"Data initialization... ";
72 auto exCylMap(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
78 auto inCylMap(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
85 auto computationalDomainMap(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
97 std::cout <<
"Finished" << endl;
99 std::cout <<
"Numerics initialization... ";
109 std::vector<asl::SPNumMethod> bc;
110 std::vector<asl::SPNumMethod> bcV;
124 std::cout <<
"Finished" << endl;
125 std::cout <<
"Computing...";
131 writer.
addScalars(
"map", *computationalDomainMap);
133 writer.
addVector(
"v", *lbgk->getVelocity());
141 for (
unsigned int i(0); i < 10001 ; ++i)
154 std::cout <<
"Finished" << endl;
156 cout <<
"time=" << timer.
getTime() <<
"; clockTime=" 160 std::cout <<
"Output...";
161 std::cout <<
"Finished" << endl;
162 std::cout <<
"Ok" << endl;
const double getTime() const
const double getProcessorLoad() const
Numerical method for fluid flow.
const double getClockTime() const
SPDistanceFunction normalize(SPDistanceFunction a, double dx)
void addVector(std::string name, AbstractData &data)
void initAll(std::vector< T * > &v)
SPDistanceFunction generateDFCylinderInf(double r, const AVec< double > &l, const AVec< double > &c)
generates infinite cylinder
asl::UValue< double > Param
const VectorTemplate & d3q15()
Vector template.
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
int main(int argc, char *argv[])
void initData(SPAbstractData d, double a)
void executeAll(std::vector< T * > &v)
void addScalars(std::string name, AbstractData &data)
VectorOfElements generateVEConstant(T a)
Generates VectorOfElements with 1 Element acl::Constant with value a.
SPPositionFunction generatePFRotationField(const AVec< double > &axis, const AVec< double > &c)
void load(int argc, char *argv[])
SPDistanceFunction generateDFInBlock(const Block &b, unsigned int nG)
generates map corresponding to external (ghost) part of the block
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)