ASL
0.1.7
Advanced Simulation Library
|
Go to the documentation of this file.
28 #include <utilities/aslParametersManager.h>
29 #include <math/aslTemplates.h>
30 #include <aslGeomInc.h>
31 #include <aslDataInc.h>
32 #include <acl/aclGenerators.h>
33 #include <writers/aslVTKFormatWriters.h>
34 #include <num/aslFDAdvectionDiffusion.h>
35 #include <num/aslBasicBC.h>
36 #include <utilities/aslTimer.h>
37 #include <acl/aclUtilities.h>
48 int main(
int argc,
char* argv[])
54 appParamsManager.
load(argc, argv);
60 Param diffCoefNum(diffCoef.
v()*dt.
v()/
dx.v()/
dx.v());
66 std::cout <<
"Data initialization... ";
76 auto ballMapMem(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
80 auto ballBMapMem(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
83 auto cField(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
87 std::cout <<
"Finished" << endl;
89 std::cout <<
"Numerics initialization... ";
95 std::vector<asl::SPNumMethod> bc;
102 std::cout <<
"Finished" << endl;
103 std::cout <<
"Computing..." <<
flush;
108 writer.addScalars(
"mapE", *ballBMapMem);
109 writer.addScalars(
"c", *cField);
115 for (
unsigned int i(1); i < 201; ++i)
127 cout <<
"Finished" << endl;
129 cout <<
"Computation statistic:" << endl;
130 cout <<
"Real Time = " << timer.
realTime() <<
"; Processor Time = "
const double processorLoad() const
SPBCond generateBCConstantValue(SPAbstractDataWithGhostNodes d, double v, const std::vector< SlicesNames > &sl)
Bondary condition that puts fixed value in each point.
const AVec normalize(const AVec< T > &a)
asl::UValue< double > Param
SPNumMethod generateBCConstantGradient2(SPAbstractDataWithGhostNodes d, double v, SPAbstractDataWithGhostNodes map, const VectorTemplate *const t)
Bondary condition that makes fixed gradient, second order accuracy.
SPFDAdvectionDiffusion generateFDAdvectionDiffusion(SPDataWithGhostNodesACLData c, double diffustionCoeff, SPAbstractDataWithGhostNodes v, const VectorTemplate *vt, bool compressibilityCorrection=false)
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
void load(int argc, char *argv[])
void addScalars(std::string name, AbstractData &data)
void initAll(std::vector< T * > &v)
void initData(SPAbstractData d, double a)
int main(int argc, char *argv[])
const VectorTemplate & d3q15()
Vector template.
const double realTime() const
void executeAll(std::vector< T * > &v)
const double processorTime() const
SPDistanceFunction generateDFSphere(double r, const AVec< double > &c)
generates sphere