|Subject:||Re: [ESPResSo-users] track a particle in each time step|
|Date:||Wed, 19 Mar 2014 11:24:57 +0100|
|User-agent:||Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0|
what you would like to do is currently not possible with the observables. In principle the challenge for your system lies in evaluating a certain observable in every step and do some postprocessing. By using lots of "integrate 1"s the code becomes slow.
The idea of "observables" is to have something generic mechanism to calculate averages, variances, correlations, MSDs and so on, where the analysis is done on the fly. Observables are in principle just n-dimensional vectors, which can be used for postprocessing. Currently this is mostly used in conjuction with "correlations", i.e. quantities that depend on the state of the system for two different times. This includes MSDs. Check the Espresso 3.1 paper for details.
My question again is: What exactly are you interested in? The probability to find a monomer inside a certain subvolume? Then you can construct a new observable "is_in_subvolume" which is 1 if the monomer is in, and which is 0 if it is not. Then you can calculate the average of this observable, to obtain the probability.
To get a good estimate of this quantity it is however not necessary to sample every time step. The ballistic time scale 1/gamma is an the highest sampling rate you will need.
If you are interested in first passage times, it becomes more difficult. Then you need something like and "event recorder" which is currently not implemented.
How much slower does the "integrate 1" make your code?
I hope that helps.
On 03/19/2014 11:06 AM, Narges Nikoofard wrote:
|[Prev in Thread]||Current Thread||[Next in Thread]|