26 auto csol = Cantera::newSolution(
"../input/c2h4det.yaml");
27 auto gas = csol->thermo();
31 YAML::Node inputFile = YAML::LoadFile(
"../input/input_premixed.yaml");
35 bool isPremixed = inputFile[
"isPremixed"].as<
bool>();
39 size_t ngrd = inputFile[
"ngrd"].as<
size_t>();
40 double L = inputFile[
"L"].as<
double>();
41 double nTauRun = inputFile[
"nTauRun"].as<
double>();
42 size_t nSteps = inputFile[
"nSteps"].as<
size_t>();
46 bool doSoot = inputFile[
"doSoot"].as<
bool>();
47 size_t nsoot = doSoot ? inputFile[
"nsoot"].as<
size_t>() : 0;
49 shared_ptr<sootModel> SM;
50 shared_ptr<state> SMstate;
54 nucleationModel *nucl =
new soot::nucleationModel_LL();
55 growthModel *grow =
new soot::growthModel_LL();
56 oxidationModel *oxid =
new soot::oxidationModel_LL();
57 coagulationModel *coag =
new soot::coagulationModel_FM();
59 SM = make_shared<sootModel_QMOM>(nsoot, nucl, grow, oxid, coag);
60 SM->coag->set_FM_multiplier(9.0/2.2);
61 SMstate = make_shared<state>(nsoot);
66 double P = inputFile[
"P"].as<
double>();
67 double v = inputFile[
"v"].as<
double>();
68 double TLbc = inputFile[
"LBC"][
"TLbc"].as<
double>();
69 vector<double> xLbc(gas->nSpecies());
70 YAML::Node xx = inputFile[
"LBC"][
"comp"];
71 for(
auto it=xx.begin(); it!=xx.end(); it++)
72 xLbc[gas->speciesIndex(it->first.as<
string>())] = it->second.as<
double>();
74 bool doEnergyEqn = inputFile[
"doEnergyEqn"].as<
bool>();
75 vector<double> Tprof_h;
76 vector<double> Tprof_T;
78 for(
size_t i=0; i<inputFile[
"Tprof"].size(); i++) {
79 Tprof_h.push_back(inputFile[
"Tprof"][i][0].as<double>());
80 Tprof_T.push_back(inputFile[
"Tprof"][i][1].as<double>());
85 bool doRadiation = inputFile[
"doRadiation"].as<
bool>();
86 string radType = inputFile[
"radType"] ? inputFile[
"radType"].as<
string>() :
"planckmean";
90 bool isFlamelet =
false;
92 gas->setState_TPX(TLbc, P, &xLbc[0]);
93 vector<double> yLbc(ngrd);
94 gas->getMassFractions(&yLbc[0]);
95 double mflux = gas->density()*v;
97 ignis flm(isPremixed, doEnergyEqn, isFlamelet, doSoot,
98 ngrd, L, P, csol, radType,
99 yLbc, yLbc, TLbc, TLbc,
103 if(!doEnergyEqn) flm.
setTprof(Tprof_h, Tprof_T);
105 flm.
setIC(
"premixed");
111 string fname =
"premixed.dat";