The kmos3 Data Model
This section explains how kmos3 handles and represents a KMC model internally, which is important to know if one wants to write new functionality.
The different functions and front-ends of kmos3 all interact in some way or another with instances
of the Project
class. A Project
instance is a representation of a KMC model. In a render
script you instantiate a Project
and store it as an XML file, while reading in an XML file
instantiates a Project
again. The XML file is validated by kmos3 and if you export source
code, kmos3 runs over the Project
instance and creates the necessary Fortran 90 source code.
So the following things are in a Project:
meta
lattice (layers)
species
parameters
processes
The language used here stems from modeling atomic movement on a fixed or evolving lattice like structure. In a more general context one may rephrase them as :
meta -> information about project
lattice -> geometry
species -> states
parameters
processes -> transitions