CIF handling should be optimized (I)

You can find ample discussion of this on the forum (e.g. from @Thomas in particular) . I welcome suggestions.. there are a few requests on the GitHub issues as well.

The problem is that some CIF are molecules (i.e., give me just the asymmetric unit) and some are solids, in which case people want the primitive cell.

I welcome heuristics to differentiate these use cases. Using the asymmetric unit, with the ability to generate the primitive cell easily is the current default.

If you have a good suggestion for “this CIF should show the primitive cell instead of the asymmetric unit” I’d be happy to implement it (e.g. how to detect a molecule vs. a solid)

I’m not sure what you want it to do. That’s the primitive unit cell. Do you want it to include the redundant edge and corner atoms?

The catch of course with that is exporting to other formats (e.g., calculations) in which primitive is needed and the edge and corner atoms are duplicates.

We can certainly add some command like “Fill Edges and Corners” or something.. Suggestions for wording would be helpful.

It takes any atoms outside of [0, 1] and wraps them into the base unit cell. Perhaps that’s a documentation thing, but I’m not sure why you think that isn’t working?

Please don’t take this as critical - I definitely want to see improvements in how we handle crystal structures, solids and materials.

Hmm. I’ll see why that’s missing. You should be able to download it from https://github.com/psavery/genXrdPattern/releases/download/1.0-static/win64-genXrdPattern.exe