Hi,
I was wondering how to apply strain in a target material here's my input file as an example. After increasing the lattice constant by 1% should I just run the optimization task and do nothing but wait?
tasks
2
spinpol
.true.
ngridk
12 12 1
latvopt
2
epspot
0.1000000000E-03
epsengy
0.1000000000E-03
sppath
'../species/'
scale
1.88972612462577
avec
6.1372649384 0.0000000000 0.0000000000
-3.0382499695 5.2624033132 0.0000000000
0.0000000000 0.0000000000 19.4603996277
With latvopt =/= 0 you will get your cell optimized and the strain will go away (that is, if task i 2 or 3). If you have to optimize - do only the the atomic positions with latvopt = 0.
Strain will come from an overall cell size changes that can be induced e.g. by scale keyword.
Also, as this is likely a slab - you shoud use partial scale and not total scale, see the manual.
Last edit: Andrew Shyichuk 2024-01-19
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You can apply your own strain and optimise the atomic positions. Or, as Andrew mentioned, set latvopt /= 0. With latvopt =1 the code will perform an unconstrained optimisation and adjust the volume. For latvopt = 2 the code will perform an iso-volumetric optimisation.
Tasks 430 and 440 will output the symmetrised stress and strain tensors, respectively.
Regards,
Kay.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
I was wondering how to apply strain in a target material here's my input file as an example. After increasing the lattice constant by 1% should I just run the optimization task and do nothing but wait?
tasks
2
spinpol
.true.
ngridk
12 12 1
latvopt
2
epspot
0.1000000000E-03
epsengy
0.1000000000E-03
sppath
'../species/'
scale
1.88972612462577
avec
6.1372649384 0.0000000000 0.0000000000
-3.0382499695 5.2624033132 0.0000000000
0.0000000000 0.0000000000 19.4603996277
atoms
3 : nspecies
'Mn.in' : spfname
2 : natoms; atpos, bfcmt below
0.16666667 0.33333335 0.00000000 5.00000000 0.00000000 0.00000000
-0.16666667 -0.33333335 0.00000000 -5.00000000 0.00000000 0.00000000
'P.in' : spfname
2 : natoms; atpos, bfcmt below
0.50000000 -0.00000000 -0.05680362 0.00000000 0.00000000 0.00000000
0.50000000 -0.00000000 0.05680362 0.00000000 0.00000000 0.00000000
'S.in' : spfname
6 : natoms; atpos, bfcmt below
0.17317270 -0.00000000 -0.08535892 0.00000000 0.00000000 0.00000000
-0.17317272 -0.00000000 0.08535892 0.00000000 0.00000000 0.00000000
0.50000000 -0.32682724 -0.08535892 0.00000000 0.00000000 0.00000000
0.50000000 0.32682729 0.08535892 0.00000000 0.00000000 0.00000000
-0.17317272 0.32682729 -0.08535892 0.00000000 0.00000000 0.00000000
0.17317273 -0.32682724 0.08535892 0.00000000 0.00000000 0.00000000
Hi,
With latvopt =/= 0 you will get your cell optimized and the strain will go away (that is, if task i 2 or 3). If you have to optimize - do only the the atomic positions with latvopt = 0.
Strain will come from an overall cell size changes that can be induced e.g. by scale keyword.
Also, as this is likely a slab - you shoud use partial scale and not total scale, see the manual.
Last edit: Andrew Shyichuk 2024-01-19
Hi All,
You can apply your own strain and optimise the atomic positions. Or, as Andrew mentioned, set latvopt /= 0. With latvopt =1 the code will perform an unconstrained optimisation and adjust the volume. For latvopt = 2 the code will perform an iso-volumetric optimisation.
Tasks 430 and 440 will output the symmetrised stress and strain tensors, respectively.
Regards,
Kay.