Skip to content

Commit d3712c6

Browse files
committed
readme
1 parent 30d2a15 commit d3712c6

File tree

1 file changed

+36
-16
lines changed

1 file changed

+36
-16
lines changed

README.md

Lines changed: 36 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,35 +18,57 @@
1818

1919
# Introduction
2020

21-
This iterates over all intermolecular poses between two rigid molecules.
22-
For each pose, defined by two quaternions and a mass center separation, the
23-
intermolecular interaction energy is calculated.
21+
This iterates over all intermolecular poses between two rigid molecules using a regular grid in angular space using subdivided icosahedrons.
22+
For each mass center separation, _R_, the partition function,
23+
$Q(r) = \sum e^{-V(R)/k_BT}$, is explicitly
24+
evaluated to obtain the free energy, $A(R) = -k_BT \ln \langle e^{-V(R)/k_BT} \rangle$ and
25+
the thermally averaged energy,
26+
$$
27+
U(R) = \frac{\sum V(R) e^{-V(R)/k_BT}} {Q}
28+
$$
29+
where $V(R)$ is the inter-body interaction energy averaged over angular space.
2430

25-
For each mass center separation, _r_, the partition function,
26-
$Q(r) = \sum e^{-\beta u(r)}$, is explicitly
27-
evaluated, whereby we can obtain the free energy, $w(r) = -kT \ln \langle e^{-\beta u(r)} \rangle$ and
28-
the thermally averaged energy, $u(r) = \sum u(r)e^{-\beta u(r)} / Q$.
29-
30-
![Angular Scan](assets/illustration.png)
31+
<p align="center">
32+
<img src="assets/illustration.png" alt="crates.io", height="200">
33+
</p>
3134

3235
# Installation
3336

37+
## Using pip (linux x86)
38+
3439
```console
3540
pip install duello
3641
```
3742

43+
## Using Cargo (all platforms)
44+
45+
This requires prior installation of the [Rust](https://www.rust-lang.org/learn/get-started) toolchain.
46+
47+
```sh
48+
cargo install duello
49+
```
50+
51+
Alternatively you may compile and run directly from the source code:
52+
53+
```sh
54+
git clone https://github.com/mlund/duello
55+
cd duello/
56+
cargo run --release -- <args...>
57+
```
58+
3859
# Usage
3960

4061
The command-line tool `duello` does the 6D scanning and calculates
41-
the potential of mean force, _w(r)_ which
42-
is used to derive the 2nd virial coefficient and twobody dissociation constant.
62+
the angularly averaged potential of mean force, _A(R)_ which
63+
is used to derive the 2nd virial coefficient and twobody dissociation constant, $K_d$.
4364
The two input structures should be in `.xyz` format and all particle names must
44-
be defined in the topology file.
65+
be defined in the topology file under `atoms`.
4566
The topology also defines the particular pair-potential to use.
4667
Note that currently, a coulomb potential is automatically added and should
4768
hence _not_ be specified in the topology.
69+
The program is written in Rust and attempts to use all available CPU cores.
4870

49-
```console
71+
```sh
5072
duello scan \
5173
--icotable \
5274
--mol1 cppm-p18.xyz \
@@ -59,8 +81,6 @@ duello scan \
5981
--temperature 298.15
6082
```
6183

62-
The program is written in Rust and attempts to use all available CPU cores.
63-
6484
## Examples
6585

6686
Ready run scripts examples are provided in the `scripts/` directory:
@@ -76,7 +96,7 @@ This is for development purposes only.
7696

7797
## Create `pip` package using Maturin
7898

79-
```console
99+
```sh
80100
pip install ziglang pipx
81101
pipx install maturin # on ubuntu; then restart shell
82102
maturin publish --target=x86_64-unknown-linux-gnu --zig

0 commit comments

Comments
 (0)