Package: elastool
ElasToolElasTool(Elastic Analysis and Simulation Toolkit for Optimized Observations and Learning) is a powerful and innovative Python-based toolkit optimized for computing the second-order elastic constants (SOECs) and mechanical properties of crystal systems across different dimensions, including 3D structures, 2D materials, nanoribbons, coaxially rolled 2D-based van der Waals nanostructures, and 1D nanotubes. It harnesses first-principles Density Functional Theory (DFT) and ab initio molecular dynamics, making it ideal for analyzing both zero-temperature and finite-temperature conditions.About ElasToolElasTool offers a flexible approach to determining elastic constants and mechanical properties of various materials at zero and finite temperatures and pressures, providing a broad scope of utility across different material conditions. It seamlessly integrates with the VASP electronic structure code. However, its architecture is open and can easily implement interfaces to other DFT packages. If you are interested in such extensions, please don't hesitate to contact the authors for further guidance and support with the ElasTool source code. The software utilizes three kinds of strain-matrix sets: High-Efficiency Strain-Matrix Sets (OHESS), Universal Linear-Independent Coupling Strains (ULICS), and All-Single-Element Strain-Matrix Sets (ASESS) [1], enabling automatic and efficient calculation of the SOECs.Key FeaturesThe ElasTool toolkit offers several features, including:Easy to use (installation and running)High efficiencyAutomated flow of the SOECs calculationsChoice of three kinds of strain-matrix sets: OHESS, ASESS, and ULICSCapability to compute SOECs at zero temperatureCapability to compute SOECs at high-temperature and/or high-pressureAbility to calculate the elastic and mechanical properties of 3D, 2D, coaxially rolled 2D-based van der Waals, and 1D nanotube materials.Expanded CapabilitiesElasTool offers a comprehensive range of features for analyzing various material properties:Elastic Tensors: Generates a detailed text file for in-depth post-processing.Young's Modulus: Evaluates the material's stiffness under uniaxial stress.Poisson Ratio: Determines the ratio of transverse strain to axial strain.Shear Modulus: Assesses the material's response to shear stress.Bulk Modulus (3D/1D), Stiffness Constant (2D): Measures volume change under pressure and in-plane stiffness, respectively.Pugh Modulus Ratio:  Provides insights into the material's ductility.Layer Modulus (2D Materials): Evaluates in-plane elasticity of layers.Sound Velocities: Longitudinal, transverse, and average sound velocities.Debye Speed: Estimates phonon propagation speeds.Linear Compressibility: Assesses the material's response to linear compressive stress.Debye Temperature: Evaluates the material's thermal properties.Minimum Thermal Conductivity: Utilizes Clarke and Cahill equations to estimate thermal conductivity limits.Strain Energy Density: Provides insights into the material's energy absorption capacity.Hardness Estimation: Employs various empirical equations to predict Vickers hardness.Fracture Toughness Analysis: Evaluates the material's resistance to crack propagation.Elastic Anisotropy: Examines directional variations in material properties.Compliance Matrix Eigenvalues: Investigates the material's mechanical response characteristics.These features establish ElasTool as a versatile and indispensable toolkit for scientists and engineers specializing in materials science and engineering. Its comprehensive computational capabilities are ideal for advanced material science research, providing critical insights into the mechanical and thermal properties of various materials. Whether for academic research, industrial applications, or innovative material design, ElasTool serves as a pivotal resource in exploring and understanding the intricate behavior of 3D structures, 2D materials, and nanoscale systems.ElasTool: Advanced Data Visualization and Analysis ToolkitElasTool is a highly efficient computational tool designed for calculating and visualizing the elastic, mechanical, and related properties of materials in 1D, 2D, and 3D systems. It stands out with its advanced visualization capabilities, offering insightful and enriching user experiences.The visualization capabilities in ElasToolare designed to enhance user engagement, provide deeper insights into material properties, and facilitate the efficient presentation of complex data. Whether for academic research, material design, or engineering applications, these features make ElasTool a valuable asset in the field of material science.Advanced Visualization CapabilitiesElasTool is not just a computational toolkit; it's also a powerful visualization platform, enabling:Integration with external data: ElasTool can import elastic tensor matrices computed externally, supporting:6x6 matrix for 3D systems3x3 matrix for 2D systemsRequired files:massdensity_dim.datfor material's dimension and mass density.# Mass density in Kg/m^2, Dimension
0.00000224 2Delastic_tensor.datfor the elastic tensor matrix.# Elastic tensor in Voigt notation for 2D material
52.2849 28.6494 0.0000
28.6494 36.5780 0.0000
0.0000 0.0000 22.8516Post-Processing CapabilitiesTo utilize ElasTool's post-processing features:Set up themassdensity_dim.datandelastic_tensor.datfiles as described.Use the following terminal commands (case insensitive):elastool -pp
elastool -Postprocess
elastool -postprocess
elastool -POSTPROCESSFor interactive web plots with Plotly, add-plotly:elastool -pp -plotly
elastool -Postprocess -plotly
elastool -postprocess -plotly
elastool -POSTPROCESS -plotlyAutomated Plotting and VisualizationElasTool excels in:Angular Dependence Visualization:ElasTool automatically generates plots depicting the angular dependence of elastic and mechanical properties. These plots are saved as PNG files directly in the run directory, offering a convenient way to review and share results.Elastic Parameters Heatmaps:For materials with anisotropic properties, ElasTool plots heatmaps illustrating variations in key elastic moduli, such as Young's Modulus, Shear Modulus, and Poisson's Ratio.Sound Velocity Heatmaps:ElasTool uses the Christoffel matrix to visualize sound velocity in materials in both transverse and longitudinal directions, crucial for acoustic properties.Spatial Dependence of Elastic Parameters:Plots the spatial variation of key elastic parameters, providing a comprehensive view of material behavior.Linear Compressibility Analysis:Offers detailed insights into the linear compressibility of materials, showcasing directional dependencies and anisotropic behaviors. This feature enhances the understanding of how materials compress under linear stress, crucial for applications in material science and engineering.Spatial Distribution of the Strain Energy Distribution Function (SEDF):ElasTool provides a detailed visualization of the SEDF, offering insights into the material's response to various strain states. This feature allows users to explore how the energy density changes spatially within the material under different mechanical deformations, enhancing the understanding of the material's mechanical properties and behavior under stress.Interactive InterfacePlotly Integration:Offers an interactive interface for an engaging and detailed analysis of elastic parameters using plotly.Flexibility in UsageRuntime and Post-Processing Accessibility:ElasTool's visualization tools are accessible both during runtime and post-processing, with options to enable or disable plotting as needed.Seamless Integration with ElateYou can also use ElasTool for post-processing visualization using the Elate web interface. After completing stress-strain calculations, users can seamlessly integrate ElasTool with Elate.To do this, execute the commandelastool -elate, orelastool -Elate, orelastool -ELATEin your terminal.ElasTool facilitates a smooth workflow by automatically fetching the elastic tensor data from your work directory for Elate analysis, eliminating the need for manual data transfer.During this process, you will be prompted to select your default web browser for optimal visualization and interaction.These features enhance the user experience by simplifying the analysis process and providing intuitive, accessible data visualizations directly from ElasTool's interface.InstallationElasTool offers straightforward installation options suitable for various user preferences. These methods ensure a hassle-free setup, allowing you to commence your material science investigations with ElasTool promptly. Detailed instructions can be found in the INSTALL file, but here are the general methods:Using pip:Quickly install ElasTool with pip by executing:pip install -U elastoolFrom Source Code:Alternatively, download the source code with:git clone [git@github.com:zhongliliu/elastool.git]Then, install ElasTool by navigating to the master directory and running:pip install .Installation via setup.py:As an alternative, ElasTool can be installed using thesetup.pyscript:python setup.py install [--prefix=/path/to/install/]The optional--prefixargument is useful for installations in environments like shared High-Performance Computing (HPC) systems, where administrative privileges might be restricted.Please note that while this method remains supported, its usage is gradually declining in favor of more modern installation practices. It is recommended primarily for specific scenarios where standard installation methods likepipare not applicable.Usage and Running ElasToolLearning to use ElasTool is made easy with the provided examples in the example folder. Here are the key steps for using ElasTool effectively:Create a Calculation Directory:Start by creating a directory for your calculations.Runelastool -0to generate basic template input files (INCARs, KPOINTS, and elastool.in).Modify Input Files:Customize the generated files according to your project's requirements.Initialize the Job:Executeelastoolto begin the calculation process.Understanding ElasTool Options:The main input fileelastool.inincludes descriptive text for each flag, making it user-friendly.For additional help or to explore more features, useelastool -horelastool -help.This streamlined process allows users to quickly start and efficiently conduct their material analysis with ElasTool.Citing ElasToolIf you have used ElasTool in your research, kindly reference the appropriate publications:Main ElasTool ImplementationPlease cite for ElasTool's primary implementation:ElasTool: An automated toolkit for elastic constants calculation- Liu et al., 2022@article{Liu2020elastool,
title = {ElasTool: An automated toolkit for elastic constants calculation},
journal = {Computer Physics Communications},
volume = {270},
pages = {108180},
year = {2022},
issn = {0010-4655},
doi = {https://doi.org/10.1016/j.cpc.2021.108180},
url = {https://www.sciencedirect.com/science/article/pii/S0010465521002927},
author = {Zhong-Li Liu and C.E. Ekuma and Wei-Qi Li and Jian-Qun Yang and Xing-Ji Li}
}Efficient prediction of temperature-dependent elastic and mechanical properties of 2D materials- Kastuar et al., 2022@article{Kastuar2022efficient,
title={Efficient prediction of temperature-dependent elastic and mechanical properties of 2D materials},
author={Kastuar, SM and Ekuma, CE and Liu, Z-L},
journal={Scientific Reports},
volume={12},
number={1},
pages={3776},
year={2022},
url = {https://www.nature.com/articles/s41598-022-07819-8},
publisher={Nature Publishing Group UK London}
}Elastool V2.0: An Automated Toolkit for Elastic and Mechanical Properties of Tubular 2D-Based Nanostructures and Nanotubes- Ekuma and Liu (under review)@article{Ekuma2023,
title = {Elastool V2.0: An Automated Toolkit for Elastic and Mechanical Properties of Tubular 2D-Based Nanostructures and Nanotubes},
journal = {Computer Physics Communications},
volume = {xx},
pages = {xx},
year = {2024},
issn = {xxx},
doi = {xx},
url = {xx},
author = {Chinedu E. Ekuma and Zhong-Li Liu }
}Work Related to 2D MaterialsFor work specifically on 2D materials, refer to:Efficient prediction of temperature-dependent elastic and mechanical properties of 2D materials- Kastuar et al., 2022Work Related to Tubular 2D-Based Nanostructures and NanotubesFor studies on tubular 2D-based nanostructures and nanotubes, cite:Elastool V2.0: An Automated Toolkit for Elastic and Mechanical Properties of Tubular 2D-Based Nanostructures and Nanotubes- Ekuma and Liu (under review)OHESS Method and Strain-Stress MethodsFor the OHESS method and other strain-stress methods, please cite:Investigating elastic constants across diverse strain-matrix sets- Liu et al., 2023Related WorksFor related research, cite:Calculations of single-crystal elastic constants made simple- Yu et al., 2010Mechanical properties and hardness of boron pnicogens BX- Ekuma and Liu, 2020Contact InformationWe welcome your interest in extending ElasTool's capabilities and are happy to assist with integrating it with other electronic structure codes. If you have queries about ElasTool, need help using it, or wish to share suggestions for its improvement, please reach out to us. Our team is dedicated to supporting your work and enhancing ElasTool's functionality.Feel free to contact us via email:cekuma1@gmail.comzl.liu@163.comYour feedback and questions are invaluable to us, and we look forward to hearing from you.