The full Simmate guides & API reference¶
Before you begin¶
To get started, make sure you have either completed our introductory tutorials or are comfortable with python.
Organization of guides vs. code¶
Though we try to keep the organization of our guides and code as close as possible, they do not exactly follow the same structure. We learned over time that code/guide organization needs to be handled separately to help new users begin using Simmate without having mastered all of it components.
documentation¶
We try to organize our guides in order of progressing difficulty. This also matches the way in which most users will begin to work with Simmate—namely, beginning with the highest-level features (the website interface) and progressing towards the lowest-level features (the toolkit and python objects). The documentation therefore proceeds in the following sequence.
graph LR
A[Website] --> B[Workflows];
B --> C[Database];
C --> D[Toolkit];
D --> E[Extras];
Tip
Advanced topics are located at the end of each section. Unlike the getting-started guides, you do not need to complete a section in order to move on to the next one.
python modules¶
simmate
is the base module and contains all of the code that our package runs on. Within each subfolder (i.e., each python “module”), you’ll find more details on its contents.
These modules are:
apps
= each runs a specific analysis or third-party program (e.g., VASP, which runs DFT calculations)command_line
= common functions that are available as commands in the terminalconfiguration
= default Simmate settings and methods to change themdatabase
= defines the structure of data tables and the methods to access the tablesengine
= tools that run calculations and handle errorsfile_converters
= methods to convert between filetypes (e.g., POSCAR to CIF)toolkit
= core methods and classes for Simmate (e.g. theStructure
class)utilities
= simple functions that are used throughout other modulesvisualization
= methods to visualize structures and datawebsite
= runs the simmate.org websiteworkflows
= tools that define each calculation type (e.g., a structure optimization)
There is also one extra file…
conftest
= this runs Simmate tests and is only for contributing devs