This function do the MC Cycle to calculate the diffusion and free
energy profile over the bins and save the results in an output hdf5
file. This happens with the adjustment of the coefficient from the model
which is set with the appropriate model class. The code determines the
results for all lag times for which a transition matrix was calculated.
The results can be displayed with the post process functions.
The MC Algorithm is divided in two parts. Frist ab equilibrium MC run starts
to adjust the profile. The number of the equilibrium runs can be set with
\(\text{nmc\_eq}\). After the equilibrium phase the sampling of the diffusion
profile can start. In this part the MC Algorithm calculates in every step
a new diffusion profile. The average over all profiles which are yields in
MC production will be determined. The received profile gives the final
result. The MC algorithm calculates a diffusion profile for each step length
previously specified in the sampling
(poreana.sample.Sample.init_diffusion_mc()
) and thus, for each lag
time. Here you have to set also step the move width of a MC step.
More information about a MC step can be found in
The MC accepted criterium for a MC step is define as
with \(T\) as the temperature, \(r\) as a random number between
\(0\) and \(1\) and \(L_\text{new}\) and
\(L_\text{old}\) as the likelihood for the current and the last
step. The likelihood is calculated with _log_likelihood_z()
function.
Model object which set before with the model class
Link to output hdf5 data file
Number of equilibrium MC steps
Number of production MC steps
Potential MC move width
ln(diffusion) MC move width
Number of moves between MC step width adjustments (=0 if no adjustment is required)
Temperature in Monte Carlo acceptance criterium
Number of cores to use
Print MC step every print_freq
True to print output
True to calculate the radial diffusion
True to run parallelized sampling