ASL
0.1.7
Advanced Simulation Library
|
Go to the documentation of this file.
77 void load(
int argc,
char * argv[]);
84 appParamsManager(
"pitot_tube_ice",
"0.1"),
86 dx(0.000125,
"dx",
"space step"),
87 dt(1.,
"dt",
"time step"),
88 tSimulation(2e-3,
"simulation_time",
"simulation time"),
89 tOutput(1e-4,
"output_interval",
"output interval"),
90 nu(6.25e-10/4.,
"nu",
"viscosity"),
91 rIn(0.0015,
"r_in",
"Internal radius, m"),
92 rEx(0.005,
"r_ex",
"External radius, m"),
93 lCyl(0.002,
"l_cyl",
"Length of cylindric part, m"),
94 lCone(0.02,
"l_cone",
"Length of conic part, m"),
95 temperature(253,
"temperature",
"temperature, K"),
96 humidity(.5,
"humidity",
"relative humidity, K"),
97 flowVel(0.08,
"flow_vel",
"flow velocity")
119 void Parameters::init()
133 auto centerCyl(center);
134 centerCyl[0] = params.
lCyl.
v()*.45;
135 auto centerHole(centerCyl+(params.
lCone.
v()*.6)*orientation);
138 auto apexCone(centerCyl+orientation*(params.
lCyl.
v()*.49+params.
lCone.
v()));
148 int main(
int argc,
char *argv[])
151 params.
load(argc, argv);
153 std::cout <<
"Data initialization...";
157 auto mcfMapMem(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
164 std::cout <<
"Finished" << endl;
166 std::cout <<
"Flow: Numerics initialization...";
178 auto flowVel(lbgk->getVelocity());
182 std::vector<asl::SPNumMethod> bc;
183 std::vector<asl::SPNumMethod> bcV;
184 std::vector<asl::SPNumMethod> bcDif;
190 {asl::X0,asl::XE,asl::Y0,asl::YE,asl::Z0,asl::ZE}));
202 std::cout <<
"Finished" << endl;
203 std::cout <<
"Computing..." << endl;
219 for(
unsigned int i(1); i < 8001; ++i)
229 cout << i <<
"/8000; time left (estimated): " << timer.
estimatedRemainder(
double(i)/8000.) << endl;
237 cout <<
"Finished" << endl;
239 cout <<
"Computation statistic:" << endl;
240 cout <<
"Real Time = " << timer.
realTime() <<
"; Processor Time = "
const double processorLoad() const
asl::Parameter< double > humidity
asl::SPDistanceFunction generateGeometry(asl::Block &block, Parameters ¶ms)
Numerical method for fluid flow.
asl::ApplicationParametersManager appParamsManager
SPNumMethod generateBCNoSlipVel(SPLBGK nmU, SPAbstractDataWithGhostNodes map)
const VectorTemplate & d3q15()
Vector template.
void addVector(std::string name, AbstractData &data)
SPBCond generateBCConstantPressureVelocity(SPLBGK nm, double p, AVec<> v, const std::vector< SlicesNames > &sl)
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
void load(int argc, char *argv[])
asl::Parameter< double > lCone
std::shared_ptr< LBGKUtilities > SPLBGKUtilities
const double estimatedRemainder(double completeness)
Returns estimated time till finishing current task based on its current completeness [0....
SPNumMethod generateBCNoSlipRho(SPLBGK nmU, SPAbstractDataWithGhostNodes map)
asl::UValue< double > Param
void addScalars(std::string name, AbstractData &data)
asl::Parameter< double > rEx
std::shared_ptr< LBGK > SPLBGK
SPBCond generateBCNoSlip(SPLBGK nm, const std::vector< SlicesNames > &sl)
asl::Parameter< double > tOutput
void initAll(std::vector< T * > &v)
void load(int argc, char *argv[])
int main(int argc, char *argv[])
contains different kernels for preprocessing and posprocessing of data used by LBGK
SPDistanceFunction generateDFPlane(const AVec< double > &n, const AVec< double > &p0)
void initData(SPAbstractData d, double a)
VectorOfElements generateVEConstant(T a)
Generates VectorOfElements with 1 Element acl::Constant with value a.
asl::UValue< double > nuNum
void errorMessage(cl_int status, const char *errorMessage)
Prints errorMessage and exits depending on the status.
asl::Parameter< double > rIn
asl::Parameter< double > flowVel
asl::Parameter< double > tSimulation
asl::Parameter< double > lCyl
SPDistanceFunction generateDFCylinder(double r, const AVec< double > &l, const AVec< double > &c)
generates cylinder
SPDistanceFunction generateDFCone(double r, const AVec< double > &l, const AVec< double > &a)
generates cone
const double realTime() const
std::shared_ptr< DistanceFunction > SPDistanceFunction
void executeAll(std::vector< T * > &v)
const double processorTime() const
asl::Parameter< double > temperature
asl::Parameter< double > dx
SPBCond generateBCConstantPressure(SPLBGK nm, double p, const std::vector< SlicesNames > &sl)
asl::Parameter< double > nu
SPDistanceFunction normalize(SPDistanceFunction a, double dx)