|
4 | 4 | Analyzing the Output Files |
5 | 5 | ************************** |
6 | 6 |
|
7 | | -You will see that a sucessfully executed RMG job will create multiple output files and folders: |
| 7 | +You will see that a sucessfully executed RMG job will create multiple output files and folders: |
8 | 8 | ``output.html`` (if ``generateOutputHTML=True`` is specified) |
| 9 | +``/cantera_from_ck`` |
| 10 | +``/cantera1`` (if ``generateCanteraYAML1=True`` is specified) |
| 11 | +``/cantera2`` (if ``generateCanteraYAML2=True`` is specified) |
9 | 12 | ``/chemkin`` |
10 | | -``/pdep`` |
| 13 | +``/pdep`` |
11 | 14 | ``/plot`` |
| 15 | +``/rms`` |
12 | 16 | ``/solver`` |
13 | | -``/species`` |
| 17 | +``/species`` |
14 | 18 | ``RMG.log`` |
15 | 19 |
|
16 | 20 | ------------------ |
@@ -39,6 +43,92 @@ network. |
39 | 43 |
|
40 | 44 | ------------------ |
41 | 45 | The Solver Folder |
42 | | ------------------- |
43 | | -RMG currently includes a solver for isothermal batch reactors. This is in fact a critical part of the model enlargement algorithm. If you have included simulations in your input file, the solutions will be located in ``/solver``. You will probably only be interested in the files with the largest number tags. |
| 46 | +------------------ |
| 47 | +RMG currently includes a solver for isothermal batch reactors. This is in fact a critical part of the model enlargement algorithm. If you have included simulations in your input file, the solutions will be located in ``/solver``. You will probably only be interested in the files with the largest number tags. |
44 | 48 | Please note that up to and including RMG-Py version 2.3.0 these files showed mole fraction of each species at each step, but they now show amount (number of moles) of each species; you must divide by the sum if you wish to get a mole fraction. |
| 49 | + |
| 50 | +------------------------------ |
| 51 | +Cantera Output Folders |
| 52 | +------------------------------ |
| 53 | + |
| 54 | +RMG can write mechanisms in `Cantera <https://cantera.org>`_ YAML format via three distinct |
| 55 | +routes, producing up to three output folders. All three require Cantera to be installed in |
| 56 | +the conda environment (it is included in the standard ``rmg_env``). |
| 57 | + |
| 58 | +``/cantera_from_ck`` |
| 59 | +^^^^^^^^^^^^^^^^^^^^ |
| 60 | + |
| 61 | +This folder is always produced when the Chemkin writer is enabled (``generateChemkin=True``, the default). |
| 62 | +After the final RMG iteration, Cantera's own ``ck2yaml`` converter is used to translate the Chemkin-format files in ``/chemkin`` into Cantera YAML. |
| 63 | +This is the most thoroughly tested route and is the recommended output for production use. |
| 64 | + |
| 65 | +``/cantera1`` *(beta)* |
| 66 | +^^^^^^^^^^^^^^^^^^^^^^ |
| 67 | + |
| 68 | +.. note:: |
| 69 | + |
| 70 | + The ``cantera1`` writer is in **beta**. It uses the Cantera Python API to construct and |
| 71 | + serialise the mechanism YAML, rather than writing the YAML by hand. It has been less |
| 72 | + extensively tested than the ``cantera_from_ck`` route. Please report any discrepancies. |
| 73 | + |
| 74 | +This folder is created when ``generateCanteraYAML1=True`` is set in the ``options()`` block |
| 75 | +(disabled by default). The writer runs after every RMG iteration (or on the schedule set by |
| 76 | +``saveInterval``), so the folder accumulates a history of the growing mechanism. |
| 77 | + |
| 78 | +Files generated: |
| 79 | + |
| 80 | +* ``chem{NNNN}.yaml`` — mechanism snapshot at the iteration when the core contained *NNNN* |
| 81 | + species (e.g. ``chem0042.yaml``) |
| 82 | +* ``chem.yaml`` — copy of the latest snapshot; always reflects the current model state |
| 83 | +* ``chem_annotated.yaml`` — annotated version with SMILES, source, and kinetics comments |
| 84 | + (written when ``verboseComments=True`` for this writer) |
| 85 | +* ``chem_edge{NNNN}.yaml`` / ``chem_edge.yaml`` / ``chem_edge_annotated.yaml`` — edge-model |
| 86 | + equivalents (written when ``saveEdge=True``) |
| 87 | +* ``comparison_report.txt`` — numerical comparison of ``chem.yaml`` against the |
| 88 | + ``cantera_from_ck`` translation (written at the end of the run if both writers are enabled; |
| 89 | + see below) |
| 90 | + |
| 91 | +``/cantera2`` *(beta)* |
| 92 | +^^^^^^^^^^^^^^^^^^^^^^ |
| 93 | + |
| 94 | +.. note:: |
| 95 | + |
| 96 | + The ``cantera2`` writer is in **beta**. It generates Cantera YAML directly from RMG's |
| 97 | + internal Python data structures, without going through the Chemkin intermediate. While |
| 98 | + it should produce valid mechanisms, it has been less extensively tested than the |
| 99 | + ``cantera_from_ck`` route. Please report any discrepancies. |
| 100 | + |
| 101 | +This folder is created when ``generateCanteraYAML2=True`` is set in the ``options()`` block |
| 102 | +(disabled by default). Like ``cantera1``, it runs at every iteration (or on the configured |
| 103 | +schedule). |
| 104 | + |
| 105 | +Files generated: |
| 106 | + |
| 107 | +* ``chem{NNNN}.yaml`` / ``chem.yaml`` — latest mechanism snapshot and its labelled history |
| 108 | +* ``chem_annotated.yaml`` — annotated version (written when ``verboseComments=True``) |
| 109 | +* ``chem_edge{NNNN}.yaml`` / ``chem_edge.yaml`` / ``chem_edge_annotated.yaml`` — edge-model |
| 110 | + equivalents (written when ``saveEdge=True``) |
| 111 | +* ``comparison_report.txt`` — numerical comparison against the ``cantera_from_ck`` |
| 112 | + translation (written at the end of the run if both writers are enabled) |
| 113 | + |
| 114 | +Comparison Reports |
| 115 | +^^^^^^^^^^^^^^^^^^ |
| 116 | + |
| 117 | +When a direct-writer folder (``cantera1`` or ``cantera2``) is used alongside the Chemkin |
| 118 | +writer, RMG automatically compares the final ``chem.yaml`` from that folder against the |
| 119 | +``cantera_from_ck/chem.yaml`` produced by ``ck2yaml``. The comparison checks differences |
| 120 | +in the yaml data. Not all differences are necessarily problematic. Results are written to |
| 121 | +``comparison_report.txt`` inside the relevant direct-writer folder. |
| 122 | + |
| 123 | +If you find that the two routes disagree in a problematic way, please open an issue on the |
| 124 | +`RMG-Py GitHub repository <https://github.com/ReactionMechanismGenerator/RMG-Py/issues>`_ |
| 125 | +and include the ``comparison_report.txt`` and a minimal reproducing ``input.py``. |
| 126 | + |
| 127 | +------------------------------ |
| 128 | +The RMS YAML Folder |
| 129 | +------------------------------ |
| 130 | + |
| 131 | +The ``/rms`` folder contains the mechanism in |
| 132 | +`ReactionMechanismSimulator (RMS) <https://github.com/ReactionMechanismGenerator/ReactionMechanismSimulator.jl>`_ |
| 133 | +YAML format. This writer is enabled by default (``generateRMSYAML=True``) and writes at |
| 134 | +every iteration, unless configured otherwise by ``saveInterval``. |
0 commit comments