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.
Step by step
Open the substrate and assign its force field
The substrate is held fixed; only the adsorbates move.
Adsorption locator: add the adsorbates
Under Adsorbates, Add each as SMILES (for example
O=C=O) with its count.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.
Press Locate
The Adsorption energy table gives dE/dN per component; the lowest configurations become frames you can step through.
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))