ThermoLIB Logo

Table of Contents

  • Installation Guide
    • Dependencies
    • Download and install ThermoLIB
      • Direct install using pip
      • Source code download and install
    • Update ThermoLIB
    • Test installation
  • User Guide
    • Constructing 1D histograms & free energy profiles
      • Construct a 1D histrogam …
        • … from a single simulation
        • … from multiple simulations using WHAM
      • Constructing a 1D free energy profile …
        • … using the constructor
        • … reading from a text file
        • … from a histogram
    • Constructing 2D histograms & free energy surfaces
      • Constructing a 2D histogram …
        • … from single simulation
        • … from multiple simulations using WHAM
      • Constructing a 2D free energy surface …
        • … using the constructor
        • … reading from a text file
        • … from a histogram
    • Computing the correlation time
      • Fit to autocorrelation function for single trajectory
      • Compute correlation time for trajectory series
    • Error estimation
      • Without correlations
      • With correlations
    • Plotting histograms and FEP/FES
      • 1D Histograms & free energy profile
      • 2D Histograms & free energy surfaces
    • Extracting micro- and macrostate free energy
    • Computing the reaction rate
    • Transformations of the FEP/FES
      • Deterministic transformation
        • 1 dimensional
        • 2 dimensional
      • Probabilistic transformation
    • (De)projections of the FEP/FES
      • Projecting 2D FES to 1D FEP
      • Deprojecting 1D FEP to 2D FES
  • Tutorials
    • Tutorial 1 - Construction of 1D free energy profile using WHAM
      • Introduction
      • WHAM without error estimation
      • WHAM with error estimation
      • Defining macrostates and microstates
    • Tutorial 2 - Extracting kinetic reaction rates in 1D
      • Introduction
      • Construct free energy profile
      • Compute rate prefactor
      • Add kinetic information to FEP plot
    • Tutorial 3 - Construction of 2D free energy surface using WHAM
      • Introduction
      • 2D WHAM without error estimation
      • 2D WHAM with error estimate
      • Alternative plotting
    • Tutorial 4 - Advanced techniques in error estimation
      • Introduction
      • Impact correlation between samples on FEP
      • Estimating the autocorrelation time
      • Constructing the FEP with correlated error estimate
      • Evaluating the correlated error estimate
        • Delayed-strided WHAM profiles
        • Blocked WHAM profile
        • Bootstrapped WHAM profiles
      • Covariance between different points on FEP
      • Error propagation
    • Tutorial 5 - Projection of 2D FES to 1D FEP with error propagation
      • Introduction
      • Constructing 2D FES
      • Projection onto 1D profile
        • Along predefined direction
        • Along any custom direction
      • Error propagation
        • Deal with the unsufficiently sampled edges of phase space in FES projection
    • Tutorial 6 - Deprojection to extract energetic contribution to free energy
      • Introduction
      • Construct 1D FEP
      • Deproject to 2D FES
        • Direct route - 2D WHAM
        • Indirect route - deproject 1D FEP
        • CONSISTENCY CHECK: project 2D FES to 1D FEP
      • U(CV) profile
        • Method 1 - from 2D FES
        • Method 2 - from conditional probability
        • comparison
    • Tutorial 7 - Transformations of 1D FEP and kinetics
      • Introduction
      • FEP and rate with original CV
      • FEP and rate in terms of alternative CV
    • Tutorial 8 - Transformation of 2D free energy surfaces
      • Introduction
      • Construction of original 2D FES
      • Transformation to new CVs
      • Projection comparison
  • Reference Guide
    • Thermodynamics – thermolib.thermodynamics
      • Free energy profiles – thermolib.thermodynamics.fep
        • BaseFreeEnergyProfile
        • BaseProfile
        • FreeEnergySurface2D
        • SimpleFreeEnergyProfile
        • plot_profiles()
      • Histograms – thermolib.thermodynamics.histogram
        • Histogram1D
        • Histogram2D
        • plot_histograms()
      • Trajectory readers – thermolib.thermodynamics.trajectory
        • ASEExtendedXYZReader
        • CVComputer
        • ColVarReader
        • HDF5Reader
      • Bias potentials – thermolib.thermodynamics.bias
        • BiasPotential1D
        • BiasPotential2D
        • MultipleBiasses1D
        • Parabola1D
        • Parabola2D
        • PlumedSplinePotential1D
        • Polynomial1D
      • Collective variables – thermolib.thermodynamics.cv
        • Average
        • CenterOfMass
        • CenterOfPosition
        • CoordinationNumber
        • Difference
        • DistOrthProjOrig
        • Distance
        • DistanceCOP
        • DotProduct
        • LinearCombination
        • Minimum
        • NormalToPlane
        • NormalizedAxis
        • OrthogonalDistanceToPore
      • State – thermolib.thermodynamics.state
        • Integrate
        • Maximum
        • Minimum
      • Conditional probability – thermolib.thermodynamics.condprob
        • ConditionalProbability1D1D
        • ConditionalProbability1D2D
    • Kinetics – thermolib.kinetics
      • Rate constant – thermolib.kinetics.rate
        • BaseRateFactor
        • RateFactorEquilibrium
    • Error distributions – thermolib.error
      • ErrorArray
        • ErrorArray.mean()
        • ErrorArray.nsigma_conf_int()
        • ErrorArray.sample()
        • ErrorArray.std()
      • GaussianDistribution
        • GaussianDistribution.copy()
        • GaussianDistribution.from_samples()
        • GaussianDistribution.log_from_loggaussian()
        • GaussianDistribution.mean()
        • GaussianDistribution.nsigma_conf_int()
        • GaussianDistribution.print()
        • GaussianDistribution.sample()
        • GaussianDistribution.set_ref()
        • GaussianDistribution.shift()
        • GaussianDistribution.std()
      • LogGaussianDistribution
        • LogGaussianDistribution.copy()
        • LogGaussianDistribution.exp_from_gaussian()
        • LogGaussianDistribution.from_samples()
        • LogGaussianDistribution.mean()
        • LogGaussianDistribution.nsigma_conf_int()
        • LogGaussianDistribution.sample()
        • LogGaussianDistribution.set_ref()
        • LogGaussianDistribution.shift()
        • LogGaussianDistribution.std()
      • MultiDistribution
        • MultiDistribution.corr()
      • MultiGaussianDistribution
        • MultiGaussianDistribution.copy()
        • MultiGaussianDistribution.cov()
        • MultiGaussianDistribution.from_samples()
        • MultiGaussianDistribution.log_from_loggaussian()
        • MultiGaussianDistribution.mean()
        • MultiGaussianDistribution.nsigma_conf_int()
        • MultiGaussianDistribution.plot_corr_matrix()
        • MultiGaussianDistribution.sample()
        • MultiGaussianDistribution.set_ref()
        • MultiGaussianDistribution.std()
      • MultiLogGaussianDistribution
        • MultiLogGaussianDistribution.copy()
        • MultiLogGaussianDistribution.cov()
        • MultiLogGaussianDistribution.exp_from_gaussian()
        • MultiLogGaussianDistribution.from_samples()
        • MultiLogGaussianDistribution.mean()
        • MultiLogGaussianDistribution.nsigma_conf_int()
        • MultiLogGaussianDistribution.plot_corr_matrix()
        • MultiLogGaussianDistribution.sample()
        • MultiLogGaussianDistribution.std()
      • Propagator
        • Propagator.calc_fun_values()
        • Propagator.gen_args_samples()
        • Propagator.get_distribution()
        • Propagator.reset()
      • SampleDistribution
        • SampleDistribution.from_samples()
        • SampleDistribution.mean()
        • SampleDistribution.sample()
        • SampleDistribution.set_ref()
        • SampleDistribution.shift()
        • SampleDistribution.std()
    • Tools – thermolib.tools
      • blav()
      • corrtime_from_acf()
      • decorrelate()
      • extract_polynomial_bias_info()
      • fisher_matrix_mle_probdens()
      • format_scientific()
      • h5_read_dataset()
      • integrate()
      • integrate2d()
      • interpolate_surface_2d()
      • invert_fisher_to_covariance()
      • multivariate_normal()
      • plot_histograms_1d()
      • plot_histograms_overlap_1d()
      • read_wham_input()
      • rolling_average()
    • Extensions – thermolib.ext
      • wham1d_bias()
      • wham1d_error()
      • wham1d_hs()
      • wham1d_scf()
      • wham2d_bias()
      • wham2d_error()
      • wham2d_hs()
      • wham2d_scf()
ThermoLIB
  • User Guide
  • View page source

User Guide

In this user guide we will outline how to use the various features of ThermoLIB, ranging from constructing free energy profiles/surfaces to transforming/(de)projecting them, extracting thermodynamic properties as well as computing kinetic reaction rates. Some code blocks you see in this user guide will return in the various tutorials that are also provided.

This guide will cover

  • Constructing 1D histograms & free energy profiles
    • Construct a 1D histrogam …
    • Constructing a 1D free energy profile …
  • Constructing 2D histograms & free energy surfaces
    • Constructing a 2D histogram …
    • Constructing a 2D free energy surface …
  • Computing the correlation time
    • Fit to autocorrelation function for single trajectory
    • Compute correlation time for trajectory series
  • Error estimation
    • Without correlations
    • With correlations
  • Plotting histograms and FEP/FES
    • 1D Histograms & free energy profile
    • 2D Histograms & free energy surfaces
  • Extracting micro- and macrostate free energy
  • Computing the reaction rate
  • Transformations of the FEP/FES
    • Deterministic transformation
    • Probabilistic transformation
  • (De)projections of the FEP/FES
    • Projecting 2D FES to 1D FEP
    • Deprojecting 1D FEP to 2D FES
Previous Next

© Copyright 2026, Louis Vanduyfhuys.

Built with Sphinx using a theme provided by Read the Docs.