Structural Analysis

structure_analysis.svg

Flowchart showing the relations between the different classes of the strct subpackage.

The central object storing all structural information is the Structure object (more details). Due to the initial high-throughput background of this library, one usually works with multiple structures and not a single one. To avoid frequent implementations of loops by the user to call methods on all the structures, we provide the StructureOperations and StructureCollection classes to wrap analysis and manipulation methods and as a datacontainer for multiple structures, respectively (more details).

The StructureImporter class has the purpose to “obtain” input structures and as such it acts as an interface to online databases but also offers the capability to randomly generate crystals (more details). Last but not least, the SurfaceGeneration class aims to create surface related structures and data (more details).

Note

All classes in the structure_analysis subpackage underly the principle of object-oriented programming. The StructureCollection, StructureImporter and StructureOperations classes wrap one or several Structure instances. If the Structure objects are changed outside of these classes it can affect their functionality.

In order to avoid interferences one can use the copy of the Structure object function to create an unrelated deepcopy of the object.