Comments (3)
Hi David,
As far as I know, there is no method for keeping track of positions of adsorbates. For the different processes you specify, kmos only stores the total number of executions of each process, not the order in which they were executed (this would require way too much memory for typical simulations of e.g. 1e10 steps). This means that you will only be able to extract averaged information, e.g. if the molecule on average diffused more in one direction than another direction during your simulation.
I am not sure why you would need such detailed information as the exact coordinates of the atoms? Perhaps you could explain a bit more about what physical insight you hope to get from the simulation?
Best,
Mie
from kmos.
Methods to efficiently monitor and store a system's trajectory are indeed not released, but currently under development.
However, there are ways of monitoring a system's trajectory in not so efficient ways. A straightforward way is to look at the output of model.get_atoms()
in each kmc step. This is going to be very inefficient.
An alternative (not ideal, but better) way of doing this, would be to monitor procstat (the number of times each process has been executed) after each kmc step. The function you want is model.base.get_procstat
. This function takes the index of the process. You can get this from variables under model.proclist
named after the processes you defined (i..e. if you have a process that is called Diff_left
, you will find the index of this process under model.proclist.diff_left
). So, to get how many times your particle has taken a step to the left, you can call model.base.get_procstat(model.proclist.diff_left)
. Doing this for each kmc_step will be slow in general, but could be good enough for a simple model like the one you mentioned.
I hope this is clear enough, if you need more clarifications please ask again (I could write a short snippet).
Of course, as Mie said, knowing more about your intended application could help us give more hints on how this could be more efficiently tackled.
Best
Juan
NOTE: This issue is related to #24
from kmos.
Hi,
thanks a lot for your quick responds. My idea was to plot the path of the adsorbate like a random walk as introduction of my system and how KMC works. That is why I chose the adsorption of one atom on a surface as a simple model. After that I am interested in vacancy diffusion of RuPt/Ru(0001) surface alloys, but this topic I did not tackle, yet.
You are right its a bit cumbersome, but I managed to do a simple plot.
Best,
David
from kmos.
Related Issues (20)
- my first kMC model-name.offset.lattice HOT 4
- no reasult like expected---firstmodel HOT 1
- Error: 'Meta' object has no attribute 'model_dimension' HOT 4
- run the example of "AB_model.py" HOT 5
- Segmentation fault on import of pygoocanvas module HOT 3
- Lattice Angles and Periodic Boundaries HOT 2
- Problem using model dimension of 1 in lat_int HOT 5
- error while running kmos view
- JANAF
- example model of 'render_Pt_111'
- error with kmos view command HOT 2
- Errors on the debug mode
- Newer numpy (f2py?) produces strange errors HOT 3
- No command 'kmos' found HOT 1
- TypeError when running kmos view HOT 2
- Example render_pairwise_interaction_otf does not work!
- Fortran runtime error: Array size of PUT is too small HOT 2
- thin film with surface reactions
- Problem with installation HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kmos.