Dear All,
I am using LAMMPS (14 Feb 2014) and have some questions :
1.I want to calculate the elastic constants of metallic glasses,which must be cooled down quickly from high temperature.Therefore I cool them down to 0.1K and 300K.Then I load the amorphours configuration via read_data command.However,the elastic constants I get are sensitive to the choice of the variable {up} in init.mod ,even though I change {maxiter/maxeval} in init.mod from {100/1000} t0 {1000/1000} or {5000/10000} or {5000/100000} in order to verify that the minimization of energy w.r.t atom positions in the deformed cell is fully converged.The elastic constants I get just vary from 10~1000Gpa in the order of magnitude.I just wonder how to set the parameters to get the accurate result?
In the example of elastic constant calculation given by lammps,I run the input script ,and get the result(C11,C12,and C44) consistent with that given in.elastic,however ‘Elastic Constant C26all = -7.79739532763451e-011 GPa’ seems incorrect in comparision with the fact that C26 should be positive?
Ok …I just need to give and advise (hopefully will be useful) …
{5000/100000} in order to verify that the minimization of energy w.r.t atom positions in the deformed cell is fully converged.The elastic constants I get just vary from 10~1000Gpa in the order of magnitude.I just wonder how to set the parameters to get the accurate result?
ANSWER:
Why not instead of using the LAMMPS example script … You better use a method like the one cited in this reference : http://journals.aps.org/prb/abstract/10.1103/PhysRevB.32.733 You can use a pressure fluctuation method to calculate the elastic constants at different temperatures (let say 300K and 150K , etc) , then make a plot of ECONSTANT vs Temperature and find the value at 0K by using extrapolation … The method i cite in this reference is really easy to use … The way I do is by first running a lot of time steps to get the log output with the pressure information and then using a external program such as MATLAB/OCTAVE I read the lamps output file and run the calculations … It requires a little bit of programming skills, and a little bit of imagination to implement the formula … But it is guaranteed to have alot of FUN on the process ^_____^
Dear All,
I am using LAMMPS (14 Feb 2014) and have some questions :
1.I want to calculate the elastic constants of metallic glasses,which must
be cooled down quickly from high temperature.Therefore I cool them down to
0.1K and 300K.Then I load the amorphours configuration via read_data
command.However,the elastic constants I get are sensitive to the choice of
the variable \{up\} in init\.mod ,even though I change {maxiter/maxeval} in
init.mod from {100/1000} t0 {1000/1000} or {5000/10000} or {5000/100000} in
order to verify that the minimization of energy w.r.t atom positions in the
deformed cell is fully converged.The elastic constants I get just vary from
10~1000Gpa in the order of magnitude.I just wonder how to set the parameters
to get the accurate result?
You should try different ${up} values (Increase/decrease the number in
one direction) till you get converged results.
2. In the example of elastic constant calculation given by lammps,I run the
input script ,and get the result(C11,C12,and C44) consistent with that given
in.elastic,however 'Elastic Constant C26all = -7.79739532763451e-011 GPa'
seems incorrect in comparision with the fact that C26 should be positive?
I would see this number a zero, not a positive nor a negative number.
You tell me to try different ${up} values (Increase/decrease the number in one direction) till I get converged results.I have tried before as you said.
However,‘in.elastic’ given by lammps tells us :
‘It is also important to verify that the minimization of energy w.r.t atom positions in the deformed cell is fully converged. One indication of this is that the elastic constants are insensitive to the choice of the variable ${up} in init.mod. Another is to check the final max and two-norm forces reported in the log file. If you know that minimization is not required, you can set maxiter = 0.0 in init.mod’
We can get the information that elastic constants are insensitive to the choice of the variable {up} when using correct parameters.Therefore,if I change {up} (keeping {maxiter/maxeval} invariable),elastic constants should change slightly in the case of minimization of energy convergence.However,when I keep {maxiter/maxeval} invariable,elastic constants are very sensitive to the change of {up} .Therefore,I think something goes wrong in the minimization of energy,not in the values of {up}.I am still confused about how to deal with the problem?
No, there are certain limits on the strain you can apply to the box.
If you are outside these limits, then you will get inconsistent
results no matter how good the minimizations were.
Thank you very much.After getting your advises,I still have some questions:
1.I set ${maxiter/maxeval} in init.mod as {2000/10000} and lammps only uses ~1900 steps for minimization,which means the time of minimizations is enough?
2.Keeping {maxiter/maxeval} invariable, I have try different {up} values at 10^-8 ,10^-7…10^-1.When at 10^4,10^3 and 10^2,the results are approximate.Therefore I think 10^-4~10^-2 is so-called ‘certain limits’ you said,right?
3.Is this the right way to be sure that {up} values I have set is corret? Also so many {up} values at 10^4,10^3 and 10^2,which one will give me the most precise answer?
4.I still get the negative values in some elastic constants:
Thank you very much.After getting your advises,I still have some questions:
1.I set ${maxiter/maxeval} in init.mod as {2000/10000} and lammps only uses
~1900 steps for minimization,which means the time of minimizations is
enough?
It appears so.
2.Keeping \{maxiter/maxeval\} invariable, I have try different {up} values
at 10^-8 ,10^-7...10^-1.When at 10^4,10^3 and 10^2,the results are
approximate.Therefore I think 10^-4~10^-2 is so-called 'certain limits' you
said,right?
Appears so.
3.Is this the right way to be sure that \{up\} values I have set is corret?
Also so many {up} values at 10^4,10^3 and 10^2,which one will give me the
most precise answer?
This is up to you to decide since you will be the one defending your
results/paper.
4.I still get the negative values in some elastic constants:
I wouldn't be too worried about these small numbers. But you have to
decide if you can confidently defend your results.