GTS: An automated toolkit for building Gibbs thermodynamic surface with application to obtain high-pressure melting data.
Project description
GTS: Gibbs Thermodynamic Surface
Overview
GTS: Gibbs Thermodynamic Surface is an automated toolkit designed for efficiently obtaining high-pressure melting data, including melting points and thermodynamic potentials of materials. By constructing the Gibbs thermodynamic surface using a geometrical method, it provides fast and accurate calculations for both solid and liquid phases.
Features
- Automated surface generation: Builds thermodynamic surfaces for solid and liquid phases.
- Melting data: Obtaining melting data for solid and liquid phases based on user-defined pressure conditions. With the ab initio molecular dynamics (AIMD) simulation data in the NVT (N, number of atoms; V, volume; T, temperature) ensemble and the reference point, GTS is able to rapidly present melting data, including volume, pressure, temperature, and thermodynamic potentials
- A reference point: Comparing the traditionally-used Clausius-Clapeyron integration (CCI) method with our GTS approach, the same thing is that a reference melting point is needed.
Installation
Installing GTS in a Python 3 environment is straightforward. We recommend two ways to install GTS:
From PyPI
You can install GTS directly from PyPI:
pip install GibbsTS
From Source
-
Clone the repository:
git clone https://github.com/XuanZhao-study/GTS.git cd GTS
-
Install dependencies:
pip install -r requirements.txt
-
Install GTS:
pip install .
Run
GTS provides two primary functions: building the Gibbs thermodynamic surface and calculating melting data. These functionalities can be accessed via a command-line interface.
Input Files
It is of great importance to prepare two files before running: {name}_solid_input.txt, {name}_liquid_input.txt.
Command For Running
| Argument | Type | Default | Description |
|---|---|---|---|
-n, --name |
str |
None | The name of the material for which you want to obtain melting data. |
-s, --surface |
bool |
False |
Build the Gibbs thermodynamic surface and store its data in [name].json. |
-tmr, --temp_melting_refer |
float |
0 |
The reference melting temperature (unit: K). |
-pmr, --pressure_melting_refer |
float |
0 |
The reference melting pressure (unit: GPa). |
-p, --pressure |
float |
0 |
The target pressure for melting point calculation (unit: GPa). |
-i, --image |
bool |
False |
Save the G-T plot indicating the melting point. |
-u, --unit |
str |
internal |
Units defined by the user. (e.g., vasp or internal). |
-d, --debug |
bool |
False |
Enable debug mode. |
-v, --version |
flag |
VersionAction |
Show the program's version. |
Example Usage
1. Generate Thermodynamic Surface
Run the following command to generate the Gibbs thermodynamic surface for the target material and store the data in [name].json:
GTS -n [name] -s -mtr [value] -mpr [value]
2. Obtain Melting Data
This command will output the user-defined melting point and its thermodynamic potentials for the two phases (solid phase and liquid phase) in the terminal.
GTS -n [name] -p [value] -u [type] -i
3. Debug Model
In step 1, GTS retains the original data for building primitive surfaces in two directories: {name}_solid and {name}_liquid. After entropy calibration, derived surface data is stored in twophase.
In step 2, the fitting data of the G-T plot is kept in the directory: {name}_melting_data, during obtaining melting data.
Requirements
- Python version: 3.11.4 or higher
- Dependencies: Listed in
requirements.txt
Contribution
Contributions are welcome! If you have suggestions or improvements, please feel free to contact us.
License
This project is licensed under the GNU General Public License v3.
Contact
Authors:
- Kun Yin (yinkun@cdut.edu.cn)
- Xuan Zhao
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file GibbsTS-1.0.3.tar.gz.
File metadata
- Download URL: GibbsTS-1.0.3.tar.gz
- Upload date:
- Size: 26.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cecd76b9aa682346538fef65d1a928ed27096e6fb28459d8492e9cb2b0b82d16
|
|
| MD5 |
6e302b1adeb496bbdc3f3608b2136953
|
|
| BLAKE2b-256 |
2633aee876ed099e1549fdbbe7d2efd62ab437fb1e3ed8aabf357a635c311e52
|
File details
Details for the file GibbsTS-1.0.3-py3-none-any.whl.
File metadata
- Download URL: GibbsTS-1.0.3-py3-none-any.whl
- Upload date:
- Size: 32.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e3cdf0759781af8689bbeb3764370e660d140130d9dbbbe3caa98a27db29459
|
|
| MD5 |
22bccd34efd14ee232e31b6623e00333
|
|
| BLAKE2b-256 |
d16a73e9737f6232b90a811fdae2e4355ac9e65857626c860d9f0a6a8413f318
|