50 int main(
int argc,
char* argv[])
56 appParamsManager.
load(argc, argv);
68 std::cout <<
"Data initialization... ";
74 .45*
makeAVec(gSize[1],gSize[1],gSize[2])));
78 auto ballMapMem(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
82 std::cout <<
"Finished" << endl;
84 std::cout <<
"Numerics initialization... ";
96 std::vector<asl::SPNumMethod> bc;
97 std::vector<asl::SPNumMethod> bcVis;
108 std::cout <<
"Finished" << endl;
109 std::cout <<
"Computing...";
115 writer.
addVector(
"v", *lbgk->getVelocity());
124 for (
unsigned int i(1); i < 1001; ++i)
138 cout <<
"Finished" << endl;
140 cout <<
"Computation statistic:" << endl;
141 cout <<
"Real Time = " << timer.
realTime() <<
"; Processor Time = "
const double realTime() const
const double processorTime() const
Numerical method for fluid flow.
SPDataWrapperACL generateDataContainer_SP(const Block &b, const acl::VectorOfElements &a)
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
int main(int argc, char *argv[])
std::shared_ptr< LBGKUtilities > SPLBGKUtilities
std::shared_ptr< LBGK > SPLBGK
const VectorTemplate & d3q15()
Vector template.
asl::UValue< double > Param
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
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.
void load(int argc, char *argv[])
const double processorLoad() const
SPNumMethod generateBCNoSlipVel(SPLBGK nmU, SPAbstractDataWithGhostNodes map)
for velocity field
contains different kernels for preprocessing and posprocessing of data used by LBGK
SPBCond generateBCNoSlip(SPLBGK nm, const std::vector< SlicesNames > &sl)