Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add velocity observables #262

Open
harveydevereux opened this issue Aug 9, 2024 · 0 comments · May be fixed by #285
Open

Add velocity observables #262

harveydevereux opened this issue Aug 9, 2024 · 0 comments · May be fixed by #285
Assignees
Labels
enhancement New/improved feature or request

Comments

@harveydevereux
Copy link
Collaborator

A velocity observable can be added to correlate atom velocities during simulation. These should be constructable from components and atom ranges. The velocity auto-correlation function (VAF) is $\langle v_{i}\cdot v_{i} \rangle$.

This opens a general point about observables that we may want to average over multiple atoms and or components.

To that end a general observable could be constructable as

def __init__(self, components: List[str], atoms: List[int]):
    ....

So the vaf above might be something like,

Velocity(components=["x", "y", "z"], atoms=range(len(structure)))

Where the janus_core.helper.correlator.correlations could be extended to spawn correlators for zip'd components and atoms of a and b. Meaning e.g. a pair of observables both equal to Velocity(components=["x", "y", "z"], atoms=[1,2,3]) results in 9 total correlations (atom $1$ $x-x$, atom $1$ y-y, ..., atom $3$ z-z), which are then automatically averaged to a single set of data (the VAF). Sensible defaults leading to the full VAF.

A user could then fully control the atoms and components correlated.


Questions

  • Should the cases with multiple components and atoms output all correlations to disk? Or just the averaged result? This could be user controlled perhaps.
@harveydevereux harveydevereux self-assigned this Aug 9, 2024
@ElliottKasoar ElliottKasoar added the enhancement New/improved feature or request label Aug 13, 2024
@ElliottKasoar ElliottKasoar linked a pull request Oct 17, 2024 that will close this issue
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New/improved feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants