lorenzo-rovigatti / oxDNA

A new version of the code to simulate the oxDNA/oxRNA models, now equipped with Python bindings
https://dna.physics.ox.ac.uk/
GNU General Public License v3.0
38 stars 26 forks source link

oxDNA observable: radial distribution function #95

Closed AdaABen closed 2 months ago

AdaABen commented 3 months ago

Hi, Would it be possible to have additional information about the "Radial Distribution Function" Observable? How it is actually computed? I find confusing the 'axes' option:

DOC: https://lorenzo-rovigatti.github.io/oxDNA/observables.html#radial-distribution-function

Radial distribution function []

type = rdf: the observable type.
max_value = <float>: maximum distance to consider.
bin_size = <float>: bin size for the .
[axes = <string>]: axes to consider in the computation. Mind that the normalization always assumes 3D sytems for the time being. Possible values are x, y, z, xy, yx, zy, yz, xz, zx.

How are the axes defined? Why it is not possible to consider all the directions? Isn't usually the g(r) computed considering the euclidean metric in the 3d space? (both x,y,z)

This is the result I got for a dsDNA of approx 20 base pairs:

Screenshot 2024-03-22 alle 16 35 40

It is rather strange that the g(r) doesn't start from 0, but instead has a rapid decrease.

Thanks a lot for the attention!

lorenzo-rovigatti commented 3 months ago

Hi there! As you can see from the fact that there are square brackets around it, axes is optional and it's usually needed only if you are looking at some specific crystal-forming systems. Just omit it and you should be good to go. Either than that the radial distribution function is defined in the usual way (see e.g. here ). Note that for DNA and RNA the rdf is computed using each nucleotide's centre of mass. About your plot: did you set axes to some value?

lorenzo-rovigatti commented 3 months ago

Do you have any updates? Can I close the issue?