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 GTS

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.2.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.2-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

File details

Details for the file GibbsTS-1.0.2.tar.gz.

File metadata

  • Download URL: GibbsTS-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 b23aa4cfa2f1841b09abd365aac98f0dd2b5713b8249893b7d673da7640092ac
MD5 aebeb90794c348bda05a43996e4541b9
BLAKE2b-256 1dcd60ee18e24e370079d3eaa6dbb7983e06c4b6a11723a18c4f48444bb6bb4a

See more details on using hashes here.

File details

Details for the file GibbsTS-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: GibbsTS-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 32.7 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 817a3034a084f5d0b72fe5bfc7ecec71145875ce9235f01e36d52f5937fc50a4
MD5 b6929ee426c7a85b2171c6145a19004e
BLAKE2b-256 66f2f7ff8f5f7e6af38d30fcae6a7eeb53060281e8f4f5194838f9b99325e5d8

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