Giter VIP home page Giter VIP logo

kmos's People

Contributors

andreas-garhammer avatar gitter-badger avatar jmlorenzi avatar mhoffman avatar mieand avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kmos's Issues

my first kMC model-name.offset.lattice

I try the first model following the guide. however, after the step of name.offset.lattice,ipython showed an error:
NameError Traceback (most recent call last)
in ()
----> 1 name.offset.lattice

NameError: name 'name' is not defined

Viewer: plotting stops after a while

Hey,

When running the model from the tutorial in the documentation (CO adsorption/desorption), the plotting always stops (the lines on the graph disappear) after around 1.3e+07 steps (the simulation keeps running though). The time axis also suddenly changes to the interval <-0.0724...-0.0704> (yes, negative).

This might have something to do with the following warnings which are generated when starting kmos view:

/usr/lib/pymodules/python2.6/matplotlib/backends/backend_gtk.py:621: DeprecationWarning: Use the new widget gtk.Tooltip
self.tooltips = gtk.Tooltips()

/usr/lib/pymodules/python2.6/matplotlib/axes.py:4014: UserWarning: No labeled objects found. Use label='...' kwarg on individual plots. warnings.warn("No labeled objects found. "

Explicit output of kmc trajectory?

Hi, after a quick reading the documentation and playing with simple models, I am still not clear about a few important things:

  1. how can we specify the total running time?
  2. is it possible to explicitly output kmc traectory? I mean, coverage, TOF etc. along with time. Or can we output explicit value of time-averaged coverage and TOF? Curently I know only "kmos view" gives instance coverage in plot while I am interested in explicit values of coverage, TOF.

Thank you very much!

.bumpversion.cfg

Why is the version number in that file in the develop branch behind the master branch?
Is that expected behaviour? I would have expected either that they match or the reverse...

I am asking this because I am trying to improve my git-workflow and I think develop lagging behind master complicates this. I.e.

branch hotfix-branch from master
... fix bug ...
merge hotfix-branch into master
merge hotfix-branch into develop ## Here git will want to also bump the version

Cheers,
Juan

No command 'kmos' found

Expected behavior

kmos export myfirst_kmc.xml
After successful exporting, there is folder, but now there is nothing.
The kmos has installed successfully.

Actual behavior

No command 'kmos' found, did you mean:
Command 'kmod' from package 'kmod' (main)
Command 'kmds' from package 'seer' (universe)
kmos: command not found

I don't know how to figure it out?

//: # (Besides the text description, include any screenshot(s) that help us visualize the issue you're facing)

Steps to reproduce the issue

System information

  • result of kmos version, operating system, version, python version, possibly link to model file

No kmc_module.so generated after compiling with no errors ... errors when running kmos view

I followed the instructions to start my_first KMC model. While I can generate the .xml file by running the python script from ipython, that looks OK, when I compile it by typing in the command line "kmos export myfirst_kmc.xml", I see a new directory 'myfirst_kmc_local_smart/' generated, that has a 'src' directory.

The 'src' has files:
assert.ppc kind_values.f90 lattice.f90 proclist.f90
base.f90 kmc_settings.py main.f90

I do not see a kmc_model.so file anywhere. So, when I run the 'kmos view' command from directory 'myfirst_kmc_local_smart/', I get errors such as this:

** (process:47145): WARNING **: Trying to register gtype 'GMountMountFlags' as enum when in fact it is of type 'GFlags'

** (process:47145): WARNING **: Trying to register gtype 'GDriveStartFlags' as enum when in fact it is of type 'GFlags'

** (process:47145): WARNING **: Trying to register gtype 'GSocketMsgFlags' as enum when in fact it is of type 'GFlags'
Could not import matplotlib frontend for real-time plotting
No module named _backend_gdk
Error: No module named kmc_model
Could not find the kmc module. The kmc implements the actual
kmc model. This can be created from a kmos xml file using
kmos export
Hint: are you in a directory containing a compiled kMC model?

Error No module named kmc_settings
Could import settings file
The kmc_settings.py contains all changeable model parameters
and descriptions for the representation on screen.
Hint: are you in a directory containing a compiled kMC model?

Traceback (most recent call last):
File "/Users/g5q/Library/Python/2.7/bin/kmos", line 21, in
main()
File "/Users/g5q/Library/Python/2.7/lib/python/site-packages/kmos/cli.py", line 426, in main
view.main(steps_per_frame=options.steps_per_frame)
File "/Users/g5q/Library/Python/2.7/lib/python/site-packages/kmos/view.py", line 452, in main
viewer = KMC_Viewer(model, steps_per_frame=steps_per_frame)
File "/Users/g5q/Library/Python/2.7/lib/python/site-packages/kmos/view.py", line 398, in init
self.vbox, self.window)
File "/Users/g5q/Library/Python/2.7/lib/python/site-packages/kmos/view.py", line 190, in init
self.tofs = get_tof_names()
File "/Users/g5q/Library/Python/2.7/lib/python/site-packages/kmos/run.py", line 1996, in get_tof_names
for process, tof_count in settings.tof_count.iteritems():
AttributeError: 'NoneType' object has no attribute 'tof_count'

Problem using model dimension of 1 in lat_int

Hey Max,

I would like to run a model with a dimension of just 1, but I see some unexpected behaviour in lat_int compared to local_smart.

In the standard CO oxidation on RuO2 example the following script:

from kmos.run import KMC_Model
model = KMC_Model(print_rates=False, banner=False, size=[1,2])
model.do_steps(10)

runs fine in local_smart, but I get an error related to trying to remove a species that is not there in lat_int. It looks like, after running some steps, the processes that are listed in proclist gets out of sync with the occupations on the lattice.

I have tested a couple of models and two different versions of the development branch (one from June and one from February). All models show the same behaviour, but it varies how mane steps I can run before the error occurs (a few models actually look like they are running correctly).

In principle, I think the above example ought to work, since the cell is big enough that there are no second order processes that would involve the same site in different cells. Do you have any idea what could be going on with lat_int?

Best,
Mie

Warnings when starting the editor and difficulties setting lattice sites

Hey Max,

So I installed the latest version (779da73) and tried out the editor.
First, starting the editor, the following warnings are shown in the terminal:

/usr/lib/pymodules/python2.6/gazpacho/loader/loader.py:496: DeprecationWarning: functions overriding warnings.showwarning() must support the 'line' argument
self._tooltips = gtk.Tooltips()

/home/maxime/.local/lib/python2.6/site-packages/kmos/kmc_editor.glade:???: DeprecationWarning: while loading glade file: Use the new widget gtk.Tooltip

/usr/lib/pymodules/python2.6/gazpacho/loader/loader.py:497: DeprecationWarning: functions overriding warnings.showwarning() must support the 'line' argument
self._tooltips.enable()

/home/maxime/.local/lib/python2.6/site-packages/kmos/kmc_editor.glade:???: DeprecationWarning: while loading glade file: Use the new widget gtk.Tooltip

/usr/lib/pymodules/python2.6/kiwi/ui/objectlist.py:906: DeprecationWarning: functions overriding warnings.showwarning() must support the 'line' argument
self._tooltips = gtk.Tooltips()

/home/maxime/.local/lib/python2.6/site-packages/kmos/kmc_editor.glade:???: DeprecationWarning: while loading glade file: Use the new widget gtk.Tooltip

In the editor, something that I think is not working as it should (at least, on my computer (Ubuntu 10.04 Lucid Lynx)), is the depiction and definition of a lattice and its sites.

For example, when I add a lattice called Pt(111), give it a colour, there's a small white square appearing in the middle of the field, OK. When I click in the field, a window appears asking me a name and coordinates and default species (which concerns the sites, I guess), and when I give it a name and some coordinates like (0.5,0.5,0.5), nine white circles appear in 3x3-square arrangement centered around the point where I clicked.
Every time I do this, the following error is shown in the terminal (somethies its 'illegal attribute y' or 'z' insteead of 'x')

Traceback (most recent call last):
File "/usr/lib/pymodules/python2.6/kiwi/ui/proxy.py", line 214, in _on_widget__content_changed
ksetattr(model, attribute, value)
File "/usr/lib/pymodules/python2.6/kiwi/accessor.py", line 453, in ksetattr
setattr(model, data2, value)
File "/home/maxime/.local/lib/python2.6/site-packages/kmos/types.py", line 45, in setattr
% attrname)
AttributeError: Tried to set illegal attribute x

Hope this make sense to you;

greets,

Maxime

error while running kmos view

Expected behavior

I expected a GUI to pop up.

Actual behavior

Instead I got this error:

mac95467:myfirst_kmc_local_smart g5q$ kmos view
Warning: GTK not available. Cannot run graphical front-end
No module named gtk
Could not import matplotlib frontend for real-time plotting
Gtk* backend requires pygtk to be installed.
kiwi Validation not working.
RuntimeError: module compiled against API version 0xa but this version of numpy is 0x9
Error: numpy.core.multiarray failed to import
Could not find the kmc module. The kmc implements the actual
kmc model. This can be created from a kmos xml file using
kmos export
Hint: are you in a directory containing a compiled kMC model?

Traceback (most recent call last):
File "/usr/local/bin/kmos", line 21, in
main()
File "/Users/g5q/Library/Python/2.7/lib/python/site-packages/kmos/cli.py", line 425, in main
from kmos import view
File "/Users/g5q/Library/Python/2.7/lib/python/site-packages/kmos/view.py", line 59, in
class ParamSlider(gtk.HScale):
NameError: name 'gtk' is not defined

I have GTK, matplotlib installed. See below where I can load them when I fire-up ipython in the same terminal. I also have the *.so file in the directory:
mac95467:myfirst_kmc_local_smart g5q$ ls
kmc_model.so kmc_settings.py kmc_settings.pyc src

Any idea what the problem might be?

mac95467:myfirst_kmc_local_smart g5q$ ipython
Python 2.7.12 (default, Oct 11 2016, 14:42:58)
Type "copyright", "credits" or "license" for more information.

IPython 5.1.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.

In [1]: import numpy as np

In [2]: import scipy as sp

In [3]: import matplotlib as gp

In [4]: import pygtk as pg

In [5]:

Steps to reproduce the issue

System information

  • result of kmos version, operating system, version, python version, possibly link to model file

example model of 'render_Pt_111'

Hi Hoffman,
as we all know, that Pt(111) has three adsorption site, on-top site, bridging site (between two atoms) and hollow sites (between three atoms).
However, in the kmos code package, the model of Pt(111) slabe just has two adsorption sites, hollow_1 and hollow_2. You give the example how to create Pt slab in kmos, the code shows below:
`#!/usr/bin/env python
"""Just a short incomplete demo for a non-orthogonal surface

Note how the process editor cannot correctly display non-orthogonal lattices. (as of v0.3)

"""

from kmos.types import *
from kmos.io import *
import numpy as np

pt = Project()
pt.set_meta(author='Max J. Hoffmann',
model_name='pt111',
email='[email protected]',
model_dimension=2,
debug=0)

pt.add_species(name='empty',
color='#ffffff',)
pt.add_species(name='H',
representation="Atoms('H')",
color='#ffff00')

layer = pt.add_layer(name='pt111',)

pt.lattice.representation = """[Atoms(symbols='Pt4',
pbc=np.array([ True, True, False], dtype=bool),
cell=np.array(
[[ 2.77185858, 0. , 0. ],
[ 1.38592929, 2.40049995, 0. ],
[ 0. , 0. , 26.78963917]]),
scaled_positions=np.array(
[[0.0, 0.0, 0.37327863724326155], [0.33333333333333331, 0.33333333333333337, 0.45775954574775385], [0.66666666666666663, 0.66666666666666674, 0.54224045425224621], [0.0, 0.0, 0.62672136275673862]]),
),]"""

layer.sites.append(Site(name='hollow1', pos='0.333333333333 0.333333333333 0.672', default_species='default_species'))
layer.sites.append(Site(name='hollow2', pos='0.666666666667 0.666666666667 0.672', default_species='default_species'))

pt.lattice.cell = np.array([[2.77185858, 0.0, 0.0],
[1.38592929, 2.40049995, 0.0],
[0.0, 0.0, 26.78963917]])

pt.add_parameter(name='T', adjustable=True, min=300, max=800, value=600)

pt.parse_and_add_process('H_adsorption_hollow1; empty@hollow1 -> H@hollow1; 100000')
pt.parse_and_add_process('H_adsorption_hollow2; empty@hollow2 -> H@hollow2; 100000')

pt.parse_and_add_process('H_desorption_hollow1; H@hollow1 -> empty@hollow1; 100000')
pt.parse_and_add_process('H_desorption_hollow2; H@hollow2 -> empty@hollow2; 100000')

pt.parse_and_add_process('H_diff_h1h2; H@hollow1 + empty@hollow2 -> empty@hollow1 + H@hollow2; 1000000000')
pt.parse_and_add_process('H_diff_h2h1; H@hollow2 + empty@hollow1 -> empty@hollow2 + H@hollow1; 1000000000')

pt.filename = 'Pt_111.xml'
pt.save()
`
do I misunderstand?

thin film with surface reactions

I am interested in modeling a 3D system, which is open in one direction (i.e. has a surface along +/-z), allowing for surface reactions (i.e. adsorption/desorption + surface diffusion) to occur. I guess, if my system size is 20 along all three directions, I will just have to block PBC for all (x,y,20,n) sites and use these sites specifically for surface reaction processes. Any suggestions how to go about doing this, say for a two-site unit-cell ?

Lattice Angles and Periodic Boundaries

Hi Max,

I am working with a diffusion-only model (model._put([0,0,0,1],model.proclist.co)) in 3D hematite crystal structure.

  1. How to define lattice angles in lattice configuration to implement non-orthorhombic crystal geometries?

  2. When I test diffusion in a single unit cell (simulation_size=1) without PBC (pbc=np.array([False, False, False], dtype=bool)), I still see that the processes relating to diffusion across unit cells are still available (model.print_accum_rate_summation()) and executed (model.print_coverages()). How can I avoid this and constrain the diffusion at the boundaries?

Thanks,
Vish.

We need a self-contained installation file. Incompatibilities with kiwi and gazpacho

I tried to document my experience trying to install kmos [I still have these records].

I was trying to do was avoiding using "apt-get", because it's not desirable to be reliant on external sources and internet. It would be good to have a set of installation files for kmos all in one directory, so it can be installed anywhere. <-- I will try to make this in the next couple of months

  1. I tried installing kmos on standard Ubuntu 12 (did not work for me)
  2. I tried installing kmos on Windows 7 (did not work for me)
  3. I tried installing kmos on Ubuntu Lucid. This initally did not work for me. I had downloaded the kiwi and gazpacho files from the links in the kmos documentation.
  4. What finally worked was using Ubuntu Lucid 10.04, and then using apt-get to get python-setuptools then apt-get python-kiwi and apt-get on gazpacho. [dependencies may have been part of the problem]
    Note: it's worth noting I had tried using apt-get on standard Ubuntu 12 for all these things and still had not gotten kmos to work. Based on the kiwi version numbers, standard Ubuntu 12 actually found a newer version of Kiwi with apt-get. But Standard ubuntu 12 did not find gazpacho with apt-get, so maybe the gazpacho was the problem with ubuntu 12.

I have a summer student coming. I will see if I can teach him enough to make a self-contained set of files, so we can have a stable set of files in case the external files are no longer available or change. My estimate is that he will get it done by the end of June or July.

2D lattice generation

Hello,

I am trying to generate a simple 2D (lets say 10 by 5) lattice to use with my own equations for the simulation of conductive paths' generation.
Could someone help me out as I know almost nothing about python?

Thank you in advance!
Dionisis

Error: 'Meta' object has no attribute 'model_dimension'

Hey Max,

This is regarding current state of the develop branch:

I suddenly started to get this error.

AttributeError: 'Meta' object has no attribute 'model_dimension'

This happened when I tried to export an .xml file that was generated earlier (with my backend-otf branch).

Do you have an idea what this could be related to? Did the 'model_dimension' property got moved from meta to somewhere else?

Some extra info:
As far I know, everything is consistent if you generate the .xml, export and run with the same code snapshot... I.e. regenerating the .xml from the render script solves the issue.

I had previously exported the .xml I mentioned first (with code from my backend-otf branch). I could run this model with the current state of the develop branch (but, as I said before, could not export it again).

Errors on the debug mode

kmos/kmos/io.py

Line 2586 in dd523c2

out.write(('print *,"PROCLIST/RUN_PROC_NR/NAME","%s"\n'

I modified this line as follows.

out.write('        print *,"PROCLIST/RUN_PROC_NR/NAME","%s"\n' % process.name)
out.write('        print *, "  PROCLIST/RUN_PROC_NR/PROC", proc\n')
out.write('        print *, "  PROCLIST/RUN_PROC_NR/NR_CELL", nr_cell\n')
out.write('        print *, "  PROCLIST/RUN_PROC_NR/CELL", cell\n')

Fortran runtime error: Array size of PUT is too small

Actual behavior

I have compiled kmos on Ubuntu 18.04. I followed the procedure reported in INSTALL.rst to test the installation.

I followed the steps and tried to run kmos:
kmos benchmark

I got this error:
Fortran runtime error: Array size of PUT is too small.

Is there any fix?

System information

I am using Ubuntu 18.04 and gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04)

Monitoring the diffusion path of an adatom

Hello Max,

I have problems in extracting the information I need from a kmos simulation. I am running a diffusion only model with one atom adsorbed on a surface and want to monitor the path of this adatom or write the coordinations of the adatom of each step.
When I got it right the command "model.get_atoms()" contains the critical information when I run the model the API way, but until now I was not able to get it.
Is this somehow the right way to get the coordinates or is there a simple command which I did not find yet.

Thanks,
David

Coverage display is limited in [-0.06:0.06]

I just started to learn kmos. The installation seems fine, while in the test (of the examples in the package), I found in the GUI panel created by "kmos view", only when the coverage is smaller than 0.06, the curve (of, say, empty sites) is shown. Ps: in the parameter arguments, the min and max are set. Anyone knows the problem? Thanks a lot.

SyntaxWarning when installing kmos

Hi,

I installed the newest version of kmos from scratch.
Both during installation and when doing "kmos export" one of the example models I get the following warnings:

/user/andersen/codes/kmos/kmos/cli.py:359: SyntaxWarning: name 'pt' is assigned to before global declaration
global pt

/user/andersen/codes/kmos/kmos/cli.py:411: SyntaxWarning: name 'model' is assigned to before global declaration
global model, np

Has this always been there and is it something to worry about?

Best,
Mie

Rate constant evaluation

I am currently trying to implement a model with lateral interactions, scaling relations, and thermochemistry corrections. I run into the problem that it becomes increasingly cumbersome to follow the original approach, whereby rate constants are defined as a string and all input as kmos parameters. I am therefore instead considering to define all parameters (beta, h, T, p, energies, frequencies) directly in my input file and to carry out the evaluation of the rate constant also directly in my input file.

My question is: Could this cause any unforeseen problems, for example making the code slower to compile? What was the reason that the string rate constant approach was chosen originally?

Feature request: passing tags to runtime model

If there are many similar species on the surface, could it becomes hard to distinguish them. Therefore it would be useful if one could assign tags to the molecule representations that would also show in the runtime ASE representation.

Newer numpy (f2py?) produces strange errors

Expected behavior

kmos models should be able to run after being compiled with any of the three backends. In addition running kmos bench should return output similar to

Using the [lat_int] backend.
1000000 steps took 1.23 seconds
Or 8.12e+05 steps/s

Actual behavior

When using numpy 1.13.3, models compile with no apparent errors, however when trying to run a model compiled with otf I get a Segmentation Fault. In addition, when running kmos bench on a model compiled with lat_int, the output looks like

Using the [???] backend.
1000000 steps took 1.24 seconds
Or 8.08e+05 steps/s

Notice the question marks instead of the backend name. This does not happen with the local_smart backend.

Steps to reproduce the issue

  1. Update numpy to ver 1.13.3
  2. Pick your favorite otf-enabled model, recompile it with kmos export -b otf
  3. Run kmos bench on the model folder

2a. Pick your favorite "default backend" kmos model, compile it with kmos export -b lat_int
3b. Run kmos bench on the model folder

System information

kmos version: 0.3.21
Linux Debian Jessie

Downgrading to numpy 1.8.2 solves the issue. Before I investigate this, it would be nice is somebody could try to reproduce this issue, to make sure is not something wrong with my installation.

Long process names break compile

I have stumbled upon this while working on the otf backend but it extends to local_smart and lat_int:
If you try to use very long names for processes (may also happen for other of the model components...), specifically >63 characters for local_smart, >41 for lat_int, and currently >25 characters for otf, compilation fails.

This is because process names form part of fortran function names in the source code and at some point you hit some function name length limit. Or that is what I presume (http://stackoverflow.com/questions/3967247/routine-name-length-in-fortran90)

Could you please check if you can reproduce?

This can be attenuated (I hope) by shortening a lot of names in the code, i.e.

get_rate_ -> gr_
rate_ -> r_
proclist_parameters.f90 -> proclist_pars.f90 (f2py appends the module name to the functions in an intermediate step)

Arbitrarily long names could be supported if we change paradigm and name numerate processes and go from
subroutine run_CO_oxidation_bridge_top
to
subroutine run_p00015
but I do not think we want to do that.

I would be content to do the changes mentioned above, which would extend the maximum process name length for otf to around 38.
But then I think we should include a limit on the length of the process names at xml / ini generation time. I say we go for 35 chars max.

Positioning atoms while preparing the model

Hi Max,

Thanks for sharing the kmos. I am trying to use the kmos installation on the linux cluster. Though the GUI is not working, I'm managing with the API mode. Now, I have been able to build and run models using the docuementation provided on the kmos website for all three supported processes (adsorption, desorption and diffusion). I could perform diffusion as long as there is an adsorption process associated to place the atoms on the surface. But, how to prepare a model with only diffusion process and starting with some atoms/molecules positioned on the lattice surface? I have checked the diffusion related examples from kmos package, and most of them and including the above described model are resulting in the following error:

ERROR: interval_search_real can't find available process
This usually means one of the following:

  • you forgot to define rate constants
  • you create a dead-lock: e.g. adsorption without corresponding desorption.
  • you started the model in an initial state without transitions

I believe this is because there is no atom available on the surface to diffuse.

Thank you and your help is appreciated.
Viswanath.

error with kmos view command

Expected behavior

run thekMC model about CO adsorption and desorption according to the tutorials: A first kMC Model- the API way (http://kmos.readthedocs.io/en/latest/tutorials/index.html)

Actual behavior

I installed the kmos and the dependencies on ubuntu 16.04, and learn the tutorials "A first kMC Model-the API way"

while, after I export the xml, and try to view the model, it rised an TypeError, the error info is shown as followed:

abel@Abel:~/CL-SMR-KMC/kmos-learn/myfirst_kmc_local_smart$ kmos view
Traceback (most recent call last):
  File "/usr/local/bin/kmos", line 21, in <module>
    main()
  File "/home/abel/.local/lib/python2.7/site-packages/kmos/cli.py", line 426, in main
    view.main(steps_per_frame=options.steps_per_frame)
  File "/home/abel/.local/lib/python2.7/site-packages/kmos/view.py", line 452, in main
    viewer = KMC_Viewer(model, steps_per_frame=steps_per_frame)
  File "/home/abel/.local/lib/python2.7/site-packages/kmos/view.py", line 398, in __init__
    self.vbox, self.window)
  File "/home/abel/.local/lib/python2.7/site-packages/kmos/view.py", line 174, in __init__
    View.__init__(self, self.vbox, rotations)
TypeError: __init__() takes exactly 2 arguments (3 given)

It seems to be related to the ase.view, but I don't know how to deal with it.
How could I fix this problem? Did I do something wrong in installation?
Looking forward to your solution and suggestion.

//: # (Besides the text description, include any screenshot(s) that help us visualize the issue you're facing)

abel@Abel:~/CL-SMR-KMC/kmos-learn/myfirst_kmc_local_smart$ kmos view
Traceback (most recent call last):
  File "/usr/local/bin/kmos", line 21, in <module>
    main()
  File "/home/abel/.local/lib/python2.7/site-packages/kmos/cli.py", line 426, in main
    view.main(steps_per_frame=options.steps_per_frame)
  File "/home/abel/.local/lib/python2.7/site-packages/kmos/view.py", line 452, in main
    viewer = KMC_Viewer(model, steps_per_frame=steps_per_frame)
  File "/home/abel/.local/lib/python2.7/site-packages/kmos/view.py", line 398, in __init__
    self.vbox, self.window)
  File "/home/abel/.local/lib/python2.7/site-packages/kmos/view.py", line 174, in __init__
    View.__init__(self, self.vbox, rotations)
TypeError: __init__() takes exactly 2 arguments (3 given)

Steps to reproduce the issue

System information

  • result of kmos version, operating system, version, python version, possibly link to model file
gfortran version (4:5.3.1-1ubuntu1).
python-dev iversion (2.7.11-1).
python-glade2 version (2.24.0-4ubuntu1).
python-lxml version (3.5.0-1build1).
python-numpy version (1:1.11.0-1ubuntu1).
python-kiwi version (1.9.22-4).
python-matplotlib version (1.5.1-1ubuntu1).
python-pygoocanvas version (0.14.1-1.1ubuntu1).
gazpacho version (0.7.2-3).

abel@Abel:~/CL-SMR-KMC/kmos-learn/myfirst_kmc_local_smart$ ase info
platform        Linux-4.4.0-21-generic-x86_64-with-Ubuntu-16.04-xenial
python-2.7.12   /usr/bin/python
ase-3.15.0b1    /usr/local/lib/python2.7/dist-packages/ase-3.15.0b1-py2.7.egg/ase/
numpy-1.11.0    /usr/lib/python2.7/dist-packages/numpy/
scipy-0.17.0    /usr/lib/python2.7/dist-packages/scipy/

gazpacho and kiwi

Hi,

The apt-get way seems not not working to install gazpacho and kiwi (?), so I install them manually after downloading from the following sites (I put it here for other's info):
https://launchpad.net/ubuntu/+source/gazpacho/0.7.2-2ubuntu1
https://launchpad.net/ubuntu/+source/kiwi/1.9.22-2
The installation finished normally.

However, when I tried to use "kmos edit XXXX.xml", it told me "EnvironmentError: path /usr/share/gazpacho/pixmaps must be a directory"
Then I found pixmaps directory is actually available via a different path: /usr/local/share/gazpacho/.

It looks like that I have to tell kmos the new address of gazpacho. It would be great if someone can tell me how to do this? Thank you very much.

kind_values_f2py.f90 not genereated properly?

Hi,

I've just tried installing your code and setting up the example model. I think it's not generating the kind_values file properly. I'm working in Windows Vista at the moment, which, it just occurred to me, may be the problem? Maybe there's something in the code that looks specifically for win 7?

Inside kind_values_f2py.f90 is just
!/* ROBODOC this makes robodoc to document this file /
module kind_values
!
h libkmc/kind_values
! FUNCTION
! This module offers kind_values for commonly
! used intrinsic types in a platform independent way.
!
****
implicit none

and the kmos export command out put ends with

gfortran.exe:f90: kind_values_f2py.f90
Error: Unexpected end of file in 'kind_values_f2py.f90'
error: Command "C:\MinGW\bin\gfortran.exe -ffree-line-length-none -ffree-form -xf95-cpp-input -Wall -O3 -fimplicit-none-O3 -funroll-loops -Ic:\users\user_name\appdata\local\temp\tmplpyh2r\src.win32-2.7 -Ic:\users\user_name\appdata\local\enthought\canopy32\user\lib\site-packages\numpy\core\include -IC:\Users\user_name\AppData\Local\Enthought\Canopy32\App\appdata\canopy-1.5.2.2785.win-x86\include -Ic:\users\user_name\appdata\local\enthought\canopy32\user\PC -c -c kind_values_f2py.f90 -o c:\users\user_name\appdata\local\temp\tmplpyh2r\Release\kind_values_f2py.o -Jc:\users\user_name\appdata\local\temp\tmplpyh2r\Release\ -Ic:\users\user_name\appdata\local\temp\tmplpyh2r\Release" failed with exit status 1

Windows GUI

Hi,

I'm attempting to use kmos with the PowerShell on a Windows 7 machine. The installation appears to have run smoothly, and I am able to perform all of the "tutorial" steps up until the end of 1.3.3 in the documentation. kmos export myfirst_kmc.xml executes flawlessly and creates the required files in the myfirst_kmc directory. However, when I type 'kmos view', I receive the following error:
C:\Python27\lib\site-packages\matplotlib\axes.py:4442: UserWarning: No labeled objects found. use label='...' kwarg on individual plots.
warnings.warn("No labeled objects found. "
Traceback (most recent call last):
File "", line 1, in
File "C:\Python27\lib\multiprocessing\forking.py", line 373, in main
prepare(preparation_data)
File "C:\Python27\lib\multiprocessing\forking.py", line 482, in prepare
file, path_name, etc = imp.find_module(main_name, dirs)
ImportError: No module named kmos

Is this an error you have encountered? If so, can you offer a suggestion on how to solve this? The GUI pops up briefly, but crashes immediately upon changing any of the sliders.

Thanks,
Luke Roling

Running kmos on Linux cluster

Hi Max,
I was trying to run kmos on the Linux cluster. Do you have any experience with either this cluster or SuperMUC, which I guess should be similar?
I managed to install it, but when I try to compile my model using "kmos export ..." I get the attached output.
It seems like there is a problem with f2py.
Any ideas what I could try?
There is a couple of different python modules I could load. I have tried 2.6 and 2.7_anaconda.

Mie
kmos_export_output.txt

Segmentation fault on import of pygoocanvas module

Hello Max,

I have installed the pygoocanvas module using the command, sudo port install py27-goocanvas on my Mac system running on OS X 10.11.5. The installation was successful, however importing the module using the command import goocanvas immediately results in a seg fault error Segmentation fault 11. I believe the module is necessary to use the editor window, as I am getting the same error with kmos edit <model-file>.(xml/ini). How do I come around this error?

Thanks,
Viswanath.

Myfrist_kMC.xml file

(1) I have already export Myfrist_kMC.xml but i dont know how to use it ?
and (2) How can i use the command 'kmos view' ?
Thank you

TOF not shown

Hi, I found another problem:
I run kmos with "kmos view" in an API way, everything looks fine except that TOF plot is just blank :(
I do see nice TOF plot in Fig. 1.5 in the kmos documentation (release 0.3.13).

Could you check this issue? I am using Ubuntu 14.04.

Thanks.

run the example of "AB_model.py"

hi good morning.
sorry, I met a problem,when I run the example of "AB_model.py":

`In [1]: from kmos.types import *

In [2]: from kmos.io import *

In [3]: import numpy as np

In [4]: pt = Project()

In [5]: pt.set_meta(author = 'JZ',
...: email = '[email protected]',
...: model_name = 'JZ',
...: model_dimension = 2,)

In [6]: pt.add_species(name='empty')
Out[6]: [SPECIES] Name: empty Color: no color set.

In [7]: pt.add_species(name='A', representation="Atoms('O')")
Out[7]: [SPECIES] Name: A Color: no color set.

In [8]: pt.add_species(name='B', representation="Atom
...: s('CO', [[0,0,0],[0,0,1.2]])")
Out[8]: [SPECIES] Name: B Color: no color set.

In [9]: layer = Layer(name='default')

In [10]: layer.sites.append(Site(name='a'))

In [11]: pt.add_layer(layer)
Out[11]:
[LAYER] default
[
[[SITE] a (default_species) [ 0. 0. 0.] ]
]

In [12]: pt.species_list.default_species = 'empty'

In [13]: parameters = {}

In [14]: parameters['p_COgas'] = {'value':1., 'adjustable':True,
....: 'min':1.e-13, 'max':1.e2,
....: 'scale':'log'}

In [15]: parameters['p_O2gas'] = {'value':1., 'adjustable':True,
....: 'min':1.e-13, 'max':1.e2,
....: 'scale':'log'}

In [16]: parameters['T'] = {'value':600}

In [17]: parameters['A'] = {'value':1.552e-19}

In [18]: parameters['E_bind_O2'] = {'value':-2.138}

In [19]: parameters['E_bind_CO'] = {'value':-1.9}

In [20]: parameters['E_react'] = {'value': 0.9}

In [21]: for key, value in parameters.iteritems():
....: pt.add_parameter(name=key, **value)
....:

In [22]: coord = pt.lattice.generate_coord('a.(0,0,0).default')

In [23]: up = pt.lattice.generate_coord('a.(0,1,0).default')

In [24]: right = pt.lattice.generate_coord('a.(1,0,0).default')

In [25]: down = pt.lattice.generate_coord('a.(0,-1,0).default')

In [26]: left = pt.lattice.generate_coord('a.(-1,0,0).default')

In [27]: pt.add_process(name='A_adsorption',
....: rate_constant='p_O2gas_bar_A/sqrt(2_pi_m_O2_umass/beta)',
....: condition_list=[Condition(coord=coord, species='empty')],
....: action_list=[Action(coord=coord, species='A')],)
Out[27]:
[PROCESS] Name:A_adsorption
Rate: p_O2gas_bar_A/sqrt(2_pi_m_O2_umass/beta)
Conditions: [[COND_ACT] Species: empty Coord:[COORD] a.(0, 0, 0).default
]
Actions: [[COND_ACT] Species: A Coord:[COORD] a.(0, 0, 0).default
]

In [28]: pt.add_process(name='A_desorption',
....: rate_constant='p_O2gas_bar_A/sqrt(2_pi_m_O2_umass/beta)exp(beta(E_bind_O2-mu_O2gas)_eV)',
....: condition_list=[Condition(coord=coord, species='A')],
....: action_list=[Action(coord=coord, species='empty')],)Out[28]:
[PROCESS] Name:A_desorption
Rate: p_O2gas_bar_A/sqrt(2_pi_m_O2_umass/beta)exp(beta(E_bind_O2-mu_O2gas)_eV)
Conditions: [[COND_ACT] Species: A Coord:[COORD] a.(0, 0, 0).default
]
Actions: [[COND_ACT] Species: empty Coord:[COORD] a.(0, 0, 0).default
]

In [29]: pt.add_process(name='B_adsorption',
....: rate_constant='p_COgas_bar_A/sqrt(2_pi_m_CO_umass/beta)',
....: condition_list=[Condition(coord=coord, species='empty')],
....: action_list=[Action(coord=coord, species='B')],)
Out[29]:
[PROCESS] Name:B_adsorption
Rate: p_COgas_bar_A/sqrt(2_pi_m_CO_umass/beta)
Conditions: [[COND_ACT] Species: empty Coord:[COORD] a.(0, 0, 0).default
]
Actions: [[COND_ACT] Species: B Coord:[COORD] a.(0, 0, 0).default
]

In [30]: pt.add_process(name='B_desorption',
....: rate_constant='p_COgas_bar_A/sqrt(2_pi_m_CO_umass/beta)exp(beta(E_bind_CO-mu_COgas)_eV)',
....: condition_list=[Condition(coord=coord, species='B')],
....: action_list=[Condition(coord=coord, species='empty')],)
Out[30]:
[PROCESS] Name:B_desorption
Rate: p_COgas_bar_A/sqrt(2_pi_m_CO_umass/beta)exp(beta(E_bind_CO-mu_COgas)_eV)
Conditions: [[COND_ACT] Species: B Coord:[COORD] a.(0, 0, 0).default
]
Actions: [[COND_ACT] Species: empty Coord:[COORD] a.(0, 0, 0).default
]

In [31]: for neighbor, name in [(right, 'right'),
....: (left, 'left'),
....: (up, 'up'),
....: (down, 'down')]:
....: pt.add_process(name='AB_react_%s' % name,
....: rate_constant='1/(beta_h)_exp(-beta_E_react_eV)',
....: condition_list=[Condition(coord=coord, species='A'),
....: Condition(coord=neighbor, species='B')],
....: action_list=[Action(coord=coord, species='empty'),
....: Action(coord=neighbor, species='empty')],
....: tof_count={'TOF':1})
....:

In [32]: return pt
File "", line 1
return pt
SyntaxError: 'return' outside function

In [33]: pt.filename = 'JZ.xml'

In [34]: pt.save()

In [35]: import kmos.cli

In [36]: kmos.cli.main('export JZ.xml')
No export path provided. Exporting to JZ_local_smart

/usr/local/lib/python2.7/dist-packages/kmos

UserWarning Traceback (most recent call last)
in ()
----> 1 kmos.cli.main('export JZ.xml')

/usr/local/lib/python2.7/dist-packages/kmos/cli.pyc in main(args)
307 kmos.io.export_source(project,
308 export_dir,
--> 309 code_generator=options.backend)
310
311 if ((os.name == 'posix'

/usr/local/lib/python2.7/dist-packages/kmos/io.pyc in export_source(project_tree, export_dir, code_generator)
2017 writer.write_lattice()
2018 writer.write_proclist(code_generator=code_generator)
-> 2019 writer.write_settings()
2020 project_tree.validate_model()
2021 return True

/usr/local/lib/python2.7/dist-packages/kmos/io.pyc in write_settings(self)
1890 except Exception, e:
1891 raise UserWarning('Could not evaluate (%s)\n%s\nProcess: %s'
-> 1892 % (process.rate_constant, e, process.name))
1893 out.write(' }\n\n')
1894

UserWarning: Could not evaluate (p_O2gas_bar_A/sqrt(2_pi_m_O2_umass/beta)exp(beta(E_bind_O2-mu_O2gas)_eV))

Error: Could not import JANAF data
Installing JANAF Thermochemical Tables
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

You can conveniently use gas phase chemical potentials
inserted in rate constant expressions using
JANAF Thermochemical Tables. A couple of molecules
are automatically supported. If you need support
for more gas-phase species, drop me a line.

The tabulated values are not distributed since
the terms of distribution do not permit this.
Fortunately manual installation is easy.
Just create a directory called `janaf_data`
anywhere on your python path. To see the directories on your python
path run ::

    python -c"import sys; print(sys.path)"

    Inside the `janaf_data` directory has to be a file
    named `__init__.py`, so that python recognizes it as a module ::

        touch __init__.py

        Then copy all needed data files from the
        `NIST website <http://kinetics.nist.gov/janaf/>`_
        in the tab-delimited text format
        to the `janaf_data` directory.

Process: A_desorption
`

Feed Parameters from Dictionaries

I have a very short helper function that takes a KMC_Model instance and a dictionary and tries to set up the attributes of the KMC_Model.parameters. Would you be interested in including that in the Model_Parameters class, so as to be able to do something like
model.parameters.set(dictionary)
?

JANAF

Hi Hoffmam,
I meet the problem for 3 months, I am doing my master thesis, and Kmos is very important. Please give some suggestions, if u have time.

Expected behavior

example of AB_model. I has installed JANAF Thermochmical Tables successfully (directory called janaf_data has been created and added into python path. I see the 'touch__init__.py') . But when I run the AB_model.py, it gives the warning "could not import JANAF data, Installing JANAF Thermochemical Tables". By the way, I did all the thing under ubuntu 14.

Actual behavior

could not get the setting.py file or .so file.
`---------------------------------------------------------------------------
UserWarning Traceback (most recent call last)
in ()
----> 1 kmos.cli.main('export AB_no_diffusion.xml')

/home/jz/Documents/kmos-master/kmos/cli.pyc in main(args)
340 kmos.io.export_source(project,
341 export_dir,
--> 342 options=options)
343
344 if ((os.name == 'posix'

/home/jz/Documents/kmos-master/kmos/io.pyc in export_source(project_tree, export_dir, code_generator, options)
3096 if options is not None and options.acf:
3097 writer.write_proclist_acf(code_generator=code_generator)
-> 3098 writer.write_settings(code_generator=code_generator)
3099 project_tree.validate_model()
3100 return True

/home/jz/Documents/kmos-master/kmos/io.pyc in write_settings(self, code_generator)
2933 except Exception, e:
2934 raise UserWarning('Could not evaluate (%s)\n%s\nProcess: %s'
-> 2935 % (process.rate_constant, e, process.name))
2936 out.write(' }\n\n')
2937

UserWarning: Could not evaluate (p_O2gasbarA/sqrt(2pim_O2*umass/beta)exp(beta(E_bind_O2-mu_O2gas)*eV))

Error: Could not import JANAF data
Installing JANAF Thermochemical Tables
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

`
//: # (Besides the text description, include any screenshot(s) that help us visualize the issue you're facing)

Steps to reproduce the issue

System information

  • result of kmos version, operating system, version, python version, possibly link to model file

'lattice_size' parameter in some models

I see that in some example models a lattice_size parameter appears... Is this deprecated or still used in the current version of the code?
Ditto for print_every and total_steps

EDIT: Also the same question for the output section of the xml files

TypeError when running kmos view

When trying to visualize model with kmos view, a TypeError related to View._ init _() is returned. Seems to occur in the view.py file.

Expected behavior

Display the model

Actual behavior

Traceback (most recent call last):
File "/home/williaml/.local/bin/kmos", line 21, in
main()
File "/home/williaml/.local/lib/python2.7/site-packages/kmos/cli.py", line 426, in main
view.main(steps_per_frame=options.steps_per_frame)
File "/home/williaml/.local/lib/python2.7/site-packages/kmos/view.py", line 452, in main
viewer = KMC_Viewer(model, steps_per_frame=steps_per_frame)
File "/home/williaml/.local/lib/python2.7/site-packages/kmos/view.py", line 398, in _ init _
self.vbox, self.window)
File "/home/williaml/.local/lib/python2.7/site-packages/kmos/view.py", line 174, in _ init _
View._ init _(self, self.vbox, rotations)
TypeError: _ init _() takes exactly 2 arguments (3 given)

//: # (Besides the text description, include any screenshot(s) that help us visualize the issue you're facing)

Steps to reproduce the issue

  1. Have both .so and kmc_settings.py in the directory
  2. type kmc view on terminal at the folder

System information

  • result of kmos version, operating system, version, python version, possibly link to model file
    kmos version 0.3.9
    ubuntu 16.04 LTS
    Python 2.7.12

Example render_pairwise_interaction_otf does not work!

Expected behaviour

Generation of the xml file.

Actual behaviour

Problems with the redefined process

proc = Process(name='CO_desorption',
conditions=conditions,
actions=actions,
bystander_list = bystander_list,
rate_constant=rate_constant,
otf_rate=otf_rate)

pt.add_process(proc)

2.nd issue
missing r in the actions (cood instead of coord)

//: # (Besides the text description, include any screenshot(s) that help us visualize the issue you're facing)

Steps to reproduce the issue

  1. git clone (original examples)
    2.python render_pairwise_interaction_otf.py

System information

  • result of kmos version, operating system, version, python version, possibly link to model file

no reasult like expected---firstmodel

thank u for ur help yesterday, mhoffman. After following the instructions, everything seems OK. And I wait for the result, but after over10 hours, the kmos is still running!! Is there any problems with my fisrtmodel?

screenshot from 2016-03-27 07-29-05

`In [1]: from kmos.types import *

In [2]: from kmos.io import *

In [3]: import numpy as np

In [4]: os.getcwd()
Out[4]: '/home/jiangzhen'

In [5]: pt = Project()

In [6]: pt.set_meta(author = 'Your Name',
...: email = '[email protected]',
...: model_name = 'MyFirstModel',
...: model_dimension = 2,)

In [7]: pt.add_species(name='empty')
Out[7]: [SPECIES] Name: empty Color: no color set.

In [8]: pt.add_species(name='CO',
...: representation="Atoms('CO',[[0,0,0],[0,0,1.2]])")
Out[8]: [SPECIES] Name: CO Color: no color set.

In [9]: layer = pt.add_layer(name='simple_cubic')

In [10]: layer.sites.append(Site(name='hollow', pos='0.5 0.5 0.5',
....: default_species='empty'))

In [11]: pt.lattice.cell = np.diag([3.5, 3.5, 10])

In [12]: pt.add_parameter(name='T', value=600., adjustable=True, min=400, max=800)
Out[12]: [PARAMETER] Name: T Value: 600.0

In [13]: pt.add_parameter(name='p_CO', value=1., adjustable=True, min=1e-10, max=1.e2)
Out[13]: [PARAMETER] Name: p_CO Value: 1.0

In [14]: pt.add_parameter(name='A', value='(3.5_angstrom)__2')
Out[14]: [PARAMETER] Name: A Value: (3.5_angstrom)**2

In [15]: pt.add_parameter(name='deltaG', value='-0.5', adjustable=True,
....: min=-1.3, max=0.3)
Out[15]: [PARAMETER] Name: deltaG Value: -0.5

In [16]: coord = pt.lattice.generate_coord('hollow.(0,0,0).simple_cubic')

In [17]: pt.add_process(name='CO_adsorption',
....: conditions=[Condition(coord=coord, species='empty')],
....: actions=[Action(coord=coord, species='CO')],
....: rate_constant='p_CO_bar_A/sqrt(2_pi_umass_m_CO/beta)')
Out[17]:
[PROCESS] Name:CO_adsorption
Rate: p_CO_bar_A/sqrt(2_pi_umass_m_CO/beta)
Conditions: [[COND_ACT] Species: empty Coord:[COORD] hollow.(0, 0, 0).simple_cubic
]
Actions: [[COND_ACT] Species: CO Coord:[COORD] hollow.(0, 0, 0).simple_cubic
]

In [18]: pt.add_process(name='CO_desorption',
....: conditions=[Condition(coord=coord, species='CO')],
....: actions=[Action(coord=coord, species='empty')],
....: rate_constant='p_CO_bar_A/sqrt(2_pi_umass_m_CO/beta)_exp(beta_deltaG_eV)')
Out[18]:
[PROCESS] Name:CO_desorption
Rate: p_CO_bar_A/sqrt(2_pi_umass_m_CO/beta)_exp(beta_deltaG_eV)
Conditions: [[COND_ACT] Species: CO Coord:[COORD] hollow.(0, 0, 0).simple_cubic
]
Actions: [[COND_ACT] Species: empty Coord:[COORD] hollow.(0, 0, 0).simple_cubic
]

In [19]: pt.filename = 'myfirst_kmc.xml'

In [20]: pt.save()

In [21]: import kmos.cli

In [22]: kmos.cli.main('export myfirst_kmc.xml')
No export path provided. Exporting to myfirst_kmc_local_smart
/usr/local/lib/python2.7/dist-packages/kmos
Unknown vendor: "gfortran"
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building extension "f2py_selected_kind" sources
f2py options: []
f2py:> /tmp/tmpauT4p9/src.linux-x86_64-2.7/f2py_selected_kindmodule.c
creating /tmp/tmpauT4p9/src.linux-x86_64-2.7
Reading fortran codes...
Reading file 'f2py_selected_kind.f90' (format:free)
Post-processing...
Block: f2py_selected_kind
Block: kind
Block: real_kind
Block: int_kind
Post-processing (stage 2)...
Block: f2py_selected_kind
Block: unknown_interface
Block: kind
Block: real_kind
Block: int_kind
Building modules...
Building module "f2py_selected_kind"...
Constructing F90 module support for "kind"...
Constructing wrapper function "kind.real_kind"...
kind_value = real_kind([p,r])
Constructing wrapper function "kind.int_kind"...
kind_value = int_kind([p,r])
Wrote C/API module "f2py_selected_kind" to file "/tmp/tmpauT4p9/src.linux-x86_64-2.7/f2py_selected_kindmodule.c"
Fortran 90 wrappers are saved to "/tmp/tmpauT4p9/src.linux-x86_64-2.7/f2py_selected_kind-f2pywrappers2.f90"
adding '/tmp/tmpauT4p9/src.linux-x86_64-2.7/fortranobject.c' to sources.
adding '/tmp/tmpauT4p9/src.linux-x86_64-2.7' to include_dirs.
copying /usr/lib/python2.7/dist-packages/numpy/f2py/src/fortranobject.c -> /tmp/tmpauT4p9/src.linux-x86_64-2.7
copying /usr/lib/python2.7/dist-packages/numpy/f2py/src/fortranobject.h -> /tmp/tmpauT4p9/src.linux-x86_64-2.7
adding '/tmp/tmpauT4p9/src.linux-x86_64-2.7/f2py_selected_kind-f2pywrappers2.f90' to sources.
build_src: building npy-pkg config files
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
customize Gnu95FCompiler
Found executable /usr/bin/gfortran
customize Gnu95FCompiler using build_ext
building 'f2py_selected_kind' extension
compiling C sources
C compiler: x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC

creating /tmp/tmpauT4p9/tmp
creating /tmp/tmpauT4p9/tmp/tmpauT4p9
creating /tmp/tmpauT4p9/tmp/tmpauT4p9/src.linux-x86_64-2.7
compile options: '-I/tmp/tmpauT4p9/src.linux-x86_64-2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c'
x86_64-linux-gnu-gcc: /tmp/tmpauT4p9/src.linux-x86_64-2.7/fortranobject.c
In file included from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1761:0,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarrayobject.h:17,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
from /tmp/tmpauT4p9/src.linux-x86_64-2.7/fortranobject.h:13,
from /tmp/tmpauT4p9/src.linux-x86_64-2.7/fortranobject.c:2:
/usr/lib/python2.7/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it by "
^
x86_64-linux-gnu-gcc: /tmp/tmpauT4p9/src.linux-x86_64-2.7/f2py_selected_kindmodule.c
In file included from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1761:0,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarrayobject.h:17,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
from /tmp/tmpauT4p9/src.linux-x86_64-2.7/fortranobject.h:13,
from /tmp/tmpauT4p9/src.linux-x86_64-2.7/f2py_selected_kindmodule.c:17:
/usr/lib/python2.7/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it by "
^
compiling Fortran 90 module sources
Fortran f77 compiler: /usr/bin/gfortran -Wall -ffixed-form -fno-second-underscore -fPIC -O3 -funroll-loops
Fortran f90 compiler: /usr/bin/gfortran -Wall -fno-second-underscore -fPIC -O3 -funroll-loops
Fortran fix compiler: /usr/bin/gfortran -Wall -ffixed-form -fno-second-underscore -Wall -fno-second-underscore -fPIC -O3 -funroll-loops
compile options: '-I/tmp/tmpauT4p9/src.linux-x86_64-2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c'
extra options: '-J/tmp/tmpauT4p9/ -I/tmp/tmpauT4p9/'
gfortran:f90: f2py_selected_kind.f90
compiling Fortran sources
Fortran f77 compiler: /usr/bin/gfortran -Wall -ffixed-form -fno-second-underscore -fPIC -O3 -funroll-loops
Fortran f90 compiler: /usr/bin/gfortran -Wall -fno-second-underscore -fPIC -O3 -funroll-loops
Fortran fix compiler: /usr/bin/gfortran -Wall -ffixed-form -fno-second-underscore -Wall -fno-second-underscore -fPIC -O3 -funroll-loops
compile options: '-I/tmp/tmpauT4p9/src.linux-x86_64-2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c'
extra options: '-J/tmp/tmpauT4p9/ -I/tmp/tmpauT4p9/'
gfortran:f90: /tmp/tmpauT4p9/src.linux-x86_64-2.7/f2py_selected_kind-f2pywrappers2.f90
/usr/bin/gfortran -Wall -Wall -shared /tmp/tmpauT4p9/tmp/tmpauT4p9/src.linux-x86_64-2.7/f2py_selected_kindmodule.o /tmp/tmpauT4p9/tmp/tmpauT4p9/src.linux-x86_64-2.7/fortranobject.o /tmp/tmpauT4p9/f2py_selected_kind.o /tmp/tmpauT4p9/tmp/tmpauT4p9/src.linux-x86_64-2.7/f2py_selected_kind-f2pywrappers2.o -lgfortran -o ./f2py_selected_kind.so
Removing build directory /tmp/tmpauT4p9
['-c', '-c', '--fcompiler=gnu95', '--f90flags="-ffree-line-length-none -ffree-form -xf95-cpp-input -Wall -O3 -fimplicit-none"', '-m', 'kmc_model', 'kind_values_f2py.f90', 'base.f90', 'lattice.f90', 'proclist.f90']
running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building extension "kmc_model" sources
f2py options: []
f2py:> /tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_modelmodule.c
creating /tmp/tmpOUPHrs/src.linux-x86_64-2.7
Reading fortran codes...
Reading file 'kind_values_f2py.f90' (format:free)
Reading file 'base.f90' (format:free)
rmbadname1: Replacing "switch" with "switch_bn".
rmbadname1: Replacing "switch" with "switch_bn".
Reading file 'lattice.f90' (format:free)
Reading file 'proclist.f90' (format:free)
Post-processing...
Block: kmc_model
Block: kind_values
Block: base
Block: del_proc
Block: add_proc
Block: can_do
In: :kmc_model:base.f90:base:can_do
analyzevars: prefix ('pure') were not used
Block: reset_site
Block: reload_system
Block: save_system
Block: set_rate_const
Block: update_accum_rate
Block: update_integ_rate
Block: allocate_system
Block: is_allocated
Block: deallocate_system
Block: get_system_name
In: :kmc_model:base.f90:base:get_system_name
analyzevars: prefix ('pure') were not used
Block: set_system_name
Block: set_kmc_time
Block: get_kmc_time
Block: get_kmc_time_step
Block: get_procstat
Block: get_nrofsites
Block: get_avail_site
Block: get_accum_rate
Block: get_integ_rate
Block: get_rate
Block: increment_procstat
Block: get_walltime
Block: get_volume
Block: get_kmc_step
Block: determine_procsite
Block: update_clocks
Block: get_species
In: :kmc_model:base.f90:base:get_species
analyzevars: prefix ('pure') were not used
Block: replace_species
Block: interval_search_real
Block: assertion_fail
Block: set_null_species
Block: get_null_species
Block: lattice
Block: calculate_lattice2nr
In: :kmc_model:lattice.f90:lattice:calculate_lattice2nr
analyzevars: prefix ('pure') were not used
Block: calculate_nr2lattice
In: :kmc_model:lattice.f90:lattice:calculate_nr2lattice
analyzevars: prefix ('pure') were not used
Block: allocate_system
Block: deallocate_system
Block: add_proc
Block: del_proc
Block: can_do
In: :kmc_model:lattice.f90:lattice:can_do
analyzevars: prefix ('pure') were not used
Block: replace_species
Block: get_species
In: :kmc_model:lattice.f90:lattice:get_species
analyzevars: prefix ('pure') were not used
Block: reset_site
Block: proclist
get_useparameters: mapping for {'map': {'lattice2nr': 'lattice2nr', 'add_proc': 'add_proc', 'replace_species': 'replace_species', 'system_size': 'system_size', 'del_proc': 'del_proc', 'set_rate_const': 'set_rate_const', 'can_do': 'can_do', 'simple_cubic': 'simple_cubic', 'simple_cubic_hollow': 'simple_cubic_hollow', 'reset_site': 'reset_site', 'spuck': 'spuck', 'nr2lattice': 'nr2lattice', 'allocate_system': 'allocate_system', 'get_species': 'get_species'}, 'only': 1} not impl. Block: do_kmc_steps
get_useparameters: mapping for {'map': {'lattice2nr': 'lattice2nr', 'add_proc': 'add_proc', 'replace_species': 'replace_species', 'system_size': 'system_size', 'del_proc': 'del_proc', 'set_rate_const': 'set_rate_const', 'can_do': 'can_do', 'simple_cubic': 'simple_cubic', 'simple_cubic_hollow': 'simple_cubic_hollow', 'reset_site': 'reset_site', 'spuck': 'spuck', 'nr2lattice': 'nr2lattice', 'allocate_system': 'allocate_system', 'get_species': 'get_species'}, 'only': 1} not impl. Block: do_kmc_step
get_useparameters: mapping for {'map': {'lattice2nr': 'lattice2nr', 'add_proc': 'add_proc', 'replace_species': 'replace_species', 'system_size': 'system_size', 'del_proc': 'del_proc', 'set_rate_const': 'set_rate_const', 'can_do': 'can_do', 'simple_cubic': 'simple_cubic', 'simple_cubic_hollow': 'simple_cubic_hollow', 'reset_site': 'reset_site', 'spuck': 'spuck', 'nr2lattice': 'nr2lattice', 'allocate_system': 'allocate_system', 'get_species': 'get_species'}, 'only': 1} not impl. Block: get_next_kmc_step
get_useparameters: mapping for {'map': {'lattice2nr': 'lattice2nr', 'add_proc': 'add_proc', 'replace_species': 'replace_species', 'system_size': 'system_size', 'del_proc': 'del_proc', 'set_rate_const': 'set_rate_const', 'can_do': 'can_do', 'simple_cubic': 'simple_cubic', 'simple_cubic_hollow': 'simple_cubic_hollow', 'reset_site': 'reset_site', 'spuck': 'spuck', 'nr2lattice': 'nr2lattice', 'allocate_system': 'allocate_system', 'get_species': 'get_species'}, 'only': 1} not impl. Block: get_occupation
get_useparameters: mapping for {'map': {'lattice2nr': 'lattice2nr', 'add_proc': 'add_proc', 'replace_species': 'replace_species', 'system_size': 'system_size', 'del_proc': 'del_proc', 'set_rate_const': 'set_rate_const', 'can_do': 'can_do', 'simple_cubic': 'simple_cubic', 'simple_cubic_hollow': 'simple_cubic_hollow', 'reset_site': 'reset_site', 'spuck': 'spuck', 'nr2lattice': 'nr2lattice', 'allocate_system': 'allocate_system', 'get_species': 'get_species'}, 'only': 1} not impl. Block: init
get_useparameters: mapping for {'map': {'lattice2nr': 'lattice2nr', 'add_proc': 'add_proc', 'replace_species': 'replace_species', 'system_size': 'system_size', 'del_proc': 'del_proc', 'set_rate_const': 'set_rate_const', 'can_do': 'can_do', 'simple_cubic': 'simple_cubic', 'simple_cubic_hollow': 'simple_cubic_hollow', 'reset_site': 'reset_site', 'spuck': 'spuck', 'nr2lattice': 'nr2lattice', 'allocate_system': 'allocate_system', 'get_species': 'get_species'}, 'only': 1} not impl. Block: initialize_state
get_useparameters: mapping for {'map': {'lattice2nr': 'lattice2nr', 'add_proc': 'add_proc', 'replace_species': 'replace_species', 'system_size': 'system_size', 'del_proc': 'del_proc', 'set_rate_const': 'set_rate_const', 'can_do': 'can_do', 'simple_cubic': 'simple_cubic', 'simple_cubic_hollow': 'simple_cubic_hollow', 'reset_site': 'reset_site', 'spuck': 'spuck', 'nr2lattice': 'nr2lattice', 'allocate_system': 'allocate_system', 'get_species': 'get_species'}, 'only': 1} not impl. Block: run_proc_nr
get_useparameters: mapping for {'map': {'lattice2nr': 'lattice2nr', 'add_proc': 'add_proc', 'replace_species': 'replace_species', 'system_size': 'system_size', 'del_proc': 'del_proc', 'set_rate_const': 'set_rate_const', 'can_do': 'can_do', 'simple_cubic': 'simple_cubic', 'simple_cubic_hollow': 'simple_cubic_hollow', 'reset_site': 'reset_site', 'spuck': 'spuck', 'nr2lattice': 'nr2lattice', 'allocate_system': 'allocate_system', 'get_species': 'get_species'}, 'only': 1} not impl. Block: put_co_simple_cubic_hollow
get_useparameters: mapping for {'map': {'lattice2nr': 'lattice2nr', 'add_proc': 'add_proc', 'replace_species': 'replace_species', 'system_size': 'system_size', 'del_proc': 'del_proc', 'set_rate_const': 'set_rate_const', 'can_do': 'can_do', 'simple_cubic': 'simple_cubic', 'simple_cubic_hollow': 'simple_cubic_hollow', 'reset_site': 'reset_site', 'spuck': 'spuck', 'nr2lattice': 'nr2lattice', 'allocate_system': 'allocate_system', 'get_species': 'get_species'}, 'only': 1} not impl. Block: take_co_simple_cubic_hollow
get_useparameters: mapping for {'map': {'lattice2nr': 'lattice2nr', 'add_proc': 'add_proc', 'replace_species': 'replace_species', 'system_size': 'system_size', 'del_proc': 'del_proc', 'set_rate_const': 'set_rate_const', 'can_do': 'can_do', 'simple_cubic': 'simple_cubic', 'simple_cubic_hollow': 'simple_cubic_hollow', 'reset_site': 'reset_site', 'spuck': 'spuck', 'nr2lattice': 'nr2lattice', 'allocate_system': 'allocate_system', 'get_species': 'get_species'}, 'only': 1} not impl. Block: touchup_simple_cubic_hollow
get_useparameters: mapping for {'map': {'lattice2nr': 'lattice2nr', 'add_proc': 'add_proc', 'replace_species': 'replace_species', 'system_size': 'system_size', 'del_proc': 'del_proc', 'set_rate_const': 'set_rate_const', 'can_do': 'can_do', 'simple_cubic': 'simple_cubic', 'simple_cubic_hollow': 'simple_cubic_hollow', 'reset_site': 'reset_site', 'spuck': 'spuck', 'nr2lattice': 'nr2lattice', 'allocate_system': 'allocate_system', 'get_species': 'get_species'}, 'only': 1} not impl.Post-processing (stage 2)...
Block: kmc_model
Block: unknown_interface
Block: kind_values
Block: base
Block: del_proc
Block: add_proc
Block: can_do
Block: reset_site
Block: reload_system
Block: save_system
Block: set_rate_const
Block: update_accum_rate
Block: update_integ_rate
Block: allocate_system
Block: is_allocated
Block: deallocate_system
Block: get_system_name
Block: set_system_name
Block: set_kmc_time
Block: get_kmc_time
Block: get_kmc_time_step
Block: get_procstat
Block: get_nrofsites
Block: get_avail_site
Block: get_accum_rate
Block: get_integ_rate
Block: get_rate
Block: increment_procstat
Block: get_walltime
Block: get_volume
Block: get_kmc_step
Block: determine_procsite
Block: update_clocks
Block: get_species
Block: replace_species
Block: interval_search_real
Block: assertion_fail
Block: set_null_species
Block: get_null_species
Block: lattice
Block: calculate_lattice2nr
Block: calculate_nr2lattice
Block: allocate_system
Block: deallocate_system
Block: add_proc
Block: del_proc
Block: can_do
Block: replace_species
Block: get_species
Block: reset_site
Block: proclist
Block: do_kmc_steps
Block: do_kmc_step
Block: get_next_kmc_step
Block: get_occupation
Block: init
Block: initialize_state
Block: run_proc_nr
Block: put_co_simple_cubic_hollow
Block: take_co_simple_cubic_hollow
Block: touchup_simple_cubic_hollow
Building modules...
Building module "kmc_model"...
Constructing F90 module support for "kind_values"...
Variables: ilong ibyte iint rsingle rdouble ishort
Constructing F90 module support for "base"...
Constructing wrapper function "base.del_proc"...
del_proc(proc,site)
Constructing wrapper function "base.add_proc"...
add_proc(proc,site)
Creating wrapper for Fortran function "can_do"("can_do")...
Constructing wrapper function "base.can_do"...
can_do = can_do(proc,site)
Constructing wrapper function "base.reset_site"...
reset_site(site,old_species)
Constructing wrapper function "base.reload_system"...
reloaded = reload_system(input_system_name)
Constructing wrapper function "base.save_system"...
save_system()
Constructing wrapper function "base.set_rate_const"...
set_rate_const(proc_nr,rate)
Constructing wrapper function "base.update_accum_rate"...
update_accum_rate()
Constructing wrapper function "base.update_integ_rate"...
update_integ_rate()
Constructing wrapper function "base.allocate_system"...
allocate_system(input_nr_of_proc,input_volume,input_system_name)
Constructing wrapper function "base.is_allocated"...
result = is_allocated()
Constructing wrapper function "base.deallocate_system"...
deallocate_system()
Creating wrapper for Fortran function "get_system_name"("get_system_name")...
Constructing wrapper function "base.get_system_name"...
get_system_name = get_system_name()
Constructing wrapper function "base.set_system_name"...
set_system_name(input_system_name)
Constructing wrapper function "base.set_kmc_time"...
set_kmc_time(new_kmc_time)
Constructing wrapper function "base.get_kmc_time"...
return_kmc_time = get_kmc_time()
Constructing wrapper function "base.get_kmc_time_step"...
return_kmc_time_step = get_kmc_time_step()
Constructing wrapper function "base.get_procstat"...
return_procstat = get_procstat(proc)
Constructing wrapper function "base.get_nrofsites"...
return_nrofsites = get_nrofsites(proc)
Constructing wrapper function "base.get_avail_site"...
return_avail_site = get_avail_site(proc_nr,field,switch_bn)
Constructing wrapper function "base.get_accum_rate"...
return_accum_rate = get_accum_rate([proc_nr])
Constructing wrapper function "base.get_integ_rate"...
return_integ_rate = get_integ_rate([proc_nr])
Constructing wrapper function "base.get_rate"...
return_rate = get_rate(proc_nr)
Constructing wrapper function "base.increment_procstat"...
increment_procstat(proc)
Constructing wrapper function "base.get_walltime"...
return_walltime = get_walltime()
Constructing wrapper function "base.get_volume"...
return_volume = get_volume()
Constructing wrapper function "base.get_kmc_step"...
return_kmc_step = get_kmc_step()
Constructing wrapper function "base.determine_procsite"...
proc,site = determine_procsite(ran_proc,ran_site)
Constructing wrapper function "base.update_clocks"...
update_clocks(ran_time)
Creating wrapper for Fortran function "get_species"("get_species")...
Constructing wrapper function "base.get_species"...
get_species = get_species(site)
Constructing wrapper function "base.replace_species"...
replace_species(site,old_species,new_species)
Creating wrapper for Fortran subroutine "interval_search_real"("interval_search_real")...
Constructing wrapper function "base.interval_search_real"...
return_field = interval_search_real(arr,value)
Constructing wrapper function "base.assertion_fail"...
assertion_fail(a,r)
Constructing wrapper function "base.set_null_species"...
set_null_species(input_null_species)
Constructing wrapper function "base.get_null_species"...
output_null_species = get_null_species()
Constructing F90 module support for "lattice"...
Variables: substrate_layer site_positions nr_of_layers system_size model_dimension simple_cubic simple_cubic_hollow default_layer unit_cell_size nr2lattice lattice2nr spuck
getarrdims:warning: assumed shape array, using 0 instead of ':'
getarrdims:warning: assumed shape array, using 0 instead of ':'
getarrdims:warning: assumed shape array, using 0 instead of ':'
getarrdims:warning: assumed shape array, using 0 instead of ':'
getarrdims:warning: assumed shape array, using 0 instead of ':'
getarrdims:warning: assumed shape array, using 0 instead of ':'
Creating wrapper for Fortran function "calculate_lattice2nr"("calculate_lattice2nr")...
Constructing wrapper function "lattice.calculate_lattice2nr"...
calculate_lattice2nr = calculate_lattice2nr(site)
Creating wrapper for Fortran function "calculate_nr2lattice"("calculate_nr2lattice")...
Constructing wrapper function "lattice.calculate_nr2lattice"...
calculate_nr2lattice = calculate_nr2lattice(nr)
Constructing wrapper function "lattice.allocate_system"...
allocate_system(nr_of_proc,input_system_size,system_name)
Constructing wrapper function "lattice.deallocate_system"...
deallocate_system()
Constructing wrapper function "lattice.add_proc"...
add_proc(proc,site)
Constructing wrapper function "lattice.del_proc"...
del_proc(proc,site)
Creating wrapper for Fortran function "can_do"("can_do")...
Constructing wrapper function "lattice.can_do"...
can_do = can_do(proc,site)
Constructing wrapper function "lattice.replace_species"...
replace_species(site,old_species,new_species)
Creating wrapper for Fortran function "get_species"("get_species")...
Constructing wrapper function "lattice.get_species"...
get_species = get_species(site)
Constructing wrapper function "lattice.reset_site"...
reset_site(site,old_species)
Constructing F90 module support for "proclist"...
Variables: co seed_arr default_species seed_size nr_of_species nr_of_proc seed co_adsorption co_desorption representation_length empty
getarrdims:warning: assumed shape array, using 0 instead of ':'
Constructing wrapper function "proclist.do_kmc_steps"...
do_kmc_steps(n)
Constructing wrapper function "proclist.do_kmc_step"...
do_kmc_step()
Constructing wrapper function "proclist.get_next_kmc_step"...
proc_nr,nr_site = get_next_kmc_step()
Constructing wrapper function "proclist.get_occupation"...
occupation = get_occupation()
Constructing wrapper function "proclist.init"...
init(input_system_size,system_name,layer,seed_in,[no_banner])
Constructing wrapper function "proclist.initialize_state"...
initialize_state(layer,seed_in)
Constructing wrapper function "proclist.run_proc_nr"...
run_proc_nr(proc,nr_site)
Constructing wrapper function "proclist.put_co_simple_cubic_hollow"...
put_co_simple_cubic_hollow(site)
Constructing wrapper function "proclist.take_co_simple_cubic_hollow"...
take_co_simple_cubic_hollow(site)
Constructing wrapper function "proclist.touchup_simple_cubic_hollow"...
touchup_simple_cubic_hollow(site)
Wrote C/API module "kmc_model" to file "/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_modelmodule.c"
Fortran 90 wrappers are saved to "/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_model-f2pywrappers2.f90"
adding '/tmp/tmpOUPHrs/src.linux-x86_64-2.7/fortranobject.c' to sources.
adding '/tmp/tmpOUPHrs/src.linux-x86_64-2.7' to include_dirs.
copying /usr/lib/python2.7/dist-packages/numpy/f2py/src/fortranobject.c -> /tmp/tmpOUPHrs/src.linux-x86_64-2.7
copying /usr/lib/python2.7/dist-packages/numpy/f2py/src/fortranobject.h -> /tmp/tmpOUPHrs/src.linux-x86_64-2.7
adding '/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_model-f2pywrappers2.f90' to sources.
build_src: building npy-pkg config files
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
customize Gnu95FCompiler
customize Gnu95FCompiler using build_ext
building 'kmc_model' extension
compiling C sources
C compiler: x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC

creating /tmp/tmpOUPHrs/tmp
creating /tmp/tmpOUPHrs/tmp/tmpOUPHrs
creating /tmp/tmpOUPHrs/tmp/tmpOUPHrs/src.linux-x86_64-2.7
compile options: '-I/tmp/tmpOUPHrs/src.linux-x86_64-2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c'
x86_64-linux-gnu-gcc: /tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_modelmodule.c
In file included from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1761:0,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarrayobject.h:17,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
from /tmp/tmpOUPHrs/src.linux-x86_64-2.7/fortranobject.h:13,
from /tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_modelmodule.c:18:
/usr/lib/python2.7/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it by "
^
/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_modelmodule.c: In function ‘f2py_setup_lattice’:
/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_modelmodule.c:4699:35: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
f2py_lattice_def[i_f2py++].func = nr2lattice;
^
/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_modelmodule.c:4700:35: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
f2py_lattice_def[i_f2py++].func = lattice2nr;
^
/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_modelmodule.c: In function ‘f2py_setup_proclist’:
/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_modelmodule.c:4747:36: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
f2py_proclist_def[i_f2py++].func = seed_arr;
^
/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_modelmodule.c: At top level:
/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_modelmodule.c:144:12: warning: ‘f2py_size’ defined but not used [-Wunused-function]
static int f2py_size(PyArrayObject* var, ...)
^
x86_64-linux-gnu-gcc: /tmp/tmpOUPHrs/src.linux-x86_64-2.7/fortranobject.c
In file included from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1761:0,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/ndarrayobject.h:17,
from /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/arrayobject.h:4,
from /tmp/tmpOUPHrs/src.linux-x86_64-2.7/fortranobject.h:13,
from /tmp/tmpOUPHrs/src.linux-x86_64-2.7/fortranobject.c:2:
/usr/lib/python2.7/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it by "
^
compiling Fortran 90 module sources
Fortran f77 compiler: /usr/bin/gfortran -Wall -ffixed-form -fno-second-underscore -fPIC -O3 -funroll-loops
Fortran f90 compiler: /usr/bin/gfortran -ffree-line-length-none -ffree-form -xf95-cpp-input -Wall -O3 -fimplicit-none -fPIC -O3 -funroll-loops
Fortran fix compiler: /usr/bin/gfortran -Wall -ffixed-form -fno-second-underscore -ffree-line-length-none -ffree-form -xf95-cpp-input -Wall -O3 -fimplicit-none -fPIC -O3 -funroll-loops
compile options: '-I/tmp/tmpOUPHrs/src.linux-x86_64-2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c'
extra options: '-J/tmp/tmpOUPHrs/ -I/tmp/tmpOUPHrs/'
gfortran:f90: kind_values_f2py.f90
gfortran:f90: base.f90
gfortran:f90: lattice.f90
gfortran:f90: proclist.f90
compiling Fortran sources
Fortran f77 compiler: /usr/bin/gfortran -Wall -ffixed-form -fno-second-underscore -fPIC -O3 -funroll-loops
Fortran f90 compiler: /usr/bin/gfortran -ffree-line-length-none -ffree-form -xf95-cpp-input -Wall -O3 -fimplicit-none -fPIC -O3 -funroll-loops
Fortran fix compiler: /usr/bin/gfortran -Wall -ffixed-form -fno-second-underscore -ffree-line-length-none -ffree-form -xf95-cpp-input -Wall -O3 -fimplicit-none -fPIC -O3 -funroll-loops
compile options: '-I/tmp/tmpOUPHrs/src.linux-x86_64-2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c'
extra options: '-J/tmp/tmpOUPHrs/ -I/tmp/tmpOUPHrs/'
gfortran:f90: /tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_model-f2pywrappers2.f90
/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_model-f2pywrappers2.f90:122:19:

   integer r,i,j
               1

Warning: Unused variable ‘j’ declared at (1) [-Wunused-variable]
/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_model-f2pywrappers2.f90:152:19:

   integer r,i,j
               1

Warning: Unused variable ‘j’ declared at (1) [-Wunused-variable]
/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_model-f2pywrappers2.f90:206:10:

   use lattice, only : substrate_layer
      1

Warning: Unused module variable ‘lattice2nr’ which has been explicitly imported at (1) [-Wunused-variable]
/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_model-f2pywrappers2.f90:206:10:

   use lattice, only : substrate_layer
      1

Warning: Unused module variable ‘nr2lattice’ which has been explicitly imported at (1) [-Wunused-variable]
/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_model-f2pywrappers2.f90:269:19:

   integer r,i,j
               1

Warning: Unused variable ‘j’ declared at (1) [-Wunused-variable]
/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_model-f2pywrappers2.f90:295:10:

   use proclist, only : co
      1

Warning: Unused module variable ‘seed_arr’ which has been explicitly imported at (1) [-Wunused-variable]
/usr/bin/gfortran -Wall -Wall -shared /tmp/tmpOUPHrs/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_modelmodule.o /tmp/tmpOUPHrs/tmp/tmpOUPHrs/src.linux-x86_64-2.7/fortranobject.o /tmp/tmpOUPHrs/kind_values_f2py.o /tmp/tmpOUPHrs/base.o /tmp/tmpOUPHrs/lattice.o /tmp/tmpOUPHrs/proclist.o /tmp/tmpOUPHrs/tmp/tmpOUPHrs/src.linux-x86_64-2.7/kmc_model-f2pywrappers2.o -lgfortran -o ./kmc_model.so
Removing build directory /tmp/tmpOUPHrs
`

Multi-line species representation

Hey,

When using get_ase_constructor, one commonly gets an Atoms string which spans multiple lines.
I have the impression that in the representation of species, only single quotes together with \ or \n\ will give the right result in the kmc_settings.py file.

it would be convenient, however, if one could simply use the multi-line string " " " <...> " " " , just like in the lattice representation.

Example:

pt.add_species(name='HYDR',
color='#000000',
representation = """Atoms(symbols='H',
pbc=np.array([False, False, False], dtype=bool),
cell=np.array(
[[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]]),
scaled_positions=np.array(
[[ 0. , 0. , 0.5]]))""")

With or without brackets around the Atoms(...), this would result in a representation of the species in kmc_settings.py with only single quotes, leading to the following error when starting the run (no errors during build):

Traceback (most recent call last):
File "kmos_api_speedtest.py", line 6, in
model = KMC_Model(print_rates=False, banner=False)
File "/home/maxime/.local/lib/python2.6/site-packages/kmos/run.py", line 87, in init
self.parameters = Model_Parameters(self.print_rates)
File "/home/maxime/.local/lib/python2.6/site-packages/kmos/run.py", line 565, in init
self.dict.update(settings.parameters)
AttributeError: 'NoneType' object has no attribute 'parameters'

If, however, the following is use instead:
pt.add_species(name='HYDR',
color='#000000',
representation = "Atoms(symbols='H',
pbc=np.array([False, False, False], dtype=bool),
cell=np.array(
[[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]]),
scaled_positions=np.array(
[[ 0. , 0. , 0.5]]))")

everything runs as it should.

Maxime

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.