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
.ciffiles!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_descriptionfield. 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 = Falseff_opt_codeselects the optimisers from:gulpoptimises 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.gromacsfaster 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:vaspis well tested and high quality calculation.siestauses atom centre basis sets for faster calculation of large systems, but at the cost of lower accuracy.
optim_h,optim_allandoptim_cellcontrol 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_methodsets the code to be usedrepeatuses the ESP from a DFT calculation to fit ab initio charges. Don’t forget to specify the dft code inesp_srcso it can find the ESP files.gulpandegulpboth 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
.nissfile to run different guests!) - Set isotherms with
mc_temperatureandmc_pressureor individualmc_state_points. - Gas fugacity should be calculated for high pressure simulations by setting
equation_of_statetopeng-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_probewill 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_probewill 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.