Skip to content
Scm logo
Scm logo
  • Amsterdam Modeling Suite
  • Applications
  • Tools
  • Docs & Support
  • Company
    • About us
    • Team
    • Projects & Collaborations
    • Partners & Contributors
    • News
    • Events
    • Careers
    • Pricing & Licensing
    • Contact us
Amsterdam Modeling Suite
Atomistic Scale
Electronic Structure
ADF

Understand and predict chemical properties with our fast and accurate molecular DFT code.

Periodic DFT

BAND & Quantum Espresso: Calculate reactivity, band gaps, optical response, and other properties for periodic systems.

DFTB & MOPAC

Model larger molecules and periodic systems, or prescreen many candidates, with the fast electronic structure methods DFTB and MOPAC.

Interatomic Potentials
ReaxFF

Study large, chemically evolving systems with ReaxFF molecular dynamics.

Machine Learning Potentials

Use preparametrized ML potentials M3GNET, ANI-1ccx or your own models.

Force Fields

GFN-FF, Apple&P, UFF, and more- (polarizable) force fields.

Meso- & Macroscale
kMC and Microkinetics

Predict catalytic turn-over frequencies with microkinetics and kinetic Monte Carlo.

Bumblebee: OLED stacks

3D kinetic Monte Carlo for simulating OLED device-level physics

Fluid Thermodynamics
COSMO-RS

Quick physical property predictions, thermodynamic properties in solution, and solvent screening.

Amsterdam Modeling Suite: computational chemistry with expert support to advance your chemistry & materials R&D

Discover the Suite Pricing & licensing
Tools
Workflows and Utilities
OLED workflows

Automatic workflows to simulate physical vapor deposition and calculate properties for OLED device modeling.

ChemTraYzer2

Automatically extract reaction pathways and reaction rates from reactive MD trajectories.

Conformers

Easily generate, screen, refine, and select conformers. Pass on to other modules for conformational averaging.

Reactions Discovery

Predict chemical (side) reactions from nothing but constituent molecules.

AMS Driver
Properties

Calculate frequencies, phonons, and more. Use forces and energies from AMS or external engines.

PES Exploration

Minimize structures, find transitions states, scan multiple coordinates.

Molecular Dynamics

Use advanced thermo- and barostats, non-equilibrium and accelerated MD, molecule gun.

Monte Carlo

Grand Canonical Monte Carlo to study absorption, (dis)charge processes.

Interfaces
ParAMS

Versatile graphical and python scripting tools to create training sets and parametrize DFTB, ReaxFF, and machine learned potentials.

PLAMS

Versatile python scripting interface to create your own computational chemistry workflows

GUI

Powerful graphical interface to set up, run, and analyze calculations. Even across different platforms.

VASP

Interface to popular plane-wave code VASP. Easily set up PES Scans to create training data.

The SCM team wants to make computational chemistry work for you!

Check out the tutorials Questions? Contact us!
Docs & Support
Downloads
Windows

ams2025.102

Mac

ams2025.102

Linux

ams2025.102

See all
Documentation
Overview

Documentation links for all our modules and tools

Tutorials

Get started quickly with our Tutorials!

Installation Manual

Quick-start guide and extensive installation manual

Brochures

Brochure and flyers for different applications

Other Resources
Changelog

Latest changes to our binaries

Webinars

Workshops

Knowledgebank

Research highlights

FAQ

General FAQs on licensing.

Pricing and licensing

Price and licensing information.

Consulting & Support
How can we help?
Search
  • Free trial
  • Contact

Home > Documentation

Navigate to
  • Documentation
  • Tutorials
  • Installation

Table of contents

  • 1. General
    • 1.1. What is ParAMS?
    • 1.2. What’s new in ParAMS 2022?
    • 1.3. Theory of Parameter Fitting: A Lennard-Jones Example
    • 1.4. General Application
  • 2. Tutorials
    • 2.1. Introduction to parametrization
      • 2.1.1. Training data
        • 2.1.1.1. Where does training data come from?
        • 2.1.1.2. What items can I include in my training set?
        • 2.1.1.3. What types of jobs should I run?
        • 2.1.1.4. What should I consider when designing my training set?
      • 2.1.2. Loss function
        • 2.1.2.1. How do I balance my training set?
        • 2.1.2.2. How do I minimize the loss function?
      • 2.1.3. Model parameters
      • 2.1.4. Where to now?
    • 2.2. Getting Started: Lennard-Jones Potential for Argon
      • 2.2.1. Lennard-Jones Parameters, Engine, and Interface
      • 2.2.2. Files
      • 2.2.3. ParAMS input
        • 2.2.3.1. Parameter interface (parameter_interface.yaml)
        • 2.2.3.2. Job Collection (job_collection.yaml)
        • 2.2.3.3. Training Set (training_set.yaml)
        • 2.2.3.4. ParAMS settings (params.conf.py)
      • 2.2.4. Run the example
      • 2.2.5. Parametrization results
        • 2.2.5.1. The best parameter values
        • 2.2.5.2. Correlation plots
        • 2.2.5.3. Error plots
        • 2.2.5.4. Parameter plots
        • 2.2.5.5. Editing and Saving Plots
        • 2.2.5.6. Predicted values
        • 2.2.5.7. Loss contributions
        • 2.2.5.8. Summary statistics
        • 2.2.5.9. All output files
        • 2.2.5.10. summary.txt
      • 2.2.6. Close the ParAMS GUI
      • 2.2.7. Appendix: Creation of the input files
      • 2.2.8. Next steps
    • 2.3. Import training data (GUI)
      • 2.3.1. Choose preferred units
      • 2.3.2. Reference calculation #1: Geometry optimization of a water molecule
      • 2.3.3. Charges and forces
      • 2.3.4. Bonds and angles
      • 2.3.5. PES scans: bond scan, angle scan, or volume scan
      • 2.3.6. Energies
      • 2.3.7. Import a molecular dynamics trajectory
        • 2.3.7.1. Reference calculation #2: MD simulation of liquid Ar
        • 2.3.7.2. MD with reference method
        • 2.3.7.3. MD with fast method followed by Replay with reference method
      • 2.3.8. Import a structure and settings from AMSinput
      • 2.3.9. Import VASP or Quantum ESPRESSO calculations
    • 2.4. Import training data (Python)
      • 2.4.1. Run a reference job
      • 2.4.2. Water molecule reference data
      • 2.4.3. Initialize the ResultsImporter
      • 2.4.4. Add a singlepoint calculation on the optimized geometry
      • 2.4.5. Add a geometry optimization job extracting the bond length and bond angle
      • 2.4.6. Add a trajectory
      • 2.4.7. Add a reaction energy
      • 2.4.8. Training set, validation set, and other data sets
      • 2.4.9. Exit PLAMS
      • 2.4.10. Save to disk
      • 2.4.11. More ResultsImporters
    • 2.5. ReaxFF: Gaseous H₂O
      • 2.5.1. Calculate the reference data
      • 2.5.2. Import the reference data into ParAMS
      • 2.5.3. Set the parameters to optimize
      • 2.5.4. Run the ReaxFF parametrization
      • 2.5.5. Visualize the results
      • 2.5.6. ffield.ff: The force field file
      • 2.5.7. Summary of the 3 different ways
      • 2.5.8. Next steps with ReaxFF parametrization
    • 2.6. ReaxFF: Adsorption on ZnS(110)
      • 2.6.1. Mix force fields from the AMS ReaxFF library
      • 2.6.2. Choose the parameters to optimize
      • 2.6.3. ZnS training and validation set
      • 2.6.4. Run the ZnS ReaxFF parametrization
      • 2.6.5. ZnS parametrization results
        • 2.6.5.1. ZnS energies
        • 2.6.5.2. ZnS volume scans
        • 2.6.5.3. H₂S bond and angle scans
        • 2.6.5.4. ZnS optimized distances
        • 2.6.5.5. ZnS forces on distorted structures
    • 2.7. ReaxFF: Convert old training sets to ParAMS format
      • 2.7.1. Convert geo (and control) to job_collection.yaml
      • 2.7.2. Convert trainset.in to training_set.yaml
      • 2.7.3. Convert ffield (and params) to parameter_interface.yaml
      • 2.7.4. Using convert.py
    • 2.8. ReaxFF: Training set for cobalt
      • 2.8.1. Weighting of individual entries
      • 2.8.2. General energies, Cluster models and the Co₂ dimer
      • 2.8.3. Description of crystalline phases
      • 2.8.4. Description of Co-surfaces
      • 2.8.5. Adatoms
      • 2.8.6. Vacancies and defects
      • 2.8.7. Elastic strain moduli
    • 2.9. GFN1-xTB: Lithium fluoride
      • 2.9.1. Energy-volume scan reference calculation for LiF
      • 2.9.2. Import the energy-volume scan into ParAMS
      • 2.9.3. Import experimental formation enthalpy into ParAMS
      • 2.9.4. Import experimental F₂ bond length
      • 2.9.5. Job-dependent engine settings (k-space)
      • 2.9.6. Set parameters to optimize and their ranges
      • 2.9.7. Set the optimizer settings
      • 2.9.8. Run the xTB parametrization
      • 2.9.9. Results of the xTB parametrization
    • 2.10. Training and validation sets
      • 2.10.1. Explicit validation set (validation_set.yaml)
        • 2.10.1.1. Validation set settings
        • 2.10.1.2. Run the optimization
        • 2.10.1.3. Training and validation set results
      • 2.10.2. Scripting: Random split of a dataset into training and validation sets
    • 2.11. Restarting (continuing) an optimization
      • 2.11.1. Restarting with the CMAOptimizer
        • 2.11.1.1. Run the first 100 evaluations
        • 2.11.1.2. Continue for another 100 iterations with a restart file
        • 2.11.1.3. Compare to an uninterrupted run of 200 iterations
      • 2.11.2. Restart with other optimizers (e.g. Nelder-Mead from Scipy)
    • 2.12. Calculate reference values with ParAMS
      • 2.12.1. Prerequisites
      • 2.12.2. The input files
        • 2.12.2.1. Training set without reference values (training_set.yaml)
        • 2.12.2.2. Jobs and Engines (job_collection.yaml, job_collection_engines.yaml)
      • 2.12.3. Calculate the reference values
      • 2.12.4. Output files for reference calculations and data
        • 2.12.4.1. The reference.cache folder
        • 2.12.4.2. The training_set.ref.yaml file
    • 2.13. The params Python library
      • 2.13.1. Run an optimization with the Python library
      • 2.13.2. Calculate reference values
      • 2.13.3. Training and validation sets with the Python library
    • 2.14. DFTB repulsive potential
      • 2.14.1. job_collection.yaml and training_set.yaml
      • 2.14.2. Background: znorg-0-1
      • 2.14.3. Parameter interface
      • 2.14.4. Run the parametrization
      • 2.14.5. Results
      • 2.14.6. Modify the analytical repulsive potential
  • 3. ParAMS Main Script
    • 3.1. The Configuration File
      • 3.1.1. Generate a template config file
      • 3.1.2. List of variables in params.conf.py
  • 4. Python Classes and Functions
    • 4.1. Architecture Quick Reference
      • 4.1.1. Diagram
      • 4.1.2. Simple usage of some classes
    • 4.2. Job and Engine Collections
      • 4.2.1. Job Collection
        • 4.2.1.1. Adding Jobs
        • 4.2.1.2. Lookup
        • 4.2.1.3. Removing Entries
        • 4.2.1.4. Renaming Entries
        • 4.2.1.5. Comparison
        • 4.2.1.6. Saving and loading
        • 4.2.1.7. Generating AMSJobs
        • 4.2.1.8. Running Collection Jobs
      • 4.2.2. Engine Collection
      • 4.2.3. Collections API
        • 4.2.3.1. JCEntry
        • 4.2.3.2. JobCollection
        • 4.2.3.3. Engine
        • 4.2.3.4. EngineCollection
        • 4.2.3.5. Collection Base Class
    • 4.3. Data Set
      • 4.3.1. An example DataSet
      • 4.3.2. Load or store DataSet
      • 4.3.3. Adding entries
      • 4.3.4. Demonstration: Working with a DataSet
        • 4.3.4.1. Add an entry
        • 4.3.4.2. DataSetEntry attributes
        • 4.3.4.3. Accessing the DataSet entries
        • 4.3.4.4. Delete a DataSet entry
        • 4.3.4.5. Split a DataSet into subsets
        • 4.3.4.6. DataSet header
        • 4.3.4.7. Save the data set
      • 4.3.5. Calculating and Adding Reference Data with AMS
      • 4.3.6. Calculating the Loss Function Value
      • 4.3.7. Checking for Consistency with a given Job Collection
      • 4.3.8. Sigma vs. weight: What is the difference?
      • 4.3.9. Data Set Entry API
      • 4.3.10. Data Set API
    • 4.4. Extractors and Comparators
      • 4.4.1. Available Extractors
        • 4.4.1.1. Angle
        • 4.4.1.2. Average distance
        • 4.4.1.3. Bulk modulus
        • 4.4.1.4. Cell angles
        • 4.4.1.5. Cell lengths
        • 4.4.1.6. Cell volume
        • 4.4.1.7. Charges
        • 4.4.1.8. Dihedral
        • 4.4.1.9. Distance
        • 4.4.1.10. Distance vector
        • 4.4.1.11. Energy
        • 4.4.1.12. Forces
        • 4.4.1.13. Hessian
        • 4.4.1.14. PES
        • 4.4.1.15. PES compared
        • 4.4.1.16. PESScan angle
        • 4.4.1.17. PESScan dihedral
        • 4.4.1.18. PESScan distance
        • 4.4.1.19. RMSD
        • 4.4.1.20. Shear modulus
        • 4.4.1.21. Stress tensor
        • 4.4.1.22. Stress tensor 1D
        • 4.4.1.23. Stress tensor 2D
        • 4.4.1.24. Stress tensor 3D
        • 4.4.1.25. Stress tensor diagonal 2D
        • 4.4.1.26. Stress tensor diagonal 3D
        • 4.4.1.27. Stress tensor off-diagonal 2D
        • 4.4.1.28. Stress tensor off-diagonal 3D
        • 4.4.1.29. Vibrational frequencies
        • 4.4.1.30. Young modulus
      • 4.4.2. Custom Extractors
      • 4.4.3. Supported Data Structures
      • 4.4.4. Custom Comparators
    • 4.5. Data Set Evaluator
      • 4.5.1. DataSetEvaluator class
        • 4.5.1.1. Example: DataSetEvaluator.calculate_reference()
        • 4.5.1.2. Example: DataSetEvaluator.run()
        • 4.5.1.3. Example: Load a saved DataSetEvaluator
      • 4.5.2. DataSetEvaluator API
    • 4.6. Results Importer
      • 4.6.1. ResultsImporter overview
        • 4.6.1.1. ResultsImporter summary
        • 4.6.1.2. ResultsImporter settings
        • 4.6.1.3. Training set, validation set, etc.
        • 4.6.1.4. Save and load from disk
        • 4.6.1.5. add_singlejob
        • 4.6.1.6. add_trajectory_singlepoints
        • 4.6.1.7. add_reaction_energy
        • 4.6.1.8. add_pesscan_singlepoints
        • 4.6.1.9. add_neb_singlepoints
        • 4.6.1.10. add_pesexploration_singlepoints
      • 4.6.2. AMS, VASP and Quantum ESPRESSO reference data
        • 4.6.2.1. AMS
        • 4.6.2.2. VASP
        • 4.6.2.3. Quantum ESPRESSO
      • 4.6.3. ResultsImporters API
    • 4.7. Parameter Interfaces
      • 4.7.1. Available Parameter Interfaces
        • 4.7.1.1. GFN1-xTB
        • 4.7.1.2. ReaxFF
        • 4.7.1.3. SCC-DFTB repulsive potential
        • 4.7.1.4. Lennard Jones
      • 4.7.2. Parameter Interface Basics
      • 4.7.3. Working with Parameters
      • 4.7.4. The Active Parameters Subset
      • 4.7.5. Storage
        • 4.7.5.1. Lossless Storage
      • 4.7.6. Relation to PLAMS Settings
      • 4.7.7. Parameter API
      • 4.7.8. Interface Base Class API
    • 4.8. Optimizers
      • 4.8.1. CMA-ES
        • 4.8.1.1. List of valid cmasettings
        • 4.8.1.2. References
      • 4.8.2. Scipy
      • 4.8.3. Nevergrad
      • 4.8.4. Adaptive Rate MC
      • 4.8.5. Simple Grid Optimizer
      • 4.8.6. Optimizer Base Class
        • 4.8.6.1. BaseOptimizer API
        • 4.8.6.2. MinimizeResult API
    • 4.9. Optimization
      • 4.9.1. Optimization Setup
      • 4.9.2. Optimization API
    • 4.10. Parallelization
    • 4.11. Constraints
    • 4.12. Callbacks
      • 4.12.1. Default callbacks
      • 4.12.2. Logger
      • 4.12.3. Timeout
      • 4.12.4. Target Value
      • 4.12.5. Maximum Iterations
      • 4.12.6. Early Stopping
      • 4.12.7. Stopfile
      • 4.12.8. Time per Evaluation
      • 4.12.9. Load Average
      • 4.12.10. User-Defined Callbacks
      • 4.12.11. Callback API
    • 4.13. Loss Functions
      • 4.13.1. Specifying the loss function
      • 4.13.2. Technical information
      • 4.13.3. Sum of Squares Error
      • 4.13.4. Sum of Absolute Errors
      • 4.13.5. Mean Absolute Error
      • 4.13.6. Root-Mean-Square Error
      • 4.13.7. Loss Function API
    • 4.14. Utilities
      • 4.14.1. ParAMS Converters
        • 4.14.1.1. AMS Job to Settings
        • 4.14.1.2. AMS Job to Engine
      • 4.14.2. Plotting Functions
      • 4.14.3. Helper functions
      • 4.14.4. Weights schemes
        • 4.14.4.1. Types of weights schemes
        • 4.14.4.2. Examples of weight schemes
        • 4.14.4.3. Weights schemes API
    • 4.15. Experimental Features
      • 4.15.1. Working with Parameter Interfaces
        • 4.15.1.1. Active Parameter Search
      • 4.15.2. Working with Data Sets
        • 4.15.2.1. Data Set Sensitivity
        • 4.15.2.2. Normalization of Data Set Weights
  • 5. Required Citations
  • 6. Frequently Asked Questions
ParAMS
  • Documentation/
  • ParAMS/
  • Parameterization Tools for AMS

Parameterization Tools for AMS¶

Table of contents

  • 1. General
    • 1.1. What is ParAMS?
    • 1.2. What’s new in ParAMS 2022?
    • 1.3. Theory of Parameter Fitting: A Lennard-Jones Example
    • 1.4. General Application
  • 2. Tutorials
    • 2.1. Introduction to parametrization
    • 2.2. Getting Started: Lennard-Jones Potential for Argon
    • 2.3. Import training data (GUI)
    • 2.4. Import training data (Python)
    • 2.5. ReaxFF: Gaseous H₂O
    • 2.6. ReaxFF: Adsorption on ZnS(110)
    • 2.7. ReaxFF: Convert old training sets to ParAMS format
    • 2.8. ReaxFF: Training set for cobalt
    • 2.9. GFN1-xTB: Lithium fluoride
    • 2.10. Training and validation sets
    • 2.11. Restarting (continuing) an optimization
    • 2.12. Calculate reference values with ParAMS
    • 2.13. The params Python library
    • 2.14. DFTB repulsive potential
  • 3. ParAMS Main Script
    • 3.1. The Configuration File
  • 4. Python Classes and Functions
    • 4.1. Architecture Quick Reference
    • 4.2. Job and Engine Collections
    • 4.3. Data Set
    • 4.4. Extractors and Comparators
    • 4.5. Data Set Evaluator
    • 4.6. Results Importer
    • 4.7. Parameter Interfaces
    • 4.8. Optimizers
    • 4.9. Optimization
    • 4.10. Parallelization
    • 4.11. Constraints
    • 4.12. Callbacks
    • 4.13. Loss Functions
    • 4.14. Utilities
    • 4.15. Experimental Features
  • 5. Required Citations
  • 6. Frequently Asked Questions
Next
AMS Modules
Electronic Structure
ADF: molecular DFT Periodic DFT DFTB & MOPAC
Interatomic Potentials
ReaxFF ML Potentials Force Fields
Kinetics
kMC and Microkinetics Bumblebee: OLEDs
Macroscale
COSMO-RS
Application Areas
Research Topics
Batteries Biotechnology Bonding Analysis Catalysis Heavy Elements Inorganic Chemistry Materials Science Nanoscience Oil & Gas OLEDs Perovskites Polymers Semiconductors Spectroscopy
Where to use AMS?
Industry Government Lab National Supercomputer Academic Research Teaching
Tools
Workflows
Conformers OLED workflows Reaction analysis Reaction discovery
AMS Driver
Hybrid Engine Molecular Dynamics Monte Carlo PES Exploration Properties
Python Utilities
ACErxn ParAMS PLAMS pyZacros
Interfaces
GUI VASP Parametrization
Documentation & Support
Downloads Documentation Videos Release notes Changelog Previous releases Webinars Workshops AMS Literature Brochure
Company
About us Careers Contact us Events News Our team Partners & Contributors Projects & Collaborations
Pricing & Licensing
Get a price quote Pricing structure Ordering License terms Resellers FAQ

© SCM – Software Chemistry & Materials 2025 – All Rights Reserved

Privacy Disclaimer Cookies Terms of Use Copyright
Manage Cookie Consent
We use cookies to optimise site functionality and give you the best possible experience.
See our cookie statement for all information.
Functional cookies Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
View preferences
{title} {title} {title}