Skip to content

Implement smooth interpolation of thermodynamic force #47

@J-Hizzle

Description

@J-Hizzle

At the moment, the thermodynamic force is calculated for each bin within which a value of density is sampled over a range of simulation steps. The calculated thermodynamic force is then applied to particles according to the density bin where they reside.

This gives rise to a statistical conundrum:

  1. If I choose density bins coarse enough so that they sample many particles, the quality of the density profile increases. However, this happens at the cost of resolution for the thermodynamic force and may result in large deviations of force from one bin to another. Since the particles feel the same force regardless of where they are within the bin, these discontinuities create artificial interfaces that may result in unnatural density oscillations.
    I observed this effect in simulations, where even coarse-enough binning and very long simulations would suffer from persistent density oscillations throughout the Delta region.
  2. If I choose density bins with very fine resolution, the sampling becomes worse and the thermodynamic force becomes very noisy. However, even at very long simulation times, I can expect density oscillations that are a natural consequence of the presence of the Delta/TR interface and thus can not simply be compensated by the thermodynamic force.
    I did observe that those oscillations persist at fine resolutions close to the Delta/TR interface and the thermodynamic force eventually diverges in the attempt to compensate for these.

A potential solution would be the introduction of an interpolation scheme for the thermodynamic force. This could be realized by either

  1. keeping the iteration machinery as it is now and interpolating the force data points whenever the thermodynamic force is applied
    or by
  2. detaching the density bin grid from the thermodynamic force grid and using an interpolated force function to write on the much finer force grid in each iteration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions