Skip to content

Commit

Permalink
Merge 50ef892 into 969f37e
Browse files Browse the repository at this point in the history
  • Loading branch information
ElliottKasoar committed May 16, 2024
2 parents 969f37e + 50ef892 commit b36c851
Show file tree
Hide file tree
Showing 10 changed files with 993 additions and 3 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
*.cif
*.xyz
*.yml
*.yaml
*.pdf
*.hdf5
~*
*~
.project
Expand Down
25 changes: 23 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ Tools for machine learnt interatomic potentials
- NVT (Langevin(Eijnden/Ciccotti flavour) and Nosé-Hoover (Melchionna flavour))
- NPT (Nosé-Hoover (Melchiona flavour))
- [ ] Nudge Elastic Band
- [ ] Phonons
- vibroscopy
- [x] Phonons
- Phonopy
- [x] Training ML potentials
- MACE
- [x] Fine tunning MLIPs
Expand Down Expand Up @@ -171,6 +171,27 @@ This performs the same initial heating, before running a further 1000 steps (1 p
When MD is run with heating the trajectory ```NaCl-nvt-T20.0-T300.0-T300.0-traj.xyz``` and statistics ```NaCl-nvt-T20.0-T300.0-T300.0-stats.dat``` files will indicate the heating range and MD temperature (which may be different). With heating and MD trajectories/statistics within the same files.


### Phonons

Calculate phonons with a 2x2x2 supercell, after geometry optimization (using the [MACE-MP](https://github.com/ACEsuit/mace-mp):

```shell
janus phonons --struct tests/data/NaCl.cif --supercell 2x2x2 --minimize --arch mace_mp --calc-kwargs "{'model' : 'small'}"
```

This will save the Phonopy parameters, including displacements and force constants, to `NaCl-params.yml`, and the calculated band structure to `NaCl-auto-band.yml`, in addition to generating a log file, `phonons.log`, and summary of inputs, `phonons_summary.yml`.

Further calculations, including thermal properties, DOS, and PDOS, can also be calculated (using a 2x3x4 supercell):

```shell
janus phonons --struct tests/data/NaCl.cif --supercell 2x3x4 --dos --pdos --thermal --temp-start 0 --temp-end 300 --temp-step 50
```

This will create additional output files: `NaCl-cv.dat` for the thermal properties (heat capacity, entropy, and free energy) between 0K and 300K, `NaCl-dos.dat` for the DOS, and `NaCl-pdos.dat` for the PDOS.

For all options, run `janus phonons --help`.


### Using configuration files

Default values for all command line options may be specifed through a Yaml 1.1 formatted configuration file by adding the `--config` option. If an option is present in both the command line and configuration file, the command line value takes precedence.
Expand Down
21 changes: 21 additions & 0 deletions docs/source/apidoc/janus_core.rst
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,16 @@ janus\_core.cli.train module
:undoc-members:
:show-inheritance:

janus\_core.cli.phonons module
------------------------------

.. automodule:: janus_core.cli.phonons
:members:
:special-members:
:private-members:
:undoc-members:
:show-inheritance:

janus\_core.cli.types module
----------------------------

Expand Down Expand Up @@ -168,6 +178,17 @@ janus\_core.calculations.md module
:undoc-members:
:show-inheritance:

janus\_core.calculations.phonons module
---------------------------------------

.. automodule:: janus_core.calculations.phonons
:members:
:special-members:
:private-members:
:inherited-members:
:undoc-members:
:show-inheritance:

janus\_core.helpers.stats
-------------------------

Expand Down
2 changes: 2 additions & 0 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
"python": ("https://docs.python.org/3", None),
"numpy": ("https://numpy.org/doc/stable/", None),
"ase": ("https://wiki.fysik.dtu.dk/ase/", None),
"phonopy": ("https://phonopy.github.io/phonopy/", None),
}

# Add any paths that contain templates here, relative to this directory.
Expand Down Expand Up @@ -198,4 +199,5 @@
("py:class", "typer.models.Context"),
("py:class", "ellipsis"),
("py:class", "janus_core.helpers.stats.T"),
("py:class", "phonopy.structure.atoms.PhonopyAtoms"),
]
Loading

0 comments on commit b36c851

Please sign in to comment.