zhongliliu / elastool Goto Github PK
View Code? Open in Web Editor NEWA toolkit for automatic calculation and analysis of elastic constants
License: GNU General Public License v3.0
A toolkit for automatic calculation and analysis of elastic constants
License: GNU General Public License v3.0
Hi dear developer,
I am a big fan of elastool. Now I tried the updated version v3.69 for 2D material but I am facing an error. Please find elastool.in and error file.
Looking forward to hearing from you.
Best regards
Sajid
Can I obtain the bulk modulus’s pressure derivative (B') with the help of elastool, as done here in table 1?
For example, pymatgen can do the trick as follows:
In [1]: from pymatgen.analysis.eos import EOS
...:
...: # 假设你有体积和能量的数据
...: volumes = [10.0, 10.5, 11.0, 11.5, 12.0] # 体积数据
...: energies = [-10.0, -10.5, -11.0, -11.4, -11.3] # 能量数据
...:
...: # 创建EOS对象,选择一个状态方程模型(如Murnaghan)
...: eos = EOS(eos_name='murnaghan')
...:
...: # 拟合数据
...: eos_fit = eos.fit(volumes, energies)
...:
...: # 提取体模量及其压力导数
...: bulk_modulus = eos_fit.b0 # 体模量
...: bulk_modulus_prime = eos_fit.b1 # 体模量的压力导数
...:
...: print(f"体模量 (B0): {bulk_modulus} GPa")
...: print(f"体模量的压力导数 (B0'): {bulk_modulus_prime}")
体模量 (B0): 41.44689131996187 GPa
体模量的压力导数 (B0'): -40.72387311271952
Regards,
Zhao
Dear developers,
I get the following execution error while installing the latest version of elastool (v3.64). How can I fix it?
Traceback (most recent call last):
File "/home/shahram/.local/bin/elastool", line 8, in <module>
from find_spg import find_crystal_system
File "/home/shahram/.local/lib/python3.10/site-packages/find_spg.py", line 18, in <module>
from read_input import indict
File "/home/shahram/.local/lib/python3.10/site-packages/read_input.py", line 195, in <module>
indict = read_input()
File "/home/shahram/.local/lib/python3.10/site-packages/read_input.py", line 81, in read_input
if inputlist[1] == []:
IndexError: list index out of range
Traceback (most recent call last):
File "/home/shahram/.local/bin/elastool", line 10, in <module>
from find_spg import find_crystal_system
File "/home/shahram/.local/lib/python3.10/site-packages/find_spg.py", line 18, in <module>
from read_input import indict
File "/home/shahram/.local/lib/python3.10/site-packages/read_input.py", line 28, in <module>
from elastoolgui import elastoolguicall
ModuleNotFoundError: No module named 'elastoolgui'
elastool.in is:
###############################################################################
### The input file to control the calculation details of elastic constants ###
###############################################################################
# run mode: 1 for automatic run, 2 for pre-processing, 3 for post-processing
# if 2, plz ensure the structure opt. is performed at fixed pressure or volume
# i.e. CONTCAR and OUTCAR files both exist in ./OPT directory.
run_mode = 2
# Define the dimensional of the system: 2D/3D
dimensional = 1D
# the crystal structure file in vasp POSCAR (.vasp) or cif (.cif) format
structure_file = OPT.cif
# if use conventional cell, no for primitive cell, yes for conventional cell
if_conventional_cell = no
# static or dynamic, static for 0 K, dynamic for finite-temperature
method_stress_statistics = static
# strains matrix for solve all elastic constants, asess or ohess or ulics
strains_matrix = ohess
# strains list for deforming lattice cell, 0 will be neglected because of
# the initial optimization, if method_statistics = dynamic, the first one is used
strains_list = -0.06 -0.03 0.03 0.06
# repeat numbers of three lattice vectors in conventional lattice for making
# supercell of molecular dynamics simulations (method_statistics = dynamic)
repeat_num = 3 3 3
# last number of steps for sampling stresses used in the dynamic method
num_last_samples = 1000
#Potential directory - specify the location of your POTCAR files
potential_dir = /home/shahram/Sotf/vasp.6.3.0/PAW_PBE
# The parallel submiting commmd
parallel_submit_command = ff > log.vasp
Thanks,
Shahram
Hello elastool developer,
I have specific questions regarding the influence of pressure (a) and strain (b) on the formation enthalpy. I'm not sure whether elastool has the feature for such calculation and analysis.
Thank you very much for your tips and hints.
Best regards,
Zhao
Hi Prof zhongliliu,
The new version has amazing features beyond the mechanical properties. I want to know how it can extract minor information like M, rho, theta, n, T, v_m, gamma etc for each temperature as provided in thermodynamic_data.dat. because gamma, theta etc slightly changed by temperature.
Could you please help me in this regard
Best Wishes
Sajid
Dear developers,
It has been stated that elastool is able to calculate the mechanical properties of nanoribbons. I don't understand that in order to perform calculations in elastool.in
file, we have to set the dimensions of the system to 3D or 1D or 2D! In example BN_Nanoribbon
of the code (v3.65), this value is set to 3D. Also, its structure is slightly similar to a nanoribbon (it has a vacuum in one direction).
Is option 1D only for nanotubes?
In order to calculate a nanoribbon, how many should I consider the dimensions of the system(1D or 3D?) and how should I adjust its structure?
I am confused. Thank you for your guidance.
Shahram
Dear Dr
I have been trying to install your package on different computers and have been facing the same issue when i try to run the "setup.py file"
(base) jucego333@...........:~/elastol$ python setup.py install
running install
/home/jucego333/anaconda3/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
/home/jucego333/anaconda3/lib/python3.9/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running bdist_egg
error: error in 'egg_base' option: 'elastool' does not exist or is not a directory
Dear elastool developers,
I tried to do example "Cu_highT" but I got the following error. I have not change anything in the elastool.in file except the path of POTCARs and vasp run command.
Following lines are written in the log file.
Reading controlling parameters from elastool.in...
Calculating stresses using the OHESS strain matrices...
strain = -0.060
Thank you for your guidance.
Hi,
I tried to do example "1D-SWCNT" but I got the following error. Thank you for your guidance.
Reading controlling parameters from elastool.in...
Traceback (most recent call last):
File "/usr/local/bin/elastool", line 4, in <module>
__import__('pkg_resources').run_script('elastool==1.0.2', 'elastool')
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 667, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1470, in run_script
exec(script_code, namespace, namespace)
File "/usr/local/lib/python3.8/dist-packages/elastool-1.0.2-py3.8.egg/EGG-INFO/scripts/elastool", line 42, in <module>
File "/usr/local/lib/python3.8/dist-packages/elastool-1.0.2-py3.8.egg/make_conv_cell.py", line 51, in make_conventional_cell
Returns:
UnboundLocalError: local variable 'pos_conv' referenced before assignment
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.