Skip to content

Commit a36008c

Browse files
authored
Merge branch 'master' into gpu-constraints
2 parents 21e0104 + d1cacc6 commit a36008c

28 files changed

+15572
-403
lines changed

NEWS.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
# Molly.jl release notes
22

3+
## v0.22.3 - Jul 2025
4+
5+
### Bug fixes
6+
- A bug when calculating the potential energy of a system using Measurements.jl is fixed.
7+
8+
## v0.22.2 - Jun 2025
9+
10+
### New features
11+
- `write_structure` is added to allow a system to be written to a file.
12+
- `TrajectoryWriter` now writes out better PDB files. `StructureWriter` is now an alias for `TrajectoryWriter` with the PDB format and will be removed in a future breaking release. It is recommended to replace instances of `StructureWriter` with `TrajectoryWriter`.
13+
- The `excluded_res` and `write_boundary` keyword arguments can now be given to `TrajectoryWriter`. The `atom_inds` keyword argument can now be given to `StructureWriter`.
14+
- `AtomData`can now store `chain_id` and `hetero_atom`, allowing better file writing.
15+
- The Urey-Bradley potential is added as `UreyBradley`.
16+
- The mixing functions `waldman_hagler_σ_mixing`, `waldman_hagler_ϵ_mixing` and `fender_halsey_ϵ_mixing` are added.
17+
- Additional keyword arguments can now be provided to the `System` constructor taking in an AtomsBase system.
18+
19+
### Bug fixes
20+
- A bug when initialising forces in `LangevinSplitting` is fixed.
21+
- A bug when converting from an AtomsBase system without velocities is fixed.
22+
- A bug when setting up a system with infinite boundaries from a file is fixed.
23+
324
## v0.22.1 - Mar 2025
425

526
### New features

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "Molly"
22
uuid = "aa0f7f06-fcc0-5ec4-a7f3-a573f33f9c4c"
33
authors = ["Joe G Greener <jgreener@hotmail.co.uk>"]
4-
version = "0.22.1"
4+
version = "0.22.3"
55

66
[deps]
77
Atomix = "a9b6321e-bd34-4604-b9c9-b65b8de01458"
@@ -62,7 +62,7 @@ Distances = "0.10"
6262
Distributions = "0.23, 0.24, 0.25"
6363
Enzyme = "0.13.20"
6464
EzXML = "1"
65-
GLMakie = "0.8, 0.9, 0.10, 0.11"
65+
GLMakie = "0.8, 0.9, 0.10, 0.11, 0.12, 0.13"
6666
GPUArrays = "11"
6767
Graphs = "1.8"
6868
KernelAbstractions = "0.9"

docs/src/differentiable.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ The [code is available](https://github.com/greener-group/GB99dms).
428428

429429
## Reversible simulation
430430

431-
Molly.jl was also used to code [reversible simulation](https://arxiv.org/abs/2412.04374), an extension of differentiable simulation with RAD where the gradients are calculated explicitly.
431+
Molly.jl was also used to code [reversible simulation](https://doi.org/10.1073/pnas.2426058122), an extension of differentiable simulation with RAD where the gradients are calculated explicitly.
432432
This means the memory cost is constant in step number.
433433

434434
## Molecular loss functions

docs/src/documentation.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,11 @@ visualize(sys.loggers.coords, boundary, "sim_lj.mp4")
137137
```
138138
![LJ simulation](images/sim_lj.gif)
139139

140+
A Molly [`System`](@ref) can also be constructed from an AtomsBase.jl system. For example:
141+
```julia
142+
System(ab_sys; force_units=u"kJ/Å", energy_units=u"kJ")
143+
```
144+
140145
## GPU acceleration
141146

142147
To run simulations on the GPU you will need to have a GPU available and then load the appropriate package:
@@ -577,6 +582,7 @@ The available specific interactions are:
577582
- [`FENEBond`](@ref) - 2 atoms
578583
- [`HarmonicAngle`](@ref) - 3 atoms
579584
- [`CosineAngle`](@ref) - 3 atoms
585+
- [`UreyBradley`](@ref) - 3 atoms
580586
- [`PeriodicTorsion`](@ref) - 4 atoms
581587
- [`RBTorsion`](@ref) - 4 atoms
582588

@@ -1097,6 +1103,7 @@ The available loggers are:
10971103
- [`GeneralObservableLogger`](@ref)
10981104
- [`TemperatureLogger`](@ref)
10991105
- [`CoordinatesLogger`](@ref)
1106+
- [`DisplacementLogger`](@ref)
11001107
- [`VelocitiesLogger`](@ref)
11011108
- [`TotalEnergyLogger`](@ref)
11021109
- [`KineticEnergyLogger`](@ref)

docs/src/examples.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -439,9 +439,9 @@ save("polymer_angle.png", f)
439439
```
440440
![Polymer angles](images/polymer_angle.png)
441441

442-
## Machine learning potentials
442+
## ACE potentials
443443

444-
There is [an example](https://acesuit.github.io/ACEpotentials.jl/dev/tutorials/molly) of using ACE potentials in Molly.
444+
There is [an example](https://acesuit.github.io/ACEmd.jl/stable/molly) of using ACE potentials in Molly via [ACEmd.jl](https://github.com/ACEsuit/ACEmd.jl).
445445

446446
## Python ASE calculator
447447

docs/src/exercises.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Molly exercises
22

3-
A notebook with exercises covering various parts of Molly is available [here](https://github.com/noeblassel/SINEQSummerSchool2023/blob/main/notebooks/molly_average.ipynb), with answers available [here](https://github.com/noeblassel/SINEQSummerSchool2023/blob/main/notebooks/molly_average_answers.ipynb).
3+
A notebook with exercises covering various parts of Molly is available [here](https://github.com/JuliaMolSim/Molly.jl/tree/master/exercises).
44

55
Another notebook with exercises on computing transport coefficients with Molly is available [here](https://github.com/noeblassel/SINEQSummerSchool2023/blob/main/notebooks/shear_viscosity.ipynb).

docs/src/publications.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ A paper involving more contributors with further details on the software will be
99
Other papers that use, contribute to or are compatible with Molly are listed below:
1010

1111
- Martínez L. CellListMap.jl: Efficient and customizable cell list implementation for calculation of pairwise particle properties within a cutoff, [Comput Phys Commun](https://doi.org/10.1016/j.cpc.2022.108452) 279, 108452 (2022)
12-
- Blassel N and Stoltz G. Fixing the flux: A dual approach to computing transport coefficients, [arXiv](https://arxiv.org/abs/2305.08224) (2023)
1312
- Witt WC et al. ACEpotentials.jl: A Julia implementation of the atomic cluster expansion, [J Chem Phys](https://doi.org/10.1063/5.0158783) 159, 164101 (2023)
14-
- Greener JG. Reversible molecular simulation for training classical and machine learning force field, [arXiv](https://arxiv.org/abs/2412.04374) (2024)
13+
- Blassel N and Stoltz G. Fixing the Flux: A Dual Approach to Computing Transport Coefficients, [Journal of Statistical Physics](https://doi.org/10.1007/s10955-024-03230-x) 191, 17 (2024)
1514
- Spacek R, Monmarché P and Stoltz G. Transient Subtraction: A Control Variate Method for Computing Transport Coefficients, [Journal of Statistical Physics](https://doi.org/10.1007/s10955-025-03424-x) 192, 53 (2025)
15+
- Wu X, Shang X. Stochastic Norton Dynamics: An Alternative Approach for the Computation of Transport Coefficients in Dissipative Particle Dynamics, [arXiv](https://arxiv.org/abs/2504.14479) (2025)
16+
- Greener JG. Reversible molecular simulation for training classical and machine learning force field, [Proceedings of the National Academy of Sciences](https://doi.org/10.1073/pnas.2426058122) 122(22), e2426058122 (2025)

0 commit comments

Comments
 (0)