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
Copy file name to clipboardExpand all lines: README.md
+37-39Lines changed: 37 additions & 39 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,46 +1,45 @@
1
1
# SSCHA
2
2
3
-
The stochastic self-consistent harmonic approximation (SSCHA) is a full computational python package that simulates thermodynamic and phononic properties of materials accounting for anharmonicity at a nonperturbative level, fully including quantum and thermal fluctuations.
3
+
The stochastic self-consistent harmonic approximation (SSCHA) is a full computational Python package that simulates thermodynamic and phononic properties of materials, accounting for anharmonicity at a nonperturbative level, fully including quantum and thermal fluctuations.
4
4
5
5
See more info on the webpage:
6
6
7
7
[www.sscha.eu](https://sscha.eu)
8
8
9
-
## Easy installation through Anaconda
10
-
11
-
The SSCHA code comes as a python library, with computationally intense part speedup with C, Fortran and Julia. The easiest way to install is through Anaconda ([how to install anaconda](https://www.anaconda.com/download))
9
+
## Easy installation through Anaconda/Mamba
12
10
11
+
The SSCHA code is available as a Python library, with computationally intensive parts accelerated using C, Fortran, and Julia.
12
+
A quick way to install all the requirements to compile the code in a separate environment is to use `Anaconda`.
13
+
Alternatively, when `anaconda` is too slow, we recommend using `mamba` or `micromamba`. Just replace `coda` with `mamba` or `micromamba`, respectively.
Note, the first time you will startup a sscha calculation, the code will try to download extra packages to setup the python
22
-
julia interface. This process may fail if you do not have an internet connection available, or if the julia installation failed.
23
-
Note, this is not mandatory, as the code will simply fallback to the old fortran implementation (before 1.4), and continue to run.
24
-
25
-
If you want the julia speedup, see the section on Manual installation to preconfigure correctly your system.
22
+
This is the safest and best way to install the SSCHA. The first line creates a new pristine Python environment with all the required libraries to compile the source code. The second line activates the newly installed environment. Then, the third command installs the additional dependencies, and the last line compiles and installs the SSCHA code.
26
23
24
+
Note, the first time you start up a sscha calculation, the code will try to download extra packages to set up the python
25
+
julia interface. This process may fail if you do not have an internet connection available or if the Julia installation failed.
26
+
Note that this is not mandatory, as the code will fall back to the old Fortran implementation (prior to version 1.4) and continue to run.
27
+
To achieve the Julia speedup in such a case, please take a look at the section on Manual Installation to preconfigure your system correctly.
27
28
28
29
## Video lessons from the 2023 School are available
29
30
30
31
The full recordings, both of theoretical lectures, tutorials and Hands-on sessions can be found
31
32
in our youtube channel [SSCHAcode](https://www.youtube.com/@SSCHAcode>)
32
33
33
-
This is the safest and best way to install the SSCHA. The first line creates a new pristine python environment with all the required libraries to compile the source code. The second line activates the newly installed environment. Then, the thrid command installs the additional dependencies, the last line compiles and install the SSCHA code.
34
-
35
-
To use the SSCHA, you must activate the python environment with:
34
+
To use the SSCHA, you must activate the python environment with (replace `conda` with `mamba` or `micromamba` if you use those environment managers):
36
35
37
36
```
38
37
conda activate sscha
39
38
```
40
39
41
-
This installation method should work also on clusters and with computers with custom configurations. You must remember to activate the ``sscha`` environment even in your submission scripts on clusters.
40
+
This installation method should also work on clusters and with computers with custom configurations. You must remember to activate the ``sscha`` environment even in your submission scripts on clusters.
42
41
43
-
To activate the julia speedup on the SSCHA minimization, you must ensure julia dependencies are correctly setup. To do this, run the following line:
42
+
To activate the Julia speedup for SSCHA minimization, ensure that Julia dependencies are correctly set up. To do this, run the following line:
If you do not have anaconda to handle your dependencies you need to manually compile the code.
51
+
If you do not have Anaconda to handle your dependencies, you need to compile the code manually.
53
52
54
-
Most of the codes require a fortran or C compiler and MPI configured. Here we install all the requirements to properly setup the SSCHA code. To properly compile and install the SSCHA code, you need a fortran compiler and LAPACK/BLAS available.
53
+
Most of the codes require a Fortran or C compiler and an MPI configured. Here we install all the requirements to set up the SSCHA code correctly. To properly compile and install the SSCHA code, you need a Fortran compiler and LAPACK/BLAS available.
55
54
56
-
On Debian-based Linux distribution, all the software required is installed with (Tested on Quantum Mobile and ubuntu 20.04):
55
+
On a Debian-based Linux distribution, all the software required is installed with (Tested on Quantum Mobile and Ubuntu 20.04):
Note that some of the names of the libraries may change slightly in different linux versions or on MacOS.
60
+
Note that some of the names of the libraries may change slightly in different Linux versions or on macOS.
62
61
63
62
### Python installation
64
63
65
-
Up to version 1.4 of SSCHA, it supports only python <= 3.10. If you are using the default python in the system, make sure to have installed the development header files. On ubuntu, they can be installed with:
64
+
Up to version 1.4 of SSCHA, it supports only Python <= 3.10 and the old setuptools<=64 (we require the deprecated distutils). Starting from version 1.5, we dropped distutils and now support more recent version of python.
65
+
If you are using the default Python in the system, make sure to have installed the development header files. On Ubuntu, they can be installed with:
66
66
67
67
```
68
68
sudo apt install python-dev
69
69
```
70
70
71
-
If you use anaconda, they are automatically installed.
71
+
If you use anaconda (or mamba/micromamba), they are automatically installed.
72
72
73
73
### Prerequisites
74
74
75
-
The SSCHA code is a collection of 3 python packages: CellConstructor, python-sscha and tdscha.
75
+
The SSCHA code comprises three Python packages: CellConstructor, python-sscha, and tdscha.
76
76
77
77
-[CellConstructor](https://github.com/SSCHAcode/CellConstructor>): utility to manage phonon dispersions, atomic structures and crystal symmetries
78
-
-[sscha](https://github.com/SSCHAcode/python-sscha>) : This repository, relax with anharmonicity and compute static linear response properties.
78
+
-[sscha](https://github.com/SSCHAcode/python-sscha>) : This repository, relax the structure with anharmonicity and computes static linear response properties.
79
79
-[tdscha](<https://github.com/SSCHAcode/tdscha>) : Compute the dynamical linear response (Raman and IR, spectral functions)
80
80
81
-
More details about installations are in the official website [www.sscha.eu](https://sscha.eu/download>)
81
+
More details about installations are on the official website [www.sscha.eu](https://sscha.eu/download>)
82
82
83
-
## Install with Anaconda
83
+
## Install with Anaconda/Mamba
84
84
85
-
86
-
The easiest way to install the code is through anaconda.
87
-
First make sure you have anaconda installed [(install anaconda)](https://www.anaconda.com/download>)
85
+
The easiest way to install the code is through anaconda/mamba.
88
86
89
87
The following commands are sufficient to install the full sscha suite and its dependencies.
88
+
Replace `conda` with `mamba` or `micromamba` if that is the package manager you are using.
If you get an error of using Julia, try to install julia from the official website and see the passages reported in the Manual installation.
97
+
If you happen to get an error when using Julia, please try to install Julia from the official website and see the passages reported in the Manual installation.
99
98
100
99
To activate the environment and execute the SSCHA, run
101
100
@@ -106,17 +105,17 @@ To activate the environment and execute the SSCHA, run
106
105
107
106
## Manual installation
108
107
109
-
The SSCHA benefits from julia being installed in the system. If present,
108
+
The SSCHA benefits from Julia being installed in the system. If present,
110
109
it will be automatically used to speedup the calculation.
111
110
112
-
To install julia, refer to the official website [julialang.org/downloads/](https://julialang.org/downloads/)
113
-
Alternatively, to install julia on linux we can employ juliaup:
111
+
To install Julia, refer to the official website [julialang.org/downloads/](https://julialang.org/downloads/)
112
+
Alternatively, to install Julia on Linux we can employ JuliaUp:
114
113
115
114
```
116
115
curl -fsSL https://install.julialang.org | sh
117
116
```
118
117
119
-
Hit enter when asked to install julia.
118
+
Hit enter when asked to install Julia.
120
119
121
120
Then, install the python bindings for julia with
122
121
@@ -138,13 +137,13 @@ Install the required julia libraries
This should install the required libraries. Press backspace to return to the standard julia prompt and exit with
140
+
This should install the required libraries. Press backspace to return to the standard Julia prompt and exit with
142
141
143
142
```
144
143
julia> exit()
145
144
```
146
145
147
-
Now, you should be able to exploit the julia speedup in the TDSCHA calculations. It is not required to install julia before TDSCHA, it can also be done in a later moment.
146
+
Now, you should be able to exploit the Julia speedup in the TDSCHA calculations. It is not required to install Julia before TDSCHA; it can also be done at a later time.
0 commit comments