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

Phonon thermostat #349

Merged
merged 87 commits into from
Feb 19, 2025
Merged

Phonon thermostat #349

merged 87 commits into from
Feb 19, 2025

Conversation

Alexsp32
Copy link
Member

@Alexsp32 Alexsp32 commented Jul 22, 2024

Phonon thermostatting in NQCD

Implements MDEF + 2TM with Phonon coupling (#73) by changing Simulations to allow the use of different temperatures (either a constant value or function) for each atom by using Thermostats, which behave like a Subsystem (see NQCD/NQCModels.jl#39), applying a temperature to parts of a Simulation.

Combine with NQCD/NQCModels.jl#39, which introduces Subsystems, which apply a Model exclusively to certain atoms in a Simulation. These can be combined arbitrarily for Model types implementing potential, derivative or friction to generate a combined friction matrix for electronic and phononic friction.

image

CompositeModel and Thermostat struct


ToDo

  • Update documentation for new additions.
  • Demonstrate usage with harmonic oscillator model used to validate implementation.
  • Turn validation examples into unit tests.

Alexsp32 and others added 30 commits January 19, 2024 10:21
OutputTemperature should hopefully not cause OOMs any more.
OutputFirst changed to OutputInitial, fits better with OutputFinal
Copy link
Member

@reinimaurer1 reinimaurer1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left lots of minor comments, mostly related to docs. There is one bit I don't quite understand, but we can discuss offline at some point.

@Alexsp32
Copy link
Member Author

Thermostat is pretty self explanatory, is it not? What about other ensembles? E.g. barostats?

Yes, however the Integrator chosen as part of the DynamicsMethod decides the implementation of the thermostat, while these structs just store a temperature and which parts of the system experience it.

@Alexsp32
Copy link
Member Author

@reinimaurer1 ready for re-review

Copy link
Member

@reinimaurer1 reinimaurer1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the changes. all good

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Documentation: Explain how to set temperature for MDEF + 2TM simulations
2 participants