50int main(
int argc,
char* argv[])
56 appParamsManager.
load(argc, argv);
63 Param nuNum(nu.
v()*dt.
v()/dx.v()/dx.v());
69 std::cout <<
"Data initialization... ";
73 auto exCylMap(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
79 auto inCylMap(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
86 auto computationalDomainMap(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
91 generateDFCylinderInf(.24*gSize[0],
98 std::cout <<
"Finished" << endl;
100 std::cout <<
"Numerics initialization... ";
110 std::vector<asl::SPNumMethod> bc;
111 std::vector<asl::SPNumMethod> bcV;
116 bc.push_back(generateBCVelocity(lbgk, vfEx, exCylMap,computationalDomainMap));
117 bcV.push_back(generateBCNoSlipVel(lbgk, exCylMap));
118 bc.push_back(generateBCVelocity(lbgk, vfIn, inCylMap,computationalDomainMap));
119 bcV.push_back(generateBCNoSlipVel(lbgk, inCylMap));
125 std::cout <<
"Finished" << endl;
126 std::cout <<
"Computing...";
132 writer.
addScalars(
"map", *computationalDomainMap);
134 writer.
addVector(
"v", *lbgk->getVelocity());
142 for (
unsigned int i(0); i < 10001 ; ++i)
155 cout <<
"Finished" << endl;
157 cout <<
"Computation statistic:" << endl;
158 cout <<
"Real Time = " << timer.
realTime() <<
"; Processor Time = "
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
Updatable value. This class stores value and its TimeStamp.
void addVector(std::string name, AbstractData &data)
void addScalars(std::string name, AbstractData &data)
asl::UValue< double > Param
SPDistanceFunction generateDFInBlock(const Block &b, unsigned int nG)
generates map corresponding to external (ghost) part of the block
SPDistanceFunction normalize(SPDistanceFunction a, double dx)
SPPositionFunction generatePFRotationField(const AVec< double > &axis, const AVec< double > &c)
const VectorTemplate & d3q15()
Vector template.
VectorOfElements generateVEConstant(T a)
Generates VectorOfElements with 1 Element acl::Constant with value a.
std::shared_ptr< LBGKUtilities > SPLBGKUtilities
std::shared_ptr< LBGK > SPLBGK
void initData(SPAbstractData d, double a)