Skip to content

Basic (not really!) GCMC simulations

Introduction

  • Zeolites are crystalline, microporous aluminosilicate minerals with a unique three-dimensional honeycomb-like structure, widely utilized for their ion-exchange, adsorption, and catalytic properties in various industrial and environmental applications.
  • Among the zeolites, MFI has been well-studied in the porous material community.

Preparations

  • CO2.def
    • This is the molecule definition file
  • MFI-2x2x2-P1.cif
    • This is the definition file in the CIF format for MFI zeolite using a 2x2x2 supecell (Currently only P1 symmetry allowed)
  • force_field_mixing_rules.def
  • pseudo_atoms.def

✍ simulation.input

NumberOfInitializationCycles 5000
NumberOfEquilibrationCycles  0
NumberOfProductionCycles     0

UseMaxStep  no
MaxStepPerCycle 1

NumberOfTrialPositions 10
NumberOfTrialOrientations 10

RestartFile no
RandomSeed  0
NumberOfBlocks 1
AdsorbateAllocateSpace 10240
NumberOfSimulations 1
SingleSimulation yes

InputFileType cif
FrameworkName MFI-2x2x2-P1
UnitCells 0 1 1 1
UseChargesFromCIFFile yes

ChargeMethod Ewald
Temperature 298
Pressure    1e4

OverlapCriteria 1e5
CutOffVDW 12.8
CutOffCoulomb 12.0
EwaldPrecision 1e-6

Component 0 MoleculeName             CO2
            IdealGasRosenbluthWeight 1.0
            FugacityCoefficient      1.0
            TranslationProbability   1.0
            RotationProbability     1.0
            ReinsertionProbability   1.0
            SwapProbability          1.0
            CreateNumberOfMolecules  0
  • This input file tells gRASPA to run a CO2 adsorption GCMC simulation in MFI zeolite at 298 K and 10,000 Pascal.

⭐ Below are some detailed explanations

🚲 Cycles Setup

NumberOfInitializationCycles 5000
NumberOfEquilibrationCycles  0
NumberOfProductionCycles     0
UseMaxStep  no
MaxStepPerCycle 1
  • These lines tells gRASPA to run 5000 cycles in the initialization phase.
  • During initialization or equilibration, no system averages are calculated. Only the production phase gathers averages
  • UseMaxStep no tells gRASPA not to set maximum numbers of steps per cycle
    • 💡 You can use this keyword to tell gRASPA to run in steps instead of cycles by setting UseMaxStep yes and MaxStepPerCycle 1

🧵 CBMC Setup

NumberOfTrialPositions 10
NumberOfTrialOrientations 10
  • NumberOfTrialPositions dictates the number of trial positions for a single bead (e.g. first bead)
  • NumberOfTrialOrientations is for different orientations (e.g. after the first bead is chosen)

📝 General Setup

RestartFile no
RandomSeed  0
NumberOfBlocks 1
AdsorbateAllocateSpace 10240
NumberOfSimulations 1
SingleSimulation yes
  • RestartFile no: whether to use a restart file, if yes, please prepare a restart file with the name RestartInitial/System_0/restartfile
  • RandomSeed 0 sets the random number seed. Prefer an integer.
  • NumberOfBlocks need to delete this line. gRASPA uses 5 blocks by default.
  • AdsorbateAllocateSpace 10240 number of slots allocated on the GPU for an adsorbate species. By 10240, space for 10240 atoms for each adsorbate species is allocated before the simulation starts.
    • 📝 Assign a big value so that you don't have to extend this space every move!
    • 📝 You can also save some space if you know the saturation loading.

🍱 Box/Framework Setup

InputFileType cif
FrameworkName MFI-2x2x2-P1
UnitCells 0 1 1 1
UseChargesFromCIFFile yes
  • UnitCells 0 1 1 1
    • 1st index: tells gRASPA which framework this is.
    • the last three indices: number of unit cells in the x, y, and z directions
  • UseChargesFromCIFFile yes, uses the charges provided in the CIF file. If UseChargesFromCIFFile no, the charges will be taken from pseudo_atoms.def

🌠 Force Field Setup

ChargeMethod Ewald
Temperature 298
Pressure    1e4

OverlapCriteria 1e5
CutOffVDW 12.8
CutOffCoulomb 12.0
EwaldPrecision 1e-6
  • OverlapCriteria 1e5
    • if there is a pairwise energy greater than this (e.g. 1e5), this trial position/orientation is rejected
  • EwaldPrecision 1e-6
    • precision of Ewald summation, larger this value, less precise.

Component 0 MoleculeName             CO2
            IdealGasRosenbluthWeight 1.0
            FugacityCoefficient      1.0
            TranslationProbability   1.0
            RotationProbability     1.0
            ReinsertionProbability   1.0
            SwapProbability          1.0
            CreateNumberOfMolecules  0

⚛ Adsorbate Setup

  • IdealGasRosenbluthWeight 1.0 the rosenbluth weight of the chain molecule in ideal gas at a special temperature
  • FugacityCoefficient 1.0 the fugacity coefficient of the molecule
    • automatic calculation of fugacity coefficient using Peng-Robinson EOS is supported via FugacityCoefficient PR-EOS