Skip to content

Commit 4597707

Browse files
committed
Initial upload of the SMATool computational toolkit
1 parent 7c04d4f commit 4597707

File tree

325 files changed

+81354
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

325 files changed

+81354
-1
lines changed

LICENSE_Main

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

MANIFEST.in

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
include LICENSE
2+
include Changelog.txt
3+
recursive-include utility *
4+
recursive-include examples *

README.md

Lines changed: 106 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,106 @@
1-
# smatool
1+
---
2+
3+
# SMATool - Strength of Materials Analysis Toolkit
4+
5+
6+
**`SMATool`** -- Strength of Materials Analysis Toolkit is a comprehensive computational package developed to evaluate the tensile, shear, biaxial, and indentation strength (Vickers' hardness) of materials at zero temperature (using density functional theory) and finite temperature (using ab-initio molecular dynamics). Integrating advanced algorithms and leveraging the capabilities of well-established electronic structure codes like VASP and QE as the stress calculator, SMATool provides a robust platform for analyzing the strength of 1D, 2D, and 3D materials.
7+
8+
## Importance of SMATool
9+
The significance of SMATool lies in its ability to provide accurate and efficient strength parameters, which are crucial in material design and analysis. Understanding these mechanical properties helps in predicting material behavior under different loading conditions and in different environments, contributing to the development of materials with optimized performance characteristics.
10+
11+
## Types of Strengths within SMATool
12+
1. *Uniaxial Tensile Strength:* The maximum stress a material can withstand while being stretched or pulled before failure. Tensile strength is crucial in applications where materials are subject to tension. The tensile strength can be computed along the various directions: x, y, and z, and along the critical plane directions.
13+
14+
2. *Biaxial Strength:* The strength of a material when subjected to biaxial stress conditions. This is important for materials used in applications where they are exposed to stresses in two perpendicular directions.
15+
16+
3. *Shear Strength:* This measures a material's ability to resist shear loads, which is vital in understanding how materials will behave when forces are applied parallel to a material's surface. The shear strength can be determined along the critical plane directions and slip directions.
17+
18+
19+
4. *Indentation Strength:* The measure of the resistance of a material to deformation under localized compressive forces. This can be used to quantify the Vickers' hardness of a material.
20+
21+
Additionally, the SMATool package computes the yield strength for each of the strengths above, and the corresponding energy storage capacity (in MJ/L and Wh/Kg) of the material at the ultimate strain.
22+
23+
## SMATool Stress Calculators
24+
SMATool utilizes VASP (Vienna Ab initio Simulation Package) and QE (Quantum Espresso) as its calculator, ensuring high accuracy and reliability. These powerful electronic structure codes, combined with the ASE (Atomic Simulation Environment) backend, enable detailed and precise material analysis. If you're interested in other electronic structure code as the stress calculation, we will be more than happy to collaborate in such implementations.
25+
26+
27+
## Installation
28+
**SMATool** offers straightforward installation options suitable for various user preferences as explained below. We note that in all the installation options, all the libraries and dependables are automatically determined and installed alongside the SMATool.
29+
30+
1. **Using pip**: Our recommended way to install the **SMATool** package is using pip.
31+
- Quickly install the latest version of the SMATool package with pip by executing:
32+
```
33+
pip install -U smatool
34+
```
35+
36+
2. **From Source Code**:
37+
- Alternatively, users can download the source code with:
38+
```
39+
git clone [[email protected]:gmp007/smatool.git]
40+
```
41+
- Then, install SMATool by navigating to the master directory and running:
42+
```
43+
pip install .
44+
```
45+
46+
3. **Installation via setup.py**:
47+
- SMATool can also be installed using the `setup.py` script:
48+
```
49+
python setup.py install [--prefix=/path/to/install/]
50+
```
51+
- The optional `--prefix` argument is useful for installations in environments like shared High-Performance Computing (HPC) systems, where administrative privileges might be restricted.
52+
- Please note that while this method remains supported, its usage is gradually declining in favor of more modern installation practices. We only recommend this installation option where standard installation methods like `pip` are not applicable.
53+
54+
## Usage and Running SMATool
55+
56+
The best way to learn how to use the SMATool package is to start with the provided examples folder. The key steps for initializing SMATool follows:
57+
58+
1. **Create a Calculation Directory**:
59+
- Start by creating a directory for your calculations.
60+
- Run `smatool -0` to generate main input template of the SMATool, which is the `smatool.in`.
61+
62+
2. **Modify Input Files**:
63+
- Customize the generated files according to your project's requirements, choose the code type between VASP and QE, and specify the directory of your potential files.
64+
65+
3. **Initialize the Job**:
66+
- Execute `smatool` to begin the calculation process.
67+
68+
4. **Understanding SMATool Options**:
69+
- The main input file `smatool.in` includes descriptive text for each flag, making it user-friendly.
70+
71+
## Citing SMATool
72+
If you have used the SMATool package in your research, please cite:
73+
- [SMATool: An automated toolkit for strength of materials](https://doi.org/10.1016/XXXXX) -
74+
75+
@article{Ekuma2024,
76+
title = {SMATool: Strength of Materials Analysis Toolkit},
77+
journal = {XXX},
78+
volume = {XXX},
79+
pages = {XXX},
80+
year = {2024},
81+
doi = {https://doi.org/10.1016/XXXX},
82+
url = {XXX},
83+
author = {XXXX}
84+
}
85+
86+
## SMATool Utility
87+
ASP electronic structure calculations come with proprietary pseudopotentials included in the package. In contrast, Quantum Espresso (QE) is open source, offering a variety of sources for obtaining pseudopotentials. While no specific pseudopotential database is officially recommended for QE, we prefer the norm-conserving [Pdojo pseudopentials](http://www.pseudo-dojo.org/). The SMATool computational toolkit includes an automated utility package, `qepotential`, located in the utility folder. This tool automates the generation of pseudopotentials from the Pdojo website for all materials required to run the SMATool package with QE as the calculator. Users can also specify custom requirements in the `pseudo.info` input file. The SMATool utility package saves the potentials of various elements as `element_pdojo.upf` in the `qe_potentials` folder.
88+
89+
90+
## Contact Information
91+
Please if you find a bug, want to extend the SMATool computational toolkit, or have an idea that you would want us to incorporate, please reach out to us. Our team is dedicated to supporting your work and enhancing capabilities and efficiency of the SMATool package.
92+
93+
Feel free to contact us via email:
94+
95+
96+
Your feedback and questions are invaluable to us, and we look forward to hearing from you.
97+
98+
## License
99+
100+
This project is licensed under the GNU GPL version 3 - see the [LICENSE](LICENSE) file for details.
101+
102+
## Acknowledgments
103+
104+
- This work was supported by the U.S. Department of Energy, Office of Science, Basic Energy Sciences under Award DOE-SC0024099.
105+
106+
---
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Strain Stress(N/m) Mean Volume (A^3) Mean Energy(eV) Mean Pressure (N/m)
2+
0.0 0.0 0.0 0.0 0.0
3+
0.010000 1.235212 134.035364 -22.723634 0.066356
4+
0.020000 2.279988 134.035364 -22.704071 0.038880
5+
0.030000 3.298127 134.035364 -22.674915 -0.005702
6+
0.040000 4.283675 134.035364 -22.634090 -0.097978
7+
0.050000 5.221951 134.035364 -22.582990 -0.278383
8+
0.060000 6.104496 134.035364 -22.522189 -0.469156
9+
0.070000 6.918812 134.035364 -22.452443 -0.697254
10+
0.080000 7.654556 134.035364 -22.374644 -0.961640
11+
0.090000 8.303026 134.035364 -22.289816 -1.256612
12+
0.100000 8.853841 134.035364 -22.199078 -1.579578
13+
0.110000 9.305366 134.035364 -22.103637 -1.917059
14+
0.120000 9.656623 134.035364 -22.004722 -2.266464
15+
0.130000 9.918985 134.035364 -21.903538 -2.620534
16+
0.140000 10.103810 134.035364 -21.801152 -2.972012
17+
0.150000 10.233327 134.035364 -21.698500 -3.294978
18+
0.160000 10.308941 134.035364 -21.596573 -3.599282
19+
0.170000 10.355159 134.035364 -21.495668 -3.859521
20+
0.180000 10.373988 134.035364 -21.396466 -4.075695
21+
0.190000 10.370234 134.035364 -21.299450 -4.247806
22+
0.200000 10.340994 134.035364 -21.205114 -4.371186
23+
0.210000 10.287250 134.035364 -21.113929 -4.442207
24+
0.220000 10.216831 134.035364 -21.026342 -4.454649
25+
0.230000 10.123043 134.035364 -20.942773 -4.390367
26+
#Thickness for MoS2 already exists. Using existing thickness: 6.5 Å.
27+
#Estimated yield strength using 0.002 and yield strength using linearity method are: 1.24 N/m and 1.24 N/m
28+
#The Shear ultimate strength is: 10.37 N/m
29+
#Energy Storage Capacity at max strain 0.180 is 0.479 MJ/L or 28.031 Wh/Kg
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Strain Stress(N/m) Mean Volume (A^3) Mean Energy(eV) Mean Pressure (N/m)
2+
0.0 0.0 0.0 0.0 0.0
3+
0.010000 1.692028 136.729475 -22.721185 1.396581
4+
0.020000 3.193873 139.450393 -22.692290 2.623126
5+
0.030000 4.586350 142.198117 -22.645994 3.751693
6+
0.040000 5.875007 144.972649 -22.583354 4.766728
7+
0.050000 7.063078 147.773989 -22.505427 5.710224
8+
0.060000 8.159957 150.602135 -22.413150 6.572849
9+
0.070000 9.167905 153.457088 -22.307446 7.358232
10+
0.080000 10.081875 156.338848 -22.189216 8.065335
11+
0.090000 10.925778 159.247416 -22.059289 8.709194
12+
0.100000 11.693718 162.182790 -21.918501 9.287215
13+
0.110000 12.384783 165.144972 -21.767648 9.805619
14+
0.120000 12.954226 168.133960 -21.668818 9.043046
15+
0.130000 13.367732 171.149756 -21.507684 9.406448
16+
0.140000 13.536433 174.192359 -21.350127 9.143098
17+
0.150000 13.677486 177.261769 -21.168659 9.880788
18+
0.160000 13.920034 180.357986 -21.010073 9.481098
19+
0.170000 14.273636 183.481010 -20.835431 9.555230
20+
0.180000 5.651717 186.630841 -20.709486 3.721625
21+
#Thickness for MoS2 already exists. Using existing thickness: 6.5 Å.
22+
#Estimated yield strength using 0.002 and yield strength using linearity method are: 1.69 N/m and 1.69 N/m
23+
#The Tensile_biaxial ultimate strength is: 14.27 N/m
24+
#Energy Storage Capacity at max strain 0.170 is 0.622 MJ/L or 36.425 Wh/Kg
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Strain Stress(N/m) Mean Volume (A^3) Mean Energy(eV) Mean Pressure (N/m)
2+
0.0 0.0 0.0 0.0 0.0
3+
0.010000 1.243572 135.375717 -22.728261 0.603423
4+
0.020000 2.423237 136.716071 -22.718410 1.121309
5+
0.030000 3.519513 138.056425 -22.702435 1.603943
6+
0.040000 4.539231 139.396778 -22.680771 2.063768
7+
0.050000 5.478380 140.737132 -22.653836 2.498191
8+
0.060000 6.354921 142.077486 -22.622008 2.908767
9+
0.070000 7.173035 143.417839 -22.585624 3.300681
10+
0.080000 7.935721 144.758193 -22.545007 3.673413
11+
0.090000 8.647549 146.098547 -22.500439 4.028520
12+
0.100000 9.312957 147.438900 -22.452194 4.367557
13+
0.110000 9.939266 148.779254 -22.400477 4.691560
14+
0.120000 10.523468 150.119607 -22.345524 5.001047
15+
0.130000 11.079993 151.459961 -22.287521 5.293946
16+
0.140000 11.600514 152.800315 -22.226619 5.579068
17+
0.150000 12.093937 154.140668 -22.162969 5.851230
18+
0.160000 12.558647 155.481022 -22.096703 6.114580
19+
0.170000 13.003770 156.821376 -22.027937 6.363414
20+
0.180000 13.426708 158.161729 -21.956777 6.603435
21+
0.190000 13.837738 159.502083 -21.883323 6.836717
22+
0.200000 14.228269 160.842437 -21.807662 7.056520
23+
0.210000 14.598625 162.182790 -21.729882 7.265437
24+
0.220000 14.952757 163.523144 -21.650068 7.466578
25+
0.230000 15.290188 164.863497 -21.568316 7.656833
26+
0.240000 15.610833 166.203851 -21.484703 7.834645
27+
0.250000 15.912113 167.544205 -21.399331 7.997424
28+
0.260000 16.210243 168.884558 -21.315474 8.270624
29+
0.270000 16.482463 170.224912 -21.227565 8.430810
30+
0.280000 16.737371 171.565266 -21.138246 8.581148
31+
0.290000 16.975528 172.905619 -21.047598 8.720599
32+
0.300000 17.194354 174.245973 -20.955724 8.848644
33+
0.310000 17.394624 175.586327 -20.862721 8.965804
34+
0.320000 17.576351 176.926680 -20.768681 9.070003
35+
0.330000 17.737034 178.267034 -20.673721 9.164353
36+
0.340000 17.875393 179.607388 -20.566916 9.034752
37+
0.350000 17.994939 180.947741 -20.481471 9.299138
38+
0.360000 18.099320 182.288095 -20.384396 9.377417
39+
0.370000 9.034052 183.628448 -20.327313 2.869887
40+
#Thickness for MoS2 already exists. Using existing thickness: 6.5 Å.
41+
#Estimated yield strength using 0.002 and yield strength using linearity method are: 1.24 N/m and 1.24 N/m
42+
#The Tensile_x ultimate strength is: 18.10 N/m
43+
#Energy Storage Capacity at max strain 0.360 is 1.671 MJ/L or 97.810 Wh/Kg
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Strain Stress(N/m) Mean Volume (A^3) Mean Energy(eV) Mean Pressure (N/m)
2+
0.0 0.0 0.0 0.0 0.0
3+
0.010000 1.507262 135.375717 -22.727008 0.628825
4+
0.020000 2.757756 136.716071 -22.715540 1.160189
5+
0.030000 3.928825 138.056425 -22.697588 1.651118
6+
0.040000 5.023166 139.396778 -22.673548 2.110943
7+
0.050000 6.044259 140.737132 -22.643831 2.544329
8+
0.060000 6.999467 142.077486 -22.608812 2.950758
9+
0.070000 7.891572 143.417839 -22.568832 3.332822
10+
0.080000 8.725146 144.758193 -22.524211 3.690521
11+
0.090000 9.504999 146.098547 -22.461051 4.923286
12+
0.100000 10.222667 147.438900 -22.422205 4.344747
13+
0.110000 10.897996 148.779254 -22.365345 4.644385
14+
0.120000 11.526704 150.119607 -22.304924 4.927434
15+
0.130000 12.111611 151.459961 -22.241185 5.193375
16+
0.140000 12.654642 152.800315 -22.174350 5.439099
17+
0.150000 13.158129 154.140668 -22.104646 5.676528
18+
0.160000 13.623400 155.481022 -22.032299 5.900997
19+
0.170000 14.052066 156.821376 -21.957522 6.113024
20+
0.180000 14.441169 158.161729 -21.880534 6.310018
21+
0.190000 14.788694 159.502083 -21.801552 6.490941
22+
0.200000 15.102614 160.842437 -21.720797 6.658386
23+
0.210000 15.378232 162.182790 -21.638501 6.810797
24+
0.220000 15.617001 163.523144 -21.554891 6.946619
25+
0.230000 15.813022 164.863497 -21.470206 7.062741
26+
0.240000 15.965724 166.203851 -21.384698 7.160201
27+
0.250000 16.074876 167.544205 -21.298624 7.240036
28+
0.260000 16.134655 168.884558 -21.212228 7.297060
29+
0.270000 16.143930 170.224912 -21.125779 7.333867
30+
0.280000 16.097333 171.565266 -21.039548 7.347345
31+
0.290000 15.993381 172.905619 -20.953793 7.337496
32+
0.300000 15.830868 174.245973 -20.868800 7.307428
33+
0.310000 15.606449 175.586327 -20.784821 7.251959
34+
0.320000 15.321594 176.926680 -20.702142 7.174717
35+
#Thickness for MoS2 already exists. Using existing thickness: 6.5 Å.
36+
#Estimated yield strength using 0.002 and yield strength using linearity method are: 1.51 N/m and 1.51 N/m
37+
#The Tensile_y ultimate strength is: 16.14 N/m
38+
#Energy Storage Capacity at max strain 0.270 is 1.118 MJ/L or 65.432 Wh/Kg
39+
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Strain Stress(N/m) Mean Volume (A^3) Mean Energy(eV) Mean Pressure (N/m)
2+
0.0 0.0 0.0 0.0 0.0
3+
0.010000 0.705657 134.035364 -22.729035 0.068948
4+
0.020000 1.232603 134.035364 -22.723653 0.066356
5+
0.030000 1.756962 134.035364 -22.715354 0.055988
6+
0.040000 2.277739 134.035364 -22.704151 0.038880
7+
0.050000 2.794732 134.035364 -22.690060 0.014515
8+
0.060000 3.304091 134.035364 -22.674996 -0.007258
9+
0.070000 3.811996 134.035364 -22.655844 -0.049767
10+
0.080000 4.314306 134.035364 -22.633984 -0.102644
11+
0.090000 4.809972 134.035364 -22.609455 -0.204770
12+
0.100000 5.299947 134.035364 -22.582253 -0.285122
13+
0.110000 5.783353 134.035364 -22.552433 -0.378435
14+
0.120000 6.260496 134.035364 -22.520037 -0.480561
15+
0.130000 6.730993 134.035364 -22.485089 -0.594091
16+
0.140000 7.194548 134.035364 -22.447620 -0.717472
17+
0.150000 7.651280 134.035364 -22.407688 -0.850702
18+
0.160000 8.101187 134.035364 -22.365316 -0.994300
19+
0.170000 8.545447 134.035364 -22.320542 -1.146710
20+
0.180000 8.982796 134.035364 -22.273406 -1.310526
21+
0.190000 9.415174 134.035364 -22.223942 -1.483155
22+
0.200000 9.842495 134.035364 -22.172154 -1.662004
23+
0.210000 10.265212 134.035364 -22.118090 -1.850185
24+
0.220000 10.684527 134.035364 -22.061756 -2.048216
25+
0.230000 11.101077 134.035364 -22.003176 -2.255059
26+
0.240000 11.517276 134.035364 -21.942374 -2.464494
27+
0.250000 11.929728 134.035364 -21.879340 -2.691556
28+
0.260000 12.345176 134.035364 -21.814085 -2.919653
29+
0.270000 12.763330 134.035364 -21.746584 -3.152417
30+
0.280000 13.184221 134.035364 -21.676823 -3.392438
31+
0.290000 13.610033 134.035364 -21.604788 -3.637125
32+
0.300000 14.042692 134.035364 -21.530430 -3.888551
33+
0.310000 14.479938 134.035364 -21.453722 -4.143088
34+
0.320000 14.928400 134.035364 -21.374629 -4.400216
35+
0.330000 15.386743 134.035364 -21.293101 -4.661492
36+
0.340000 15.853479 134.035364 -21.209082 -4.923805
37+
0.350000 16.328348 134.035364 -21.122531 -5.196486
38+
0.360000 16.811954 134.035364 -21.033399 -5.465019
39+
0.370000 17.302577 134.035364 -20.941646 -5.734589
40+
0.380000 17.794042 134.035364 -20.847441 -5.996384
41+
0.390000 18.292240 134.035364 -20.750393 -6.261807
42+
0.400000 18.789257 134.035364 -20.650663 -6.526711
43+
0.410000 19.281826 134.035364 -20.548271 -6.789024
44+
0.420000 19.764107 134.035364 -20.443259 -7.048226
45+
0.430000 20.229080 134.035364 -20.335676 -7.300689
46+
0.440000 20.669604 134.035364 -20.225678 -7.544857
47+
0.450000 21.074555 134.035364 -20.113392 -7.774511
48+
0.460000 21.432496 134.035364 -19.999050 -7.981354
49+
0.470000 21.723543 134.035364 -19.882967 -8.177829
50+
0.480000 21.930634 134.035364 -19.765522 -8.324019
51+
0.490000 22.020297 134.035364 -19.647005 -8.375341
52+
0.500000 21.966671 134.035364 -19.528806 -8.416814
53+
0.510000 21.718610 134.035364 -19.411239 -8.322464
54+
0.520000 21.220833 134.035364 -19.295661 -8.097995
55+
0.530000 20.401648 134.035364 -19.183606 -7.636615
56+
0.540000 -6.234426 134.035364 -20.102448 6.087104
57+
#Thickness for MoS2 already exists. Using existing thickness: 6.5 Å.
58+
#Estimated yield strength using 0.002 and yield strength using linearity method are: 0.71 N/m and 20.40 N/m
59+
#The ideal_strength ultimate strength is: 22.02 N/m
60+
#Energy Storage Capacity at max strain 0.490 is 2.767 MJ/L or 161.971 Wh/Kg

0 commit comments

Comments
 (0)