int main(
int argc,
char* argv[])
{
"1.0");
appParamsManager.
load(argc, argv);
std::cout <<
"Data initialization... " <<
flush;
auto forceField(asl::generateDataContainerACL_SP<FlT>(block, 3, 1u));
std::cout << "Finished" << endl;
std::cout <<
"Numerics initialization... " <<
flush;
lbgk->init();
std::vector<asl::SPNumMethod> bc;
std::vector<asl::SPNumMethod> bcV;
computeForce->init();
std::cout << "Finished" << endl;
std::cout << "Computing..." << endl;
computeForce->execute();
for (unsigned int i(1); i < 101; ++i)
{
lbgk->execute();
if (!(i%1000))
{
cout << i << endl;
computeForce->execute();
}
}
cout << "Finished" << endl;
cout << "Computation statistic:" << endl;
cout <<
"Real Time = " << timer.
realTime() <<
"; Processor Time = "
cout <<
"time1 = " << timer1.
realTime() <<
"; time2 = " << timer2.
realTime() << endl;
return 0;
}
int main(int argc, char *argv[])
asl::UValue< double > Param
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
void addVector(std::string name, AbstractData &data)
void addScalars(std::string name, AbstractData &data)
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
SPDataWithGhostNodesACLData readSurface(const string &fileName, double dx, acl::CommandQueue queue=acl::hardware.defaultQueue)
const VectorTemplate & d3q15()
Vector template.
SPNumMethod generateComputeSurfaceForce(SPLBGK nm, SPDataWithGhostNodesACLData fF, SPAbstractDataWithGhostNodes map)
SPNumMethod generateBCNoSlipVel(SPLBGK nmU, SPAbstractDataWithGhostNodes map)
SPBCond generateBCConstantPressureVelocity(SPLBGK nm, double p, AVec<> v, const std::vector< SlicesNames > &sl)
SPBCond generateBCNoSlip(SPLBGK nm, const std::vector< SlicesNames > &sl)
VectorOfElements generateVEConstant(T a)
Generates VectorOfElements with 1 Element acl::Constant with value a.
std::shared_ptr< LBGKUtilities > SPLBGKUtilities
void initAll(std::vector< T * > &v)
std::shared_ptr< LBGK > SPLBGK
void initData(SPAbstractData d, double a)
void executeAll(std::vector< T * > &v)