Available Modules

Faps is designed to interface with a number of different computational chemistry packages to carry out different stages of an isotherm calculation. This broad overview arranges what is available by the type of calculation.

Structure reading

Several different chemical file formats can be read in as the initial structure. The crystallographic information format (CIF) is able to carry all the custom information for faps features that may be missing in other formats, so this is the recommended format.

Force field optimisation

In structures where there may be large strains or if the structure has been constructed from scratch, then force field optimisation can be used to reduce the initial strains and relax the structure. This is off by default as it is only useful with poor initial structures.

  • The structure must include atom typing and bonding information. This is only supported for .cif files!

    • Bonding information can be generated by Materials Studio or added in the Materials Studio format with a code like fapswitch, or by hand. Minimally, the atom sites and bond types are needed.

      loop_
      _geom_bond_atom_site_label_1
      _geom_bond_atom_site_label_2
      _ccdc_geom_bond_type
      C108  H51   S
      C31   O7    A
      
    • Atom types must be added to the atom information. In the _atom_site_description field. Atoms should be assigned their types based on UFF atom typing.

      loop_
      _atom_site_label
      _atom_site_type_symbol
      _atom_site_description
      _atom_site_fract_x
      _atom_site_fract_y
      _atom_site_fract_z
      C1    C     C_R   0.332090 0.631570 0.078270
      O52   O     O_2   0.631570 0.332090 0.958070
      
    • If no atom typing is found, faps will attempt to derive the atom types from the bonding information. The bonding information must be correct if no atom typing information is found, and you should always check the output.

  • Enable force field optimisations with no_force_field_opt = False

  • ff_opt_code selects the optimisers from:

    • gulp optimises atoms and cell shape using the in built in UFF optimiser in the GULP software package. Metal atoms and nearest neighbours are fixed in fractional coordinates.
    • gromacs faster alternative, optimises cell parameters through NPT simulation rather than directly.

DFT calculations

Density functional theory (DFT) can be applied to the system to do a combination of structure optimisation at a high level of theory, and generation of an electrostatic potential.

  • Running a dft calculation will always produce an ESP
  • Interfaces exist for vasp and siesta, as set by dft_code:
    • vasp is well tested and high quality calculation.
    • siesta uses atom centre basis sets for faster calculation of large systems, but at the cost of lower accuracy.
  • optim_h, optim_all and optim_cell control which parts of the structure to optimise.

Charge calculation

The ESP from a DFT calculation can be used to fit charges with the REPEAT method, or more empirical partial charges can be calculated.

  • charge_method sets the code to be used
    • repeat uses the ESP from a DFT calculation to fit ab initio charges. Don’t forget to specify the dft code in esp_src so it can find the ESP files.
    • gulp and egulp both use the charge equilibration (QEq) method to calculate charges.

Monte Carlo calculation

Grand canonical Monte Carlo calculations can be performed on the structure with the fastmc code. These are used to measure the gas uptake and generate isotherm and binding site data.

  • Each calculation is limited to a single set of guests (make copies of the .niss file to run different guests!)
  • Set isotherms with mc_temperature and mc_pressure or individual mc_state_points.
  • Gas fugacity should be calculated for high pressure simulations by setting equation_of_state to peng-robinson.

Binding site location

If probability plotting is turned on in the GCMC, binding sites can be identified and ranked according to occupation and energy.

  • Guest molecules are aligned with the maxima in a smoothed probability plot.
  • Energies are calcualted with DL_POLY.
  • Use a high number of production steps in the GCMC for better quality binding sites
  • Don’t do it for every point on an isotherm!

Geometric properties

Several geometric properties can be calculated internally or with other codes.

  • Setting any values for surface_area_probe will use the internal surface area calculation method.
    • This is a fairly slow method for getting the surface area, but has some advantages:
      • Hydrophobic surface areas are calculated with this method.
      • Setting surface_area_probe will make an xyz file that identifies the atom and charge associated with each point on the surface.
  • Zeo++ will be used (if available) to calculate surface areas, pore volumes and void fractions.
    • Probe radii are taken from the guest definitions and a helium probe is always used.
    • Zeo++ void volumes are used in the calculation of excess adsorption.