def generate_model(): import kmos from kmos.types import \ ConditionAction, \ Coord, \ Layer, \ Parameter, \ Process,\ Project,\ Site, \ Species project = Project() # set meta information model_name = 'test_cli_generated_model' project.meta.author = 'Max J. Hoffmann' project.meta.email = '*****@*****.**' project.meta.model_dimension = '2' project.meta.debug = 0 project.meta.model_name = model_name # add layer project.add_layer( Layer(name='default', sites=[Site(name='cus', pos='0 0.5 0.5')])) project.layer_list.default_layer = 'default' # add species project.add_species(Species(name='oxygen', color='#ff0000')) project.add_species(Species(name='CO', color='#000000')) project.add_species(Species(name='empty', color='#ffffff')) project.species_list.default_species = 'empty' # add parameters project.add_parameter(Parameter(name='p_CO', value=0.2, scale='log')) project.add_parameter(Parameter(name='T', value=500, adjustable=True)) project.add_parameter(Parameter(name='p_O2', value=1.0, adjustable=True)) # add processes cus = Coord(name='cus', layer='default') p = Process(name='CO_adsorption', rate_constant='1000.') p.add_condition(ConditionAction(species='empty', coord=cus)) p.add_action(ConditionAction(species='CO', coord=cus)) project.add_process(p) p = Process(name='CO_desorption', rate_constant='1000.') p.add_condition(ConditionAction(species='CO', coord=cus)) p.add_action(ConditionAction(species='empty', coord=cus)) project.add_process(p) return project
def __init__(self, parent, menubar): self.project_data = ObjectTree([ Column('name', use_markup=True, data_type=str, sorted=True), Column('info') ]) self.project_data.connect('row-activated', self.on_row_activated) self.model_tree = Project() self._set_treeview_hooks() self.menubar = menubar self.set_parent(parent) self.filename = '' self.undo_stack = UndoStack(self.model_tree.__repr__, self.import_xml_file, self.project_data.select, menubar, self.meta, 'Initialization') SlaveDelegate.__init__(self, toplevel=self.project_data)
#!/usr/bin/env python from kmos.types import Project, Condition, Action import numpy as np pt = Project() pt.set_meta(author='StangenMensch', email='*****@*****.**', model_dimension=1, model_name='hopping_model') pt.add_species( name='empty', color='#ffffff', ) pt.add_species(name='C', representation="Atoms('C',[[0,0,0]])", color='#000000') pt.layer_list.cell = np.diag([1., 1., 1.]) pt.add_layer(name='default', color='#ffffff') pt.add_site(layer='default', pos='0 0 0', name='a') coord = pt.layer_list.generate_coord pt.add_process(name='ads', rate_constant='10**6', conditions=[Condition(species='empty', coord=coord('a'))], actions=[Action(species='C', coord=coord('a'))], tof_count={'adsorption': 1})