public function random_walkers(p, L, num_systems, num_walkers, num_steps) result(displacement)
Start num_walkers on the percolating cluster of each of num_systems
systems, and return the averaged displacement.
Arguments
Type
Intent
Optional
Attributes
Name
real(kind=dp),
intent(in)
::
p
The probability for each site to allow transport.
integer,
intent(in)
::
L
The system size.
integer,
intent(in)
::
num_systems
The number of systems over which to average.
integer,
intent(in)
::
num_walkers
The number of random walkers for each system over which to average.
integer,
intent(in)
::
num_steps
The number of steps which the random walkers take.
Return Value real(kind=dp),
dimension(:),allocatable
Array of squared displacements, which has dimension
(num_steps + 1),
and should logically have dimension(0:num_steps), such that
the i'th element contains the displacement after i steps.
Averaged over all systems and all walkers.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.