Skip to content

Commit 4fb49b1

Browse files
committed
Addressing review comments in copilot instructions.
1 parent 00c7804 commit 4fb49b1

File tree

1 file changed

+25
-4
lines changed

1 file changed

+25
-4
lines changed

.github/copilot-instructions.md

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,31 @@ species = Species(label='ethane', molecule=[Molecule().from_smiles("CC")])
6464
species.generate_resonance_structures()
6565
```
6666

67+
```python
68+
from rmgpy.reaction import Reaction
69+
from rmgpy.kinetics import Arrhenius
70+
71+
# Reaction with Arrhenius kinetics
72+
rxn = Reaction(
73+
reactants=[Species(label='CH3', molecule=[Molecule(smiles='[CH3]')]),
74+
Species(label='O2', molecule=[Molecule(smiles='[O][O]')])],
75+
products=[Species(label='CH3OO', molecule=[Molecule(smiles='CO[O]')])],
76+
kinetics=Arrhenius(A=(2.65e12, 'cm^3/(mol*s)'), n=0.0, Ea=(0.0, 'kJ/mol'), T0=(1, 'K')),
77+
)
78+
79+
# Reaction without kinetics (e.g. for isomorphism checks)
80+
rxn2 = Reaction(
81+
reactants=[Species().from_smiles('[O]'), Species().from_smiles('O=S=O')],
82+
products=[Species().from_smiles('O=S(=O)=O')],
83+
)
84+
```
85+
86+
6787
## Input Files
6888
- RMG inputs: Python scripts defining `database()`, `species()`, `simpleReactor()`, etc.
69-
- See `examples/rmg/minimal/input.py` for structure
89+
- See `examples/rmg/minimal/input.py` for structure and `examples/rmg/commented/input.py` for a file with detailed comments
7090
- Arkane inputs: Python scripts with `species()`, `transitionState()`, `reaction()` blocks
91+
- See `examples/arkane/` for examples
7192

7293
## RMG-database Integration
7394
The **RMG-database** is a separate repository containing all thermodynamic, kinetics, and transport data. It's typically cloned alongside RMG-Py in a sibling folder named `RMG-database`.
@@ -99,8 +120,8 @@ database.load(
99120
- `Entry` (`rmgpy/data/base.py`) - Base class for database entries with metadata
100121

101122
### Data Flow for Species Thermodynamics
102-
1. `Species.get_thermo_data()``rmgpy.thermo.thermoengine.submit(species)` (may create/resolve futures)
103-
2. `thermoengine` dispatches to the loaded `ThermoDatabase` and ultimately calls `ThermoDatabase.get_thermo_data(species)`
123+
1. `Species.get_thermo_data()``rmgpy.thermo.thermoengine.submit(species)`
124+
2. `thermoengine.submit()` generates resonance structures, then dispatches to `ThermoDatabase.get_thermo_data(species)`
104125
3. `ThermoDatabase` first checks thermo libraries for an exact match (via graph isomorphism)
105126
4. If no library match is found, `ThermoDatabase` falls back to group additivity estimation using functional group contributions
106127
5. The resolved result is returned as a `ThermoData`, `NASA`, or `Wilhoit` object
@@ -138,7 +159,7 @@ Documentation lives in `documentation/source/` and is built with Sphinx (`make d
138159
- **New features**: Add to `documentation/source/users/rmg/features.rst` or create and link to new `.rst` file
139160

140161
## Style Guidelines
141-
- Follow PEP 8
162+
- Follow PEP 8 for new or modified code, but don't modify code just to fix style
142163
- Docstrings describe purpose, not implementation
143164
- Use `logging` module (not print statements)
144165
- MIT license header required on all source files

0 commit comments

Comments
 (0)