29#include <utilities/aslParametersManager.h>
30#include <aslDataInc.h>
31#include <math/aslTemplates.h>
32#include <aslGeomInc.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 <acl/aclUtilities.h>
50int main(
int argc,
char* argv[])
56 appParamsManager.
load(argc, argv);
62 Param nuNum(nu.
v()*dt.
v()/dx.v()/dx.v());
65 auto gSize(dx.v()*
AVec<>(size));
68 std::cout <<
"Data initialization... ";
72 auto ball(generateDFCylinderInf(.125*gSize[1],
74 .45*makeAVec(gSize[1],gSize[1],gSize[2])));
82 std::cout <<
"Finished" << endl;
84 std::cout <<
"Numerics initialization... ";
96 std::vector<asl::SPNumMethod> bc;
97 std::vector<asl::SPNumMethod> bcVis;
102 bc.push_back(generateBCNoSlip(lbgk, ballMap));
103 bcVis.push_back(generateBCNoSlipVel(lbgk, ballMap));
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 = "
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
SPDataWrapperACLData generateDataContainerACL_SP(const Block &b, unsigned int n=1)
generates pointer to ACL Data field with n components
SPDataWrapperACL generateDataContainer_SP(const Block &b, const acl::VectorOfElements &a)
const VectorTemplate & d3q15()
Vector template.
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.
std::shared_ptr< LBGK > SPLBGK
void initData(SPAbstractData d, double a)
std::shared_ptr< LBGKUtilities > SPLBGKUtilities