Skip to content

Commit

Permalink
Release 3.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
reiher-research-group committed Nov 20, 2023
1 parent 644d591 commit 53ae96e
Show file tree
Hide file tree
Showing 147 changed files with 10,788 additions and 2,922 deletions.
16 changes: 16 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,22 @@
Changelog
=========

Release 3.1.0
-------------

New features
- Add SteeringWheel infrastructure for actively steering explorations.
- Add ThermoAggregateHousekeeping gear which allows sorting of structures with a frequency check.
- AtomPairFunctionalGroupFilter for specifying pairs of functional groups that are allowed to react.
- CentralSiteFilter to focus explorations on certain elements, suited well for homogeneous catalysis.
- New ElementaryStepGear to focus explorations on certain structures.
- New ReactiveSiteFilter based on substructures provided in .xyz or .mol files.
- The KineticModelingGear is now able to setup jobs for the puffin interface of the ReactionMechanismSimulator.

Changes
- Queries and utility functions related only to the database are moved to the `scine_database` package. The functionality here is deprecated and the unittests are removed.
- Update address in license

Release 3.0.0
-------------

Expand Down
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group
Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Expand Down
5 changes: 4 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,8 @@ recursive-include docs *.rst conf.py Makefile make.bat
include versioneer.py
include scine_chemoton/_version.py

# Remove test files from install:
prune tests

# If including data files in the package, add them like:
include scine_chemoton/tests/resources
include scine_chemoton/resources/*xyz
6 changes: 3 additions & 3 deletions conanfile.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[requires]
scine_utilities/8.0.0@
scine_molassembler/2.0.0@
scine_database/1.2.0@
scine_utilities/9.0.0@
scine_molassembler/2.0.1@
scine_database/1.3.0@

[options]
scine_utilities:python=True
Expand Down
1 change: 1 addition & 0 deletions docs/source/api/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ Chemoton API

engine
gears
steering_wheel
utilities
1 change: 1 addition & 0 deletions docs/source/api/gears.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Elementary Steps Exploration
.. automodule:: scine_chemoton.gears.elementary_steps.brute_force
.. automodule:: scine_chemoton.gears.elementary_steps.minimal
.. automodule:: scine_chemoton.gears.elementary_steps.minimum_energy_conformer
.. automodule:: scine_chemoton.gears.elementary_steps.selected_structures
.. autoclass:: scine_chemoton.gears.elementary_steps.trial_generator.TrialGenerator
.. automodule:: scine_chemoton.gears.elementary_steps.trial_generator.bond_based
.. automodule:: scine_chemoton.gears.elementary_steps.trial_generator.fragment_based
Expand Down
30 changes: 30 additions & 0 deletions docs/source/api/steering_wheel.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Steering Wheel
==============

Interfaces
----------
.. autoclass:: scine_chemoton.steering_wheel.SteeringWheel
.. autoclass:: scine_chemoton.steering_wheel.selections.Selection
.. autoclass:: scine_chemoton.steering_wheel.selections.SelectionAndArray
.. autoclass:: scine_chemoton.steering_wheel.selections.SelectionOrArray
.. autoclass:: scine_chemoton.steering_wheel.network_expansions.NetworkExpansion

Data Structures
---------------
.. automodule:: scine_chemoton.steering_wheel.datastructures

Implementations
---------------

Selections
~~~~~~~~~~
.. automodule:: scine_chemoton.steering_wheel.selections.input_selections
.. automodule:: scine_chemoton.steering_wheel.selections.basics
.. automodule:: scine_chemoton.steering_wheel.selections.conformers
.. automodule:: scine_chemoton.steering_wheel.selections.organometallic_complexes

Network Expansions
~~~~~~~~~~~~~~~~~~
.. automodule:: scine_chemoton.steering_wheel.network_expansions.basics
.. automodule:: scine_chemoton.steering_wheel.network_expansions.conformers
.. automodule:: scine_chemoton.steering_wheel.network_expansions.reactions
2 changes: 1 addition & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@

# General information about the project.
project = "Chemoton"
copyright = "2019, ETH Zurich, Laboratory for Physical Chemistry, Reiher Group"
copyright = "ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group"
author = "Reiher Group"

# The version info for the project you're documenting, acts as replacement for
Expand Down
7 changes: 7 additions & 0 deletions pytest.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[pytest]
filterwarnings =
error
ignore::ResourceWarning
markers =
slow: marks tests as slow (deselect with '-m "not slow"')
serial
2 changes: 1 addition & 1 deletion scine_chemoton/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
__copyright__ = """ This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.
Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.
See LICENSE.txt for details.
"""

Expand Down
33 changes: 8 additions & 25 deletions scine_chemoton/__main__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
__copyright__ = """ This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.
Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.
See LICENSE.txt for details.
"""

Expand All @@ -16,11 +16,10 @@

# Third party imports
import scine_database as db
import scine_utilities as utils

# Local application imports
from scine_chemoton.utilities.insert_initial_structure import insert_initial_structure
from scine_chemoton.default_settings import default_nt_settings
from scine_chemoton.default_settings import default_nt_settings, default_cutting_settings, default_opt_settings
from scine_chemoton.engine import Engine
from scine_chemoton.gears.scheduler import Scheduler
from scine_chemoton.gears.thermo import BasicThermoDataCompletion
Expand Down Expand Up @@ -74,34 +73,24 @@
manager.init()
time.sleep(1.0)
# Load initial data
methanol = pkg_resources.resource_filename("scine_chemoton", "tests/resources/methanol.xyz")
formaldehyde = pkg_resources.resource_filename("scine_chemoton", "tests/resources/formaldehyde.xyz")
methanol = pkg_resources.resource_filename("scine_chemoton", os.path.join("resources", "methanol.xyz"))
formaldehyde = pkg_resources.resource_filename("scine_chemoton", os.path.join("resources", "formaldehyde.xyz"))

structure, calculation = insert_initial_structure(
manager,
methanol,
0,
1,
model,
settings=utils.ValueCollection(
{
"convergence_max_iterations": 1000,
"bfgs_use_trust_radius": True,
}
),
settings=default_opt_settings()
)
structure, calculation = insert_initial_structure(
manager,
formaldehyde,
0,
1,
model,
settings=utils.ValueCollection(
{
"convergence_max_iterations": 1000,
"bfgs_use_trust_radius": True,
}
),
settings=default_opt_settings()
)


Expand Down Expand Up @@ -131,13 +120,7 @@
conformer_gear.options.model = model
conformer_gear.options.conformer_job = db.Job("conformers")
conformer_gear.options.minimization_job = db.Job("scine_geometry_optimization")
conformer_gear.options.minimization_settings = utils.ValueCollection(
{
"convergence_max_iterations": 1000,
"bfgs_use_trust_radius": True,
"geoopt_coordinate_system": "cartesianWithoutRotTrans",
}
)
conformer_gear.options.minimization_settings = default_opt_settings()
conformer_engine = Engine(credentials)
conformer_engine.set_gear(conformer_gear)
conformer_engine.run()
Expand Down Expand Up @@ -177,7 +160,7 @@
dissociations_gear.trial_generator.further_exploration_filter = FurtherExplorationFilter()
dissociations_gear.trial_generator.options.model = model
dissociations_gear.trial_generator.options.job = db.Job("scine_dissociation_cut")
dissociations_gear.trial_generator.options.cutting_job_settings = utils.ValueCollection({})
dissociations_gear.trial_generator.options.cutting_job_settings = default_cutting_settings()
dissociations_gear.trial_generator.options.min_bond_dissociations = 1
dissociations_gear.trial_generator.options.max_bond_dissociations = 1
dissociations_gear.trial_generator.options.enable_further_explorations = False
Expand Down
4 changes: 2 additions & 2 deletions scine_chemoton/_version.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
__copyright__ = """ This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.
Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.
See LICENSE.txt for details.
"""

__version__ = "3.0.0"
__version__ = "3.1.0"
36 changes: 35 additions & 1 deletion scine_chemoton/default_settings.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
__copyright__ = """ This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.
Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.
See LICENSE.txt for details.
"""

Expand Down Expand Up @@ -65,3 +65,37 @@ def default_nt_settings() -> utils.ValueCollection:
# # # Settings for the optimisation of the reactive complex
"rcopt_convergence_max_iterations": 1000,
})


def default_cutting_settings() -> utils.ValueCollection:
return utils.ValueCollection({
"opt_convergence_delta_value": 1.0e-06,
"opt_convergence_gradient_max_coefficient": 0.0002,
"opt_convergence_gradient_rms": 0.0001,
"opt_convergence_max_iterations": 1000,
"opt_convergence_requirement": 3,
"opt_convergence_step_max_coefficient": 0.002,
"opt_convergence_step_rms": 0.001,
"rcopt_convergence_delta_value": 1.0e-06,
"rcopt_convergence_gradient_max_coefficient": 0.0002,
"rcopt_convergence_gradient_rms": 0.0001,
"rcopt_convergence_max_iterations": 1000,
"rcopt_convergence_requirement": 3,
"rcopt_convergence_step_max_coefficient": 0.002,
"rcopt_convergence_step_rms": 0.001,
})


def default_opt_settings() -> utils.ValueCollection:
return utils.ValueCollection({
"convergence_max_iterations": 1000,
"convergence_step_max_coefficient": 2.0e-3,
"convergence_step_rms": 1.0e-3,
"convergence_gradient_max_coefficient": 2.0e-4,
"convergence_gradient_rms": 1.0e-4,
"convergence_requirement": 3,
"convergence_delta_value": 1e-6,
"geoopt_coordinate_system": "cartesianWithoutRotTrans",
"bfgs_use_trust_radius": True,
"bfgs_trust_radius": 0.4,
})
2 changes: 1 addition & 1 deletion scine_chemoton/engine.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
__copyright__ = """ This code is licensed under the 3-clause BSD license.
Copyright ETH Zurich, Laboratory of Physical Chemistry, Reiher Group.
Copyright ETH Zurich, Department of Chemistry and Applied Biosciences, Reiher Group.
See LICENSE.txt for details.
"""

Expand Down
Loading

0 comments on commit 53ae96e

Please # to comment.