Hallo Steve,
thank you for taking time to reply to my post.
I am more or less in the same position as yesterday:
1. the diamond.cti used - the standard one:
ideal_gas(name = 'gas',
elements = 'H C O',
species = 'gri30: H H2 CH3 CH4 O O2',
initial_state = state(temperature = 1200.0,
pressure = 20.0*OneAtm/760.0,
mole_fractions = 'H:0.002, H2:1
CH4:0.01 CH3:0.0002'))
stoichiometric_solid(name = 'diamond',
elements = 'C',
species = 'Cs',
density = (3.52, 'g/cm3'),
initial_state = state(temperature = 300.0,
pressure = OneAtm)
)
species(name = 'Cs',
atoms = 'C:1',
thermo = const_cp() )
ideal_interface(name = 'diamond_100',
elements = 'H C',
species = 'c6H* c6HH c6*H c6** c6HM c6HM* c6*M c6B ',
reactions = 'all',
phases = 'gas diamond',
site_density = (3.0e-9, 'mol/cm2'),
initial_state = state(temperature = 1200.0,
coverages = 'c6H*:0.1, c6HH:
0.9'))
2. the cpp file - based on surfdemo.cpp, trying to replicate
runDiamond.cpp
int main() {
try {
// create the gas phase + initial state
IdealGasMix gas("diamond.cti", "gas");
gas.setState_TPX(1200.0, 20.0*OneAtm/760.0,
"H:0.002, H2:1 CH4:0.01 CH3:0.0002 ");
// create the interface + initial coverage
vector<ThermoPhase*> phases;
phases.push_back(&gas);
Interface surf("diamond.cti", "diamond_100", phases);
vector_fp cov;
cov.push_back(0.1);
cov.push_back(0.9);
// creat bulk phase
// how?
// steady state coverages 100 s
surf.advanceCoverages(100);
// return the net production rates (kmol/m2/s) due to surface
chemistry
//for all species.
// The gas-phase species are first in the sdot array, followed by the
//surface species
vector_fp wdot(gas.nSpecies() + surf.nSpecies());
surf.getNetProductionRates(DATA_PTR(wdot));
int k;
for (k = 0; k < gas.nSpecies(); k++)
cout << gas.speciesName(k) << " " << wdot[k] << endl;
for (k = 0; k < surf.nSpecies(); k++)
cout << surf.speciesName(k) << " "
<< wdot[k+gas.nSpecies()] << endl;
}
catch (CanteraError) {
showErrors(cout);
}
return 0;
}
The error: Procedure: importKinetics
Error: phase diamond not found. Supplied phases are: gas
diamond_100 gas diamond_100
- I expected this since i am not sure that he actually reads and
proceeds with "diamond".
My problems:
1) I cannt find a way to call the bulk phase. There is no
"StoichiometricSolid.h", as I expected. I have tried very chaotic
some old call functions ...also including Metal.h and declaring it as
metal...i am not sure.
2) I did read the information that comes online with Cantera, but I am
not sure that I understand right how it works. What I have to model is
transformation/deposition/condensation of mineral particles and
alkali compounds on the walls.
So, assuming that I have an ash particle containg Fe in an O2
environment one of the possible reactions could lead to FeO, Fe2O3
etc. I want to get the deposition growth of all Fe containing species.
So I will need the solid bulk phase, or?
a. define bulk gas phase: the combustion environment
b. define solid bulk: Fe ?
c. define the ideal_interface: FeO Fe2O3 etc
Best regards,
Ann