Help main page
Monte Carlo parameters
The Monte Carlo calculation involves the random generation of a large number of polymer chains, followed by sampling of the distribution function by counting the number of chains that satisfy the given criteria. The chains are generated by stitching together discrete straight segments, which bend and twist randomly from a Gaussian distribution determined by the bending and twist persistence lengths and the length of each segment. Chain generation is affected by the following parameters:
- segments per lp: the number of straight chain segments per persistence length of the polymer. This number does not have to be an integer (so, say, 15.3 is an acceptable value), but it should definitely be much greater than 1 -- i.e. the segment length should be much smaller than a persistence length, as well as much smaller than a twist persistence length. The smaller the segment the longer the runtime, but the more faithful the representation of a continuous polymer the discrete chain will be.
- num samples: the number of independent polymer chains to generate. More chains requires more runtime but generates better statistics.
The sampling of the chains is determined by the remaining three parameters:
- sampling radius: the radius of the sphere about the target displacement that the final end may lie within. The probability of randomly generating a chain with exactly the specified displacement is exactly zero, so we instead count the number of chains within this 'error' radius. A larger radius gives better counting statistics but averages the distribution over a larger volume, so that it is measured at low spatial resolution.
- angle allowance: the allowed deviation in final tangent/twist angles for sampling purposes. As is true for the displacement, no random chain will have exactly the specified final tangent and twist angles, so we instead sample all tangents/twists within this window. Unlike the other angles in the program, this angle is given in degrees.
The Monte Carlo method generates both an estimate of the distribution, and an estimate of the error (one standard deviation) based on its counting statistics. If the error is too large, or, as frequently happens, the distribution evaluates to zero when it shouldn't be (in which case the error reads 0 only because the program doesn't know how to assign it), then the statistics need to be improved. To improve the statistics, one can either increase the number of chains that are generated (which increases runtime), or widen the sampling window by increasing the sampling radius or tangent/twist allowances (which average the distribution and thus lower resolution).