56 for (
int i = 0; i < block.
getSize()[0] / (2 * r + spacing); ++i)
58 for (
int j = 0; j < block.
getSize()[1] / (2 * r + spacing); ++j)
61 resultGeometry = resultGeometry | cylinder;
65 return resultGeometry;
69 int main(
int argc,
char* argv[])
75 appParamsManager.
load(argc, argv);
87 std::cout <<
"Flow: Data initialization...";
91 auto cylindersMapMem(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
95 std::cout <<
"Finished" << endl;
97 std::cout <<
"Flow: Numerics initialization...";
122 std::cout <<
"Finished" << endl;
123 std::cout <<
"Computing...";
129 writer.
addVector(
"v", *lbgk->getVelocity());
136 bcNoSlipM->execute();
138 bcNoSlipV->execute();
142 for (
unsigned int i(0); i < 1000; ++i)
148 bcNoSlipM->execute();
152 bcNoSlipV->execute();
159 cout <<
"Finished" << endl;
161 cout <<
"Computation statistic:" << endl;
162 cout <<
"Real Time = " << timer.
realTime() <<
"; Processor Time = " asl::SPDistanceFunction generateOrderedCylinders(asl::Block &block)
const double realTime() const
int main(int argc, char *argv[])
std::shared_ptr< DistanceFunction > SPDistanceFunction
const DV & getSize() const
const double processorTime() const
Numerical method for fluid flow.
void addVector(std::string name, AbstractData &data)
virtual void execute()
Executes the numerical procedure.
SPDistanceFunction generateDFCylinderInf(double r, const AVec< double > &l, const AVec< double > &c)
generates infinite cylinder
asl::UValue< double > Param
std::shared_ptr< LBGKUtilities > SPLBGKUtilities
std::shared_ptr< LBGK > SPLBGK
const VectorTemplate & d3q15()
Vector template.
virtual void init()
Builds the necesery internal data and kernels.
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
void initData(SPAbstractData d, double a)
Bondary condition corresponding an in- or outflow boundary conditions with a given pressure.
void addScalars(std::string name, AbstractData &data)
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)