Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

MOF Builder

mof = vlx.MofBuilder()

There are several 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
Loading...

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
Loading...

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

mof.write_gromacs_files()