Skip to main content

GTS: An automated toolkit for building Gibbs thermodynamic surface with application to obtain high-pressure melting data.

Project description

GTS: Gibbs Thermodynamic Surface

version python license

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

  1. Clone the repository:

    git clone https://github.com/XuanZhao-study/GTS.git
    cd GTS
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. 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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

GibbsTS-1.0.3.tar.gz (26.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

GibbsTS-1.0.3-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

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

Hashes for GibbsTS-1.0.3.tar.gz
Algorithm Hash digest
SHA256 cecd76b9aa682346538fef65d1a928ed27096e6fb28459d8492e9cb2b0b82d16
MD5 6e302b1adeb496bbdc3f3608b2136953
BLAKE2b-256 2633aee876ed099e1549fdbbe7d2efd62ab437fb1e3ed8aabf357a635c311e52

See more details on using hashes here.

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

Hashes for GibbsTS-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5e3cdf0759781af8689bbeb3764370e660d140130d9dbbbe3caa98a27db29459
MD5 22bccd34efd14ee232e31b6623e00333
BLAKE2b-256 d16a73e9737f6232b90a811fdae2e4355ac9e65857626c860d9f0a6a8413f318

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page