CAPSChain Assembly and Packing Suite

Run · module 19

Adsorption & sorption

Two Monte Carlo tools on a fixed substrate: the adsorption locator places molecules on a surface or in a pore by simulated annealing; sorption computes solubility, Henry constants and isotherms.

Open it Modules›Analysis›Adsorption locator…

You start with
A substrate (slab, crystal, pore or polymer cell) with a force field, and the adsorbate as SMILES.
You get
Adsorption energies and the lowest configurations; or Widom solubility and a GCMC isotherm.
Adsorption locator: the adsorbates, the search region and the lowest configurations found.

Step by step

  1. Open the substrate and assign its force field

    The substrate is held fixed; only the adsorbates move.

  2. Adsorption locator: add the adsorbates

    Under Adsorbates, Add each as SMILES (for example O=C=O) with its count.

  3. Choose where to search

    Above the substrate's top face (default) or Anywhere in the cell. Cycles 3, steps per cycle 20 000, annealing from 10⁴ K to 100 K.

  4. Press Locate

    The Adsorption energy table gives dE/dN per component; the lowest configurations become frames you can step through.

  5. Gas uptake: open Sorption

    Modules › Analysis › Sorption (gas uptake)…: pick the sorbate (CO₂, CH₄, N₂, O₂, H₂O, He, H₂ or a SMILES) or a mixture, T, Widom insertions and the GCMC pressures, then Compute.

    You get the solubility coefficient, Henry constant, the isotherm (mol/kg, cm³(STP)/cm³, q_st), selectivities for a mixture, and a map of where the sorbate sits.

The same without the Studio

Every Studio page calls the same core as the caps command and the caps Python package, so a step you clicked can be repeated in a script.

import caps

slab = caps.open("slab.data")
slab.field.assign("pcff")
res = slab.adsorption([("O=C=O", 4)], region="above")
print(res["adsorption_energy"])

cell = caps.open("polymer.data")
cell.field.assign("pcff")
iso = cell.sorption("O=C=O", pressures_kpa=(10, 100, 1000))

Where to go next