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 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
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}) pt.add_process(name='des', rate_constant='10**6', conditions=[Condition(species='C', coord=coord('a'))],
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}) pt.add_process(name='des', rate_constant='10**6', conditions=[Condition(species='C', coord=coord('a'))], actions=[Action(species='empty', coord=coord('a'))], tof_count={'desorption': 1})
model_dimension=2 ) # Species pt.add_species( Species(name='empty', color='#d3d3d3'), Species(name='ion', color='#0000ff', representation="Atoms('Si')"), Species(name='source', color='#00ff00', representation="Atoms('Au')"), Species(name='drain', color='#ff0000', representation="Atoms('Ag')") ) pt.species_list.default_species = 'empty' # Layer and Coordinates layer = Layer(name='simple_cubic') layer.add_site(Site(name='hollow', pos='0.5 0.5 0.5')) pt.add_layer(layer) center = pt.lattice.generate_coord('hollow') bottom = pt.lattice.generate_coord('hollow.(0,-1,0)') top = pt.lattice.generate_coord('hollow.(0,+1,0)') left = pt.lattice.generate_coord('hollow.(-1,0,0)') right = pt.lattice.generate_coord('hollow.(+1,0,0)') # Parameters pt.add_parameter(name='E0', value=0.5) pt.add_parameter(name='T', value=300) pt.add_parameter(name='eps_f', value=0.0, adjustable=True, min=-0.05, max=0.05) pt.add_parameter(name='e_int', value=0.002, adjustable=True, min=0.00, max=0.01) pt.add_parameter(name='thetaS', value=1.0, adjustable=True, min=0.0, max=1.0) pt.add_parameter(name='thetaD', value=0.0, adjustable=True, min=0.0, max=1.0)
import numpy as np from kmos.types import Project, Site, Condition, Action pt = Project() pt.set_meta(author="LotkaVolterra", email='*****@*****.**', model_name='lotka_volterra_model', model_dimension=2) pt.add_species(name='empty') pt.add_species(name='A', representation="Atoms('O')") pt.add_species(name='B', representation="Atoms('C')") layer = pt.add_layer(name='sc') pt.lattice.cell = np.diag([3.5, 3.5, 10]) layer.sites.append(Site(name='site', pos='.5 .5 .5')) pt.add_parameter(name='k1', value='1000000.', adjustable=True, min=0., max=100.) pt.add_parameter(name='k2', value=3.65, adjustable=True, min=0., max=100.) pt.add_parameter(name='k3', value=1.1, adjustable=True, min=0., max=100.) pt.add_parameter(name='zeta', value='0.06', adjustable=True, min=0., max=1.) pt.parse_and_add_process('AA_creation1; A@site + empty@site.(1, 0, 0) -> A@site + A@site.(1,0,0); k1') pt.parse_and_add_process('AA_creation2; A@site + empty@site.(-1, 0, 0) -> A@site + A@site.(-1,0,0); k1')
import numpy as np from kmos.types import Project, Site, Condition, Action pt = Project() pt.set_meta(author="Ziff,Gulari,Barshad", email='*****@*****.**', model_name='zgb_model', model_dimension=2) pt.add_species(name='empty', color='#ffffff') pt.add_species(name='CO', representation="Atoms('C')", color='#000000') pt.add_species(name='O', representation="Atoms('O')", color='#ff0000') layer = pt.add_layer(name='sc') pt.lattice.cell = np.diag([3.5, 3.5, 10]) layer.sites.append(Site(name='site', pos='.5 .5 .5')) pt.add_parameter(name='yCO', value='0.45', adjustable=True, min=0., max=1.) pt.parse_and_add_process('CO_adsorption; empty@site -> CO@site; yCO') pt.parse_and_add_process( 'O2_adsorption1; empty@site + empty@site.(1, 0, 0) -> O@site + O@site.(1,0,0); (1 - yCO)/2.' ) pt.parse_and_add_process( 'O2_adsorption2; empty@site + empty@site.(0, 1, 0) -> O@site + O@site.(0,1,0); (1 - yCO)/2.' )
email='*****@*****.**', model_name='LGD_lateral', model_dimension=2) # Species pt.add_species( Species(name='empty', color='#d3d3d3'), Species(name='ion', color='#0000ff', representation="Atoms('Si')"), Species(name='source', color='#00ff00', representation="Atoms('Au')"), Species(name='drain', color='#ff0000', representation="Atoms('Ag')")) pt.species_list.default_species = 'empty' # Layer and Coordinates layer = Layer(name='simple_cubic') layer.add_site(Site(name='hollow', pos='0.5 0.5 0.5')) pt.add_layer(layer) center = pt.lattice.generate_coord('hollow') bottom = pt.lattice.generate_coord('hollow.(0,-1,0)') top = pt.lattice.generate_coord('hollow.(0,+1,0)') left = pt.lattice.generate_coord('hollow.(-1,0,0)') right = pt.lattice.generate_coord('hollow.(+1,0,0)') # Parameters pt.add_parameter(name='E0', value=0.5) pt.add_parameter(name='T', value=300) pt.add_parameter(name='eps_f', value=0.0, adjustable=True, min=-0.05, max=0.05) pt.add_parameter(name='e_int', value=0.002, adjustable=True, min=0.00,