ReactionMechanismGenerator / RMG-database

The database of chemical parameters used with Reaction Mechanism Generator
http://rmg.mit.edu/database/
95 stars 139 forks source link

Will the Cl_Abstraction reaction family be supported in near future? #449

Open shihchengli opened 3 years ago

shihchengli commented 3 years ago

Hello,

I try to simulate EDC pyrolysis by using RMG. In the master branch of RMG-database, it has not yet included the Cl-Abstraction reaction family. Do the Chlorine branch work now?

This question is related to the pull&requests of #317 and #392.

davidfarinajr commented 3 years ago

Hi @shihchengli ! Thank you for raising this issue. We are still working on adding halogen chemistry, including Cl abstraction, to the master branch. Our aim is to accomplish this by the end of January 2021. If you would like to build your model before this, I suggest using the 2 development branches shown below. I will let you know as soon as Cl abstraction is merged into master. Thanks and happy new year!

Halogens development branches: RMG-Py: https://github.com/davidfarinajr/RMG-Py/tree/halogens_master RMG-database: https://github.com/davidfarinajr/RMG-database/tree/halogens_master

shihchengli commented 3 years ago

@davidfarinajr thanks for your prompt reply. I am happy to hear that the halogens chemistry will be supported recently. I have tried these development branches on EDC pyrolysis. However, I met some errors about the DASPK error.


Error: Trying to step from time 0.0 to 1e-12 resulted in a solver (DASPK) error: DASPK returned with an IDID = -6, Repeated error test failures occurred on the last attempted step in DDASPK.  A singularity in the solution may be present.  If you are absolutely certain you want to continue, you should restart the integration.  (Provide initial values of Y and YPRIME which are consistent.)

The input.py is shown below.

# Data sources
database(
    thermoLibraries = ['primaryThermoLibrary', 'Chlorination'],
    reactionLibraries = ['DTU_mech_CH3Cl'],
    seedMechanisms = [],
    kineticsDepositories = ['training'],
    kineticsFamilies = 'default',
    kineticsEstimator = 'rate rules',
)

# Constraints on generated species
generatedSpeciesConstraints(
    maximumRadicalElectrons = 2,
    maximumCarbonAtoms = 6,
)

# List of species
species(
    label='EDC',
    reactive=True,
    structure=SMILES("C(CCl)Cl"),
)

simpleReactor(
        temperature=(753.15,'K'),
        pressure=(12,'bar'),
        initialMoleFractions={
                "EDC": 1,
        },
        terminationConversion={
                'EDC': 0.55,
        },

simulator(
        atol=1e-16,
        rtol=1e-8,
)

model(
    toleranceMoveToCore=0.02,
    toleranceInterruptSimulation=0.02,
)

options(
        units='si',
        generateOutputHTML=True,
        generatePlots=False,
)

Should I make any modifications to let this simulation work?

Thank you and happy new year!

davidfarinajr commented 3 years ago

Hi @shihchengli, I have used these branches for combustion of fluorinated hydrocarbons, but not tried pyrolysis for a chlorinated hydrocarbon. I don’t think RMG can break down EDC by itself. If you have some idea of what the initial steps are, including these as a seed mechanism should help, particularly if these reactions produce radicals for RMG to play with. Or alternatively, if these reactions match a reaction family, adding them to training reactions to that family will help teach RMG more about chlorine. However, since we are currently lacking kinetics training data for chlorine, I am not very confident in RMG’s ability to generate chlorine models at this stage.

shihchengli commented 3 years ago

Hi @davidfarinajr, I have tried to add a seed mechanism, but the DASPK error still exists. As mentioned in #1258, the DASPK error is probably a result of having a bad thermo. This is also related to #1367.

davidfarinajr commented 3 years ago

Yes, I think bad thermo is to blame here. I have a PR open here https://github.com/ReactionMechanismGenerator/RMG-database/pull/434 to add thermo groups for chlorine, but chlorine thermo groups were not added to my halogens_master branch (https://github.com/davidfarinajr/RMG-database/tree/halogens_master). I have just added them to the halogens_master branch as well as the CHOCl_G4 library I used to derive the groups. I suggest you pull these commits and add CHOCl_G4 to your thermo libraries in your input file. Hopefully this fixes the thermo and resolves the DASPK error. Sorry about this, I hope to get this thermo merged in soon so we can avoid using these dev branches.

shihchengli commented 3 years ago

I have run this simulation again, but the DASPK error still exists. I tried to use this new thermo data to simulate a mechanism with 108 reactions that I found from a paper by using Cantera. This new thermo data can let the Cantera simulate a mechanism without having an ODE solving error. Therefore, I guess the DASPK error might be due to the lacking kinetics training data for chlorine. Thank you very much for improving the RMG's group additivity ability at halogens.