[Wien] Fwd: Some- QUESTIONS- Replies- about-IRelast-Package

Peter Blaha pblaha at theochem.tuwien.ac.at
Mon Sep 6 09:34:01 CEST 2021


----- Forwarded Message -----
*From:* morteza jamal <m_jamal57 at yahoo.com>
*To:* wien at zeus.theochem.tuwien.ac.at <wien at zeus.theochem.tuwien.ac.at>
*Sent:* Monday, September 6, 2021, 11:37:25 AM GMT+4:30
*Subject:* Some- QUESTIONS- Replies- about-IRelast-Package

Please find here some questions of IRelast-users as well as Replies.
With best,
Morteza


*Question:*

I have run the elastic but when I give the command C_calljob_lapw after 
that I get the error

/root/wien2k19/src_IRelast/script-elastic/x: command not found.

I try to find the solution but still not get it.

Please provide the solution sir

*Reply:*

Change to
/root/wien2k19/src_IRelast/script-elastic
Directory and in terminal environment type:

chmod +x *.*

and press Enter key.

*Question:*

My name is DJEZZAR Nor el Houda, a phd student in Oran 1 university of 
Algeria.  I used to calculate the elastic properties using your package 
IRelast implemented in the Wien2k code, but I am confused about how to 
use the package for a magnetic material using spin-orbit coupling !!. 
Actually, what I did is as follow:

Command_init_lapw

Command_initso_lapw

C_set_elast_lapw

Then I modify the job. My question is that I have tow blocs, one under 
the name of (RUN COMMAND) and the second (FOR SO CALCULATION) here 
should I comment the command in the first bloc or should I add -so and 
in the second bloc activate also the command ?. Will you please explain 
the procedure I will be so grateful to you sir and thank you in advance.

*Reply:*

About  effect of SO coupling.

In the "case.job" file there is a program called auto_initso_lapw.

When you call Command_initso_lapw it creates .infSO file.

"case.job" program calls auto_initso_lapw when there is .infSO file and 
creates case.inso for SO coupling calculations using information of 
.infSO file.

   Moreover with in "case.job" file you must activate  (find the 
following commands)

#run_lapw -ec 0.0001 -so

#teststatus

   i.e. you must convert the above commands as

run_lapw -ec 0.0001 -so

teststatus

AND USE SUITABLE COMMANDS for example

run_lapw -ec 0.0001 -cc 0.01 -so ....

teststatus

--------------------------------------------------------------------------------------------------------------------

or

when you want to use SO coupling, you must add "-so" switch to RUN COMMAND.

you can add "-so" to first bloc under the name of (RUN COMMAND) but, it 
is better (for SO calculation) run calculations step by step ( it is not 
obligation)

i.e. in the first  step simple scf (run[sp]_lapw -ec 0.0001 -cc 0.01 ....)

and after finishing simple scf and creating case.inso file, second step

(run[sp]_lapw -ec 0.0001 -cc 0.01 -so  ....)

For the bad case which the convergence criterion is not met easily, it 
is better for spin-orbit coupling run scf step by step i.e:

run[sp]_lapw -ec 0.0001 -cc 0.01 ....

save_lapw ....

run[sp]_lapw -ec 0.0001 -cc 0.01 -so  ....

*Question:*

Dear sir,

I am a research scholar working in DFT, especially WIEN2k. I am sending 
this mail in need of clarification regarding elastic constants generated 
from the IRelast package. I have been performing elastic calculations of 
two cubic structures.

For the first cubic structure,

While working in IRelast, I have manually generated 7 structures (-3% to 
3%) for all strain types and the program ran successfully without error. 
So, I made the sensitivity check to the order of fit. There were 5 
different results for each order of fit (from 2nd to 6th order). I am 
confused about which order fit results will be reliable to study. 
IRelast gave the final result (elastic constants, Elastic moduli and 
debye temperature) from 2nd order fit in case.output_elastic file.

2nd order fit results as follows :

C11 = 274.837, C12 = 52.172, C44 = 49.552 GPa

6th order-fit results as follows:

C11 = 278.533, C12 = 52.789, C44 = 106.552 GPa

As you can see the elastic constants (C11, C12 and C44) from 6th order 
fit (negative cauchy pressure) were drastically different and opposite 
from 2nd order fit results (positive cauchy pressure) for the same 
structure.

I prefer your package for elastic study more than other packages but I 
am worried about the reliability of my results. I need to know the 
reason for this drastic variation of results in each order-fit and 
kindly suggest which order-fit results I must implement for further 
study. Also, Please provide the general guideline for the choice of 
RKmax, number of K-Points, L-max in your package.

For the second cubic structure,

I generated 5 structures (-2% to 2%) for three strain types and got the 
results. So, there were 4 order-fit results. As usual, IRelast generated 
the final result from 2nd order-fit in case.output_elastic file. Here 
also, I encountered an extreme variation of elastic constants in each 
order-fit severe than the first structure.

2nd order-fit results:

C11 = 149.740, C12 = 98.763, C44 = 51.841 GPa satisfies Born-stability 
criteria

4th order-fit results:

C11 = 41.131, C12 = 153.433, C44 = 112.566 GPa. But not satisfy 
Born-stability criteria. How is this possible?.

I also checked with the 'Charpin' method. It showed that the structure 
is stable. The results from your package vary a lot with 'Charpin' 
method. I am in a great deal of trouble to continue further my research 
because of these deviated results.

I am preferring your package to work with since it holds a good 
reputation among the researchers in WIEN2k. So, Please clarify my doubts 
patiently and kindly suggest some guidelines while doing elastic 
calculations.

*Reply:*

As i said, Based on theory, two or three order fit results will be 
reliable if strain values to be small and therefore in the regime of 
Hooke's law elastic constants equation is as:

E=E0+V0(a×S+Cij×S^2)

However to save the degrees of percision, we do not relinquish the 
linear term and  order of fits( fit= 3 or 4 or...) in the 
IRelast-package and let the IRelast-package checks them and therefore 
sensitivity of results to the order of fit.

Moreover see the attach files and check papers.

As i said in my papers(attach file), if the optimal structure was used 
as reference structure, usually, we expect to see a minimum at 
zero-strain for all curves of energy as a function of strain with 
reference to fit convergence. This guide us that after calculations and 
check curve of energy vs. strain, we can remove bad points of calculations.

So, for c11-c12 calculations, i prefer to select strain as -3, -1,0,1,3 
and remove bad points i.e. -2 , 2.

For c44, it is Ok.

When your system is in SP mode you must run all scf of elastic constants 
calculation as SP mode.

*Question:*

Dear brother Jamal

i started to calculation elastic constant (hex) in wien2k 19 but i have 
this error

##########################################
Start for AUTO intialization Styp1_-2.0
##########################################
   3 Atoms found:  with labels C 1  Nb1  Se1
generate atomic configuration for atom 1 : C 1
generate atomic configuration for atom 2 : Nb1
generate atomic configuration for atom 3 : Se1
   next is setrmt
   next is nn
/home/baaziz/soft/wien2k/SRC_IRelast/script-elastic/x: Command not found.
   n stop error n
clmextrapol_lapw did not extrapolate new density because of missing 
Nb2Se2C-elast.rsp
hup: Command not found.
head: cannot open 'Nb2Se2C-elast.inm' for reading: No such file or directory
head: cannot open 'Nb2Se2C-elast.inm' for reading: No such file or directory
no Nb2Se2C-elast.clmsum(_old) file found, which is necessary for lapw0 !
grep: *scf1*: No such file or directory
grep: lapw2*.error: No such file or directory

>   stop error
-----------------------------------------------------

ERROR status in Styp1_-2.0

    i use userguide but dont solve the problem


please help me step by step to solve the problem or if you have video 
for hex structure

send it to me

best regards

*Reply:*

Change to

/home/user/wien2K/SRC_IRelast/script-elastic

directory   and type( in terminal )

chmod +x   *

And press ENTER key.

Moreover

Move initIR_lapw program from SRC_IRelast/script-elastic  to your wien2k 
directory.

*Question:*

My name is DJEZZAR Nor el Houda, a phd student from Algeria.  Recently, 
i am trying to calculate elastic constants using the pakcage you 
devolopped (IRelast) for the WIEN2k code to check the stability of some 
compounds. As far as I know, when I get a parabolic variation of the 
energy as a function of the strain and the minimum of the energy is at 0 
point, the Cij value is correct. So what if this variation is inversed 
(the maximum of the energy is at 0 strain) ? Should I consider my 
material instable or is there a solution for that please? .

Another question is considering the strain value, so why can’t we take 
two digits after the decimal point for example in the job if we choose 
0.05% it will be 0.1%, and for some cases the minimum is close to 0 or 
we lose it for higher values. Is there a way to take small strains?

I will be so grateful for your answers and thank you professor for your 
hard work.

Greetings,

*Reply:*

first question:

You must be sure all of calculations are done well and correct.

Check convergency of energy.

If there are forces on your atoms you must relax your compounds.

If you be sure your caculations are done correct, you can remove bad 
points from your calculations.

For example remove data of zero-point and check the curve of Energy vs 
strain.

About second question.

As i know you can select value such as 0.1% or 0.2% , ... but values 
such as 0.05% is very small value. It is equal to 0.05÷100= 0.005

**

*Question:*

My name is DJEZZAR Nor el Houda, a phd student from Algeria. Recently, i 
am trying to calculate elastic constants using the pakcage you 
devolopped (IRelast) in the WIEN2k code for a monoclinic system. This is 
my first time to calculate the elastic properties and your package 
helped me a lot. I am a little bit confused about some points and i wish 
you help me deal with them  please.

- According to my knowledge the minimum must be around 0 % althought in 
my calculations it was far from 0 % is it right or is it an indication 
that my lattice parameters are not well optimized or is there another 
reason,? What if i am using a supercell ?.

- After initialisation, we obtain tow run command files, is that mean 
that it uses both ?; and in the MONO.job we get the same run commands. 
For a modification in the commands should we modify the independent run 
files or a modification in the job is sufficient ?.

- If i wanna use the Hubbard correction what about the min command ? For 
me I deleted min_lapw -j and modified the command : runsp_c_lapw -I -fc 
1.0 -i 60 , is that right please?

- Can we calculate the elastic properties using TB-mBJ correction ? 
Cause in my casse i am studing a strong correlated material and the semi 
local approximations don’t give me the right properties !!.

- Also in the case of monoclinic structure we have internal coordinates, 
so a minimization must be done, the question is should i uncomment the 
min in the second line of the file (runcommand1) ?.

These are my questions. I will be so gratefull to you and thank you in 
advance.

Best regards,

*Reply:*

Dear D. Houda,

*>>According to my knowledge the minimum must be around 0 % althought in 
my calculations it was far from 0 % is it >>right or is it an indication 
that my lattice parameters are not well optimized or is there another 
reason,?*

usually we expect to see a minimum around 0%. this can mean you have not 
optimized well.

For monoclinic compounds, there are four parameters (A , B , C lattices 
and gamma) for varying.

You can find the best values of optimized when you vary A, B, C and 
gamma for monoclinic compounds ( it can be expensive calculations) not 
to find optimized values with Vary volume with constant ratio (A:B:C).

however we can find optimized values for monoclinic system " with Vary 
volume with constant ratio (A:B:C) " but, it is not exact.

*>>After initialisation, we obtain two run command files, is that mean 
that it uses both ?; and in the MONO.job we get >>the same run commands. 
For a modification in the commands should we modify the independent run 
files or a >>modification in the job is sufficient ?*

the first run command (with in runcommand1 file) uses for original 
struct file (zero-value) and when strain-matrix does not change the 
symmetry of our compound.

the second  run command (with in runcommand2 file) uses for other values 
of strain (-2%, -1%, 1% ,2%) and when strain-matrix  changes the 
symmetry of our compound.

Moreover you should know, sometimes our original struct file 
(zero-value) have not internal-coordinates ( so i use run(sp)_lapw -ec 
0.001 -cc 0.01 -i ....) but, other values of strain-matrix may change 
our symmetry as it have internal-coordinates (so i use run(sp)_lapw -ec 
0.001 -cc 0.01 -min -fc 1.0 ....).

*>> For a modification in the commands should we modify the independent 
run files or a modification in the job is >>sufficient ?*

modification in the job (MONO.job) by hand  is sufficient.

*>> If i wanna use the Hubbard correction what about the min command ? 
For me I deleted min_lapw -j and modified >> the command : runsp_c_lapw 
-I -fc 1.0 -i 60 , is that right please?*

if you have internal-coordinates

min_lapw -j "runsp_c_lapw -ec 0.0001 -cc 0.01 -fc 1.0 ..."

runsp_c_lapw  -ec 0.0001 -cc 0.01 -orb

*>> Can we calculate the elastic properties using TB-mBJ correction ? *

Yes. you must do by hand.

After running set_elast_lapw and making elast-constants/c11 or  
elast-constants/c12 ...... subdirectories

for example for c11:

go to elast-constants/c11/case subdirectory

find  Styp1*.struct files

make a directory for example Styp1__1.0

cp  elast-constants/c11/case/Styp__1.0.struct to   Styp1__1.0 directory.

run sgroupcheck_lapw

run  initialization (init_lapw )

create files for Tb-mBj calculations

runsp_lapw ......

repeat the same method for other values (-1%,-2%,2%,...)

after all running related to -2% , -1% ,.....

cp  Styp1*.scf  files to the  elast-constants/c11/case  subdirectory and 
now run MONO.job

since you have all Styp1*.scf files, MONO.job  finds Energy values from 
scf files related to (-2%,-1%,0%,...)

you should the same method for C12, C22 ,....

with best,

Morteza






More information about the Wien mailing list