I am trying to create an $\ce{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) 



But the structure given in the paper has five surfaces as shown: LiFePO4_Wang et.al.

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
  • 1
    $\begingroup$ Welcome to the site! It will help other users to answer your question if you include the code you used to generate your figure. $\endgroup$
    – Tyberius
    Commented Jul 15, 2021 at 2:02
  • $\begingroup$ 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). $\endgroup$
    – Tyberius
    Commented Jul 15, 2021 at 21:07
  • $\begingroup$ @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! $\endgroup$
    – chatte22
    Commented Jul 16, 2021 at 17:11
  • $\begingroup$ 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. $\endgroup$
    – Tyberius
    Commented Jul 16, 2021 at 18:33
  • $\begingroup$ @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. $\endgroup$
    – chatte22
    Commented Jul 17, 2021 at 15:51