MOF Builder

MOF Builder#

mof = vlx.MofBuilder()

There are saeveral predefined families of MOFs defined in VeloxChem.

mof.show_available_mof_families()
Available MOF Family:
UiO-66 UiO-67 UiO-68 PCN-222 MOF-545 NU-1000 PCN-224 MOF-525 MOF-535 MOF-808 MOF-818 PCN-777 NU-901 MIL-100 PCN-228 PCN-229 PCN-230 MIL-101

To build a target MOF, you need to:

  1. Assign MOF family.

  2. Assign the node metal type.

  3. Specify the name of the file containing the linker in xyz-format.

  4. Set the supercell size, where (1,1,1) refers to the primitive cell.

mof.mof_family = "UiO-66"
mof.node_metal = "Zr"
mof.linker_xyz_file = "../input_files/linker.xyz"
mof.supercell = (1, 1, 1)
mof.build()
mof.show(residue_indices=True, residue_names=False)
node_res_num:  14
edge_res_num:  36
term_res_num:  96

3Dmol.js failed to load for some reason. Please check your browser console for error messages.

We can introduce defects by removing linkers or nodes. As an example, let us remove the four linkers facing the viewer.

mof.remove(linkers=[18, 24, 30, 36], update_node_termination=True)
mof.show(residue_indices=True)
node_res_num:  14
edge_res_num:  32
term_res_num:  104

3Dmol.js failed to load for some reason. Please check your browser console for error messages.

Input files can be written for subsequent molecular dynamics simulations using GROMACS.

mof.write_gromacs_files()