49 int main(
int argc,
char* argv[])
55 appParamsManager.
load(argc, argv);
61 Param diffCoefNum(diffCoef.
v()*dt.
v()/
dx.v()/
dx.v());
67 std::cout <<
"Data initialization... ";
71 auto c1Field(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
73 auto c2Field(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
75 auto c1aField(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
78 auto phiField(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
81 auto phiSField(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
84 std::cout <<
"Finished" << endl;
86 std::cout <<
"Numerics initialization... ";
93 phiField->getEContainer()*1e5/8.31/300,
102 auto nmPhi(make_shared<asl::FDStefanMaxwellElectricField>(nm, phiField));
104 -phiSField->getEContainer()*.1,
110 phiField->getEContainer()+.2,
113 nmBV->addAI(c2Field, -1);
116 std::vector<asl::SPNumMethod> bc;
117 std::vector<asl::SPNumMethod> bcPhi;
130 std::cout <<
"Finished" << endl;
131 std::cout <<
"Computing..." <<
flush;
136 writer.addScalars(
"c2", *c2Field);
137 writer.addScalars(
"c1a", *c1aField);
138 writer.addScalars(
"phi", *phiField);
139 writer.addScalars(
"phiS", *phiSField);
146 for (
unsigned int i(1); i < 401; ++i)
148 for (
unsigned int j(0); j<50; ++j)
166 cout <<
"Finished" << endl;
168 cout <<
"Computation statistic:" << endl;
169 cout <<
"Real Time = " << timer.
realTime() <<
"; Processor Time = "
const double realTime() const
SPFDBVKinetics generateFDBVKinetics(SPDataWithGhostNodesACLData a0, double n0, SPDataWithGhostNodesACLData aI, double nI, SPDataWithGhostNodesACLData phiS, SPAbstractDataWithGhostNodes phi, double j0, double beta, double n)
const double processorTime() const
SPFDStefanMaxwell generateFDStefanMaxwell(SPDataWithGhostNodesACLData c1, SPDataWithGhostNodesACLData c2, double diffustionCoeff, SPAbstractDataWithGhostNodes v, const VectorTemplate *vt)
SPDataWrapperACL generateDataContainer_SP(const Block &b, const acl::VectorOfElements &a)
void initAll(std::vector< T * > &v)
asl::UValue< double > Param
int main(int argc, char *argv[])
SPFDAdvectionDiffusion generateFDAdvectionDiffusion(SPDataWithGhostNodesACLData c, double diffustionCoeff, SPAbstractDataWithGhostNodes v, const VectorTemplate *vt, bool compressibilityCorrection=false)
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
void initData(SPAbstractData d, double a)
SPBCond generateBCConstantGradient(SPAbstractDataWithGhostNodes d, double v, const VectorTemplate *const t, const std::vector< SlicesNames > &sl)
Bondary condition that makes fixed gradient.
void executeAll(std::vector< T * > &v)
void addScalars(std::string name, AbstractData &data)
VectorOfElements generateVEConstant(T a)
Generates VectorOfElements with 1 Element acl::Constant with value a.
SPBCond generateBCConstantValue(SPAbstractDataWithGhostNodes d, double v, const std::vector< SlicesNames > &sl)
Bondary condition that puts fixed value in each point.
const VectorTemplate & d3q7()
Vector template.
void load(int argc, char *argv[])
const double processorLoad() const