Releases: LopezGroup-ICIQ/care
v0.6.0
Release v0.6.0: ML Evaluator Optimization & Julia Integration
This CARE release introduces a major optimization and update to the ML evaluator interfaces, streamlines kinetic simulations, and significantly updates core dependencies.
New Features & Enhancements
- New UMA Interface: Added support for UMA models via the new
FairChemV2IntermediateEvaluatorinterface. - Automated Julia Management: Improved integration between Python and Julia for kinetic simulations. Users no longer need to install Julia and its dependencies manually;
juliacallnow handles the entire setup automatically. - Relaxation Guardrails: Implemented guardrails for scenarios where the ML relaxation of adsorbed species leads to intermediate dissociation. If the structure breaks, the system now keeps the lowest-energy configuration after
num_configs * patienceattempts. - Connectivity Tracking: Added a new
connectivityboolean key toIntermediate.ads_configsvalues to explicitly tag the final outcome of the relaxation process in terms of adsorbate connectivity.
Breaking Changes & Renames
- OCP Evaluator Renamed: To align with the new UMA integration,
care.evaluators.OCPIntermediateEvaluatorhas been renamed tocare.evaluators.FairChemV1IntermediateEvaluator. To use FairChem-v1 models, dopip install care-crn[fairchemv1]. - PET-MAD Evaluator Renamed: The PET-MAD interface has been updated to UPET and renamed to
care.evaluators.UPETIntermediateEvaluator. Now you can install UPET models withpip install care-crn[upet]. - GAME-Net-UQ Optional: Changed
GAME-Net-UQto an optional dependency, aligning it with all other ML energy evaluators. You can install it withpip install care-crn[gamenetuq].
Dependency & Environment Updates
- Shift to Modular Environments: As we expand our support for various ML potentials, maintaining a single "one-size-fits-all" environment is no longer practical due to strict, conflicting underlying dependencies. We have transitioned to a "one ML model, one environment" philosophy. Users should now create separate environments tailored to the specific ML evaluator they intend to use. You couldd still attempt resolving a unified environment for multiple models at your own discretion, but it is no longer the standard assumption.
- Bumped DifferentialEquations.jl to v8.0.0 and pinned the version (previously assumed v7.y.z).
- Bumped NumPy from v1.26.4 to v2.3.5 and adapted the codebase accordingly.
- Bumped RDKit from v2023.9.6 to v2025.9.1 and adapted the dissociation reaction template.
- Bumped ASE to v3.26 and adapted energy evaluator interfaces (note: the
convergedkey has been temporarily omitted). - Bumped acat to v2.0.3.
- Bumped mp-api to v0.46.0.
- Bumped pydot to v4.0.1.
- Bumped pandas to 2.3.3.
v0.5.0
This release improves some aspects related to visualization and inspection of care.ReactionNetwork instances.
care.crn.visualize.write_dotgraphrenamed ascare.crn.visualize.plot_crn.care.ReactionNetwork.get_reaction_table: now table can be exported as Pandas Dataframe. Renamed column headers.- Deleted old modules which have never really be integrated with CARE core functionalities.
v0.4.0
This release 0.4.0 implements the following:
-
Add
care.iosub-package containing JSON serializers for ReactionNetwork, ElementaryReaction, Intermediate, and Surface classes. Before, these objects were stored as pickle .pkl files, and any code update would block the loading of the networks created with old code. Now backward-compatibility is ensured, Networks are stored by default as compressed JSON files .json.gz -
CRN blueprints now are directly defined as
care.ReactionNetworkobjects. Addis_evaluatedproperty for networks, reactions and intermediates. -
Improved network visualization function
care.crn.visualize.write_dotgraph. -
Now graph tools
care.evaluators.utilsdepend on NetworkX only, and not anymore on torch-geometric / pytorch.
v0.3.0
This pre-release adds the following improvements/changes:
- Automatic evaluation of selectivity, conversion, and yield from kinetic simulations.
- Automated Excel report generation of kinetic simulations (see attached example).
- Starts polishing the
place_adsorbatefunction.
Minor release 0.2.0
This minor release adds the following:
- Extend
care.adsorption.place_adsorbatefunction for targeted placements on user-defined surface sites and adsorbate anchoring atoms. This option is not intended for high-throughput screening. - Add the
fixed_atomsproperty tocare.Surface. Before, if a surface was created from an user-provided POSCAR with some freezed atoms, the same constraint was not kept after adsorbate placement, but bottom 50% of slab atoms were freezed by default. - Enable creation of
care.Intermediateinstances from user-defined VASP POSCAR files.
v0.1.3 - PyPI packaging fix
This bug fix corrects the pynanoflann optional dependency for orb and updates the install instructions in the README.
v0.1.2 - PyPI Packaging Fix
This bug fix ensures correct handling of optional pynanoflann dependency for orb models.
v0.1.1 - PyPi Packaging Fix
This bug fix ensures PyPI dependency compliance regarding to energydiagram package.
v0.1.0 - Initial Release
This is the first public release of care-crn.
Features
- Automated generation of Chemical Reaction Networks (CRNs) in heterogeneous catalysis for CHON reactions.
- Energy evaluator interfaces to GAME-Net-UQ and MLIPs: MACE, FAIRChem-v1, PETMAD, Orb-v2, and SevenNet.
- Mean-field microkinetic simulation solvers via Julia and SciPy.
- Tutorial notebooks for getting started.