You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(md): add CSVR thermostat for NVT molecular dynamics (deepmodeling#7461)
* feat(md): add CSVR thermostat for NVT molecular dynamics
Implement the Canonical Sampling through Velocity Rescaling (CSVR)
thermostat as described in:
G. Bussi, D. Donadio, M. Parrinello, J. Chem. Phys. 126, 014101 (2007)
Features:
- New thermostat option: md_thermostat = csvr
- New parameter: md_csvr_tau (characteristic time scale)
- Properly samples the canonical (NVT) ensemble
- Simple implementation with only one parameter
Implements deepmodeling#6941
* docs(md): add CSVR thermostat documentation
- Add csvr option to md_thermostat parameter description
- Add md_csvr_tau parameter documentation
Implements deepmodeling#6941
* test(md): add unit test for CSVR thermostat
Add CSVR thermostat test case to verlet_test.cpp:
- Test position update correctness
- Verify temperature is in reasonable range
Implements deepmodeling#6941
* fix: address review comments for CSVR thermostat
- Fix degrees of freedom: use 3N - frozen_freedom instead of frozen_freedom
- Use MD_func::gaussrand() instead of std::random for consistency
- Simplify CSVR core formula with factor2 variable
- Remove unused #include <random>
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
---------
Co-authored-by: monkeycode-ai <monkeycode-ai@chaitin.com>
Copy file name to clipboardExpand all lines: docs/advanced/input_files/input-main.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3194,6 +3194,7 @@
3194
3194
- berendsen: Berendsen thermostat, see md_nraise in detail.
3195
3195
- rescaling: velocity Rescaling method 1, see md_tolerance in detail.
3196
3196
- rescale_v: velocity Rescaling method 2, see md_nraise in detail.
3197
+
- csvr: Canonical Sampling through Velocity Rescaling, see md_csvr_tau in detail.
3197
3198
-**Default**: nhc
3198
3199
3199
3200
### md_tfirst
@@ -3445,6 +3446,13 @@
3445
3446
-**Default**: 1.0
3446
3447
-**Unit**: fs
3447
3448
3449
+
### md_csvr_tau
3450
+
3451
+
-**Type**: Real
3452
+
-**Description**: The characteristic time scale for the CSVR (Canonical Sampling through Velocity Rescaling) thermostat. Larger values give weaker coupling (longer relaxation time), smaller values give stronger coupling (shorter relaxation time). Recommended value: 100 * md_dt.
0 commit comments