Skip to content

heat_hybrid: An ensemble can handle both NH and Langevin thermostats during NMED simulations with a single heat source and multiple heat sinks.#1617

Merged
brucefan1983 merged 2 commits into
brucefan1983:masterfrom
Astro093:master
Jul 20, 2026

Conversation

@Astro093

Copy link
Copy Markdown
Contributor

Summary This PR adds heat_hybrid functionality to support both NH (Nose-Hoover) and Langevin thermostats during NMED simulations.

Modification The heat_hybrid feature can handle both Nose–Hoover and Langevin thermostats simultaneously while performing NEMD simulations. It was generalized for scenarios with a single heat source and multiple heat sinks. This feature allows NEMD simulations to be performed irrespective of thermostat type, so that current heat_lan and heat_nhc options may no longer be required. However, the current version still supports those options for backward compatibility.

Modified: integrate.cuh, integrate.cu, ensemble.cu, ensemble.cuh, compute.cuh, compute.cu
Added: ensemble_heat_hybrid.cu, ensemble_heat_hybrid.cuh

Licensing I agree to license this contribution under GPLv3.

By submitting this pull request, I agree that my contribution will be included in GPUMD and redistributed under the existing GPUMD license. Newly added source files follow the existing GPUMD license-header style when applicable. No external source code with incompatible licensing has been copied into this pull request.

Validation

  • heat_hybrid tested against legacy heat_lan and heat_nhc methods with two thermal reservoirs
  • heat_lan and heat_nhc were tested individually for backward compatibility.

Usage
Syntax :
Example 1: system with a single heat source and sink
ensemble heat_hybrid nhc lan <T> <T_coup> <T_coup> <delta_T> <label_source> <label_sink>

Example 2: system with a single heat source and multiple heat sinks
ensemble heat_hybrid lan nhc nhc <T> <T_coup> <T_coup> <T_coup> <delta_T> <label_source> <label_sink1> <label_sink2>

Astro093 added 2 commits July 16, 2026 16:26
… simulation

The `heat_hybrid` feature can handle both Nose–Hoover and Langevin thermostats simultaneously while performing NEMD simulations. It was generalized for scenarios with a single heat source and multiple heat sinks. This feature allows NEMD simulations to be performed irrespective of thermostat type, so the current `heat_lan` and `heat_nhc` options may no longer be required. However, the current version still supports those options for backward compatibility.

Modified: `integrate.cuh`, `integrate.cu`, `ensemble.cu`, `ensemble.cuh`, `compute.cuh`, `compute.cu`
Added: `ensemble_heat_hybrid.cu`, `ensemble_heat_hybrid.cuh`
@brucefan1983
brucefan1983 merged commit 0c7e766 into brucefan1983:master Jul 20, 2026
2 checks passed
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.

2 participants