#include <utilities/aslParametersManager.h>
#include <math/aslTemplates.h>
#include <aslGeomInc.h>
#include <aslDataInc.h>
#include <acl/aclGenerators.h>
#include <writers/aslVTKFormatWriters.h>
#include <num/aslFDStefanMaxwell.h>
#include <num/aslBasicBC.h>
#include <utilities/aslTimer.h>
#include <acl/aclMath/aclVectorOfElements.h>
int main(
int argc,
char* argv[])
{
"1.0");
appParamsManager.
load(argc, argv);
Param diffCoefNum(diffCoef.
v()*dt.
v()/dx.
v()/dx.
v());
std::cout << "Data initialization...";
auto c1Field(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
auto c2Field(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
auto phiField(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
std::cout << "Finished" << endl;
std::cout << "Numerics initialization...";
phiField->getEContainer()*1e5/8.31/300,
1u));
nm->init();
auto nmPhi(make_shared<asl::FDStefanMaxwellElectricField>(nm, phiField));
nmPhi->init();
std::vector<asl::SPNumMethod> bc;
std::vector<asl::SPNumMethod> bcPhi;
std::cout << "Finished" << endl;
std::cout <<
"Computing..." <<
flush;
writer.addScalars("c2", *c2Field);
writer.addScalars("phi", *phiField);
writer.write();
for(unsigned int i(1); i < 401; ++i)
{
for(unsigned int j(0); j<50; ++j)
{
nmPhi->execute();
}
nm->execute();
if (!(i%40))
{
cout << i << endl;
writer.write();
}
}
std::cout << "Finished" << endl;
cout <<
"time=" << timer.
getTime() <<
"; clockTime="
std::cout << "Output...";
std::cout << "Finished" << endl;
std::cout << "Ok" << endl;
return 0;
}