Skip to content

Get lattice parameters of MOF #483

@KP-303

Description

@KP-303

I would like to generate a MOF and then write this to a cif file. so I can pass it into mofdescribe (the features I want to calculate require the unit cell info). To do this I need info on the periodicity but I don't know how to get this. I generate a MOF using your example code:

Produce a Pd+2 atom with 4 functional groups.

palladium_atom = stk.BuildingBlock(
smiles='[Pd+2]',
functional_groups=(
stk.SingleAtom(stk.Pd(0, charge=2))
for i in range(4)
),
position_matrix=[[0., 0., 0.]],
)

Build a building block with two functional groups using

the SmartsFunctionalGroupFactory.

bb1 = stk.BuildingBlock(
smiles=(
'C1=NC=CC(C2=CC=CC(C3=C'
'C=NC=C3)=C2)=C1'
),
functional_groups=[
stk.SmartsFunctionalGroupFactory(
smarts='[#6][#7X2][#6]',
bonders=(1, ),
deleters=(),
),
],
)

cage1 = stk.ConstructedMolecule(
stk.cage.M2L4Lantern(
building_blocks=(palladium_atom, bb1),
# Ensure that bonds between the
# GenericFunctionalGroups of the ligand and the
# SingleAtom functional groups of the metal are
# dative.
reaction_factory=stk.DativeReactionFactory(
stk.GenericReactionFactory(
bond_orders={
frozenset({
stk.GenericFunctionalGroup,
stk.SingleAtom,
}): 9,
},
),
),
),
)

stk.MolWriter().write(cage1, "test.xyz")

If I understand correctly, it should be possible to get the lattice parameters from this, because I specify a topology when building the MOF, but I don't know how to do it. Maybe the directions of the lattice vectors and their relative lengths, and the angles, are known for each topology, then I can measure the size of the molecule to scale the lattice vectors? I would optimise the structure first. It seems like the organic cage building option gives lattice parameters.

I've read the docs but not found the answer sorry.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions