# Constructing an anisotropic crystal in WulffPack

I am trying to create an LiFePO4 crystal in WulffPack. I have the surface energies of seven different surfaces from the paper [1]. When I input the same to WulffPack, it creates a structure comprising of just the lowest energy surface, as shown:

from wulffpack import SingleCrystal
from ase.io import write
from ase.build import bulk

surface_energies = {(1, 0, 0): 0.66, (0, 1, 0): 0.64,(0, 0, 1): 0.97,
(1, 0, 1): 0.62, (0, 1, 1): 0.76,(1, 1, 0): 1.30,
(1, 1, 1): 0.85, (2, 0, 1): 0.52, (3, 0, 1): 0.62}

prim = bulk('Li', 'orthorhombic', a=10.4363, b=6.0491, c=4.7546)
particle = SingleCrystal(surface_energies, prim)

particle.view()
particle.write('LFP.obj')


But the structure given in the paper has five surfaces as shown:

I am not able to understand why there is a difference, or where I am making a mistake. I would appreciate any kind of help related to this. Thanks!

1. First-principles study of surface properties of LiFePO4: Surface energy, structure, Wulff shape, and surface redox potential October 2007 Physical Review B 76(16):165435 DOI: 10.1103/PhysRevB.76.165435
• Welcome to the site! It will help other users to answer your question if you include the code you used to generate your figure.
– Tyberius
Jul 15 at 2:02
• When I tried your code, I got a different result, but it still did not match the paper. I don't know much about these Wulff shapes, but will it be affected by specifying all the atoms in the crystal? As of now, you are just using $\ce{Li}$ in specifying the bulk crystal; do you need to include the other elements somehow (I found that bulk will only accept a single element, but ASE likely has ways of specifying a more general crystal).
– Tyberius
Jul 15 at 21:07
• @Tyberius yes, the code I have shared creates a structure in Wulffpack containing the (001) surface which has high surface energy. Also, the (100) surface is missing, which has much lower energy than (001). I tried creating the same in Wulffman, there the (001) surface was not part of the structure but again, (100) was missing. I too think that the issue lies with specifying all atoms in the crystal and not just Li, but couldn't find anything in the ASE documentation. Would be great if I could get some leads on this! Jul 16 at 17:11
• This might be what you are looking for: wiki.fysik.dtu.dk/ase/ase/spacegroup/spacegroup.html. Since you know the formula, spacegroup, and parameters, all you should need is the basis.
– Tyberius
Jul 16 at 18:33
• @Tyberius thank you so much! I can visualize the atoms using ase.spacegroup.crystal but I'm not able to incorporate it into ase.build.bulk. Looks like it accepts only single atoms already present in its database, and not custom-made crystal structures. Jul 17 at 15:51