Structural Analysis & Manipulation¶
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.