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
andoptim_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 usedrepeat
uses the ESP from a DFT calculation to fit ab initio charges. Don’t forget to specify the dft code inesp_src
so it can find the ESP files.gulp
andegulp
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
andmc_pressure
or individualmc_state_points
. - Gas fugacity should be calculated for high pressure simulations by setting
equation_of_state
topeng-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.
- This is a fairly slow method for getting the surface area, but has some
advantages:
- 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.