uniaxial deformation tantalum..

Hello All,

Does anyone know how to implement quasi - isentropic compression using Lammps ? . I’m running MD simulations to study the elastic - plastic transition on Tantalum along the direcction of compression [100] . [110] and [111]. The way the simulation are performed is by letting the system to equlibrate using (NPT) iso 0 0 0 and temp 300 300 . Then the computational box is deformed along the x-direction using a constant engineering strain, i.e fix 1 all nvt/sllod temp 300 300 1 drag 1 and fix 2 all deform 1 x erate 0.01 units box remap v . The method works perfectly for unaxial compression along [100] , i.e Pxx drops and temperature increases abruptly at the elastic - plastic thershold. However for compression along [110] and [111] I have some problems …1). Pxx doesnt drop and 2) . (NVT) is having a hard time mantaing the temperature, the only way I could distinguis the elastic-plastic threshold is by obervering the tremendous drop in the Shear stress 0.5(pxx - 0.5*(pyy + pzz)) . I ran previous simulations using another MD simulator that implement quasi-isentropic compression , and I can easily distinguis the Drop in the stress (Pxx) .

Any information would be greatly appreciated.

Thank you and have a nice day
Oscar G

Maybe Aidan has an idea. I assume for samples with
different orientiations you hvae checked carefully that
you created valid periodic systems, w/out residual stress/energy
at the boundaries.


I would argue that quasi-isentropic compression is not a well-defined MD
concept. It is something that is believed to occur in high-strain rate
ramp loading experiments, where irreversible compression occurs with
little entropy generation.

In your example, you are applying a thermostat, which should result in
*isothermal* compression. The fact that you still see a temperature rise
is just a result of the thermostat being unable to keep up with the
plastic work dumped in to the system by fix deform. In other words, the
temperature rise is temporary and arbitrary, depending on the ratio of the
heat removal rate (Tdamp value and drag value) and the strain rate.

So let's not call your simulation quasi-isentropic. Let's just call it
uniaxial compression. Because of the above comments, there is no guarantee
that the temperature will rise or that the axial stress will drop, as
these responses will depend on the things mentioned above. The one thing
you do expect is that the shear stress will drop. Since this is what you
see in all cases, I would say that all of these are valid simulations of
the plastic yielding under uniaxial compression.



Its me again. I tried to run Uniaxial deformation using the TRATE scheme. According the instructions (lammps website), the length of the computational box must change accoring to L(t) = Loexp(tratedt) . I ran some simulations to look at the deformation profile, and implemented the following script

variable time_step equal 0.005 # time step in pico seconds
variable R equal 0.10 # Compress rate
fix 1 all nve
fix 2 all deform 1 x trate -{R} units box remap x variable strain equal "-(lx - v_L0)/v_L0" variable out1 equal "v_strain" variable out2 equal "lx" variable out3 equal "ly" variable out4 equal "lz" fix def1 all print 1 "{out1} {out2} {out3} ${out4}" file output.dat screen no
run 2000 # (0.005)(2000) is equal to 10 pico seconds

If i’m correct the box should compress up to 60% of its original length in the x-direction e.g let Lo = 1 , R = -0.10 and run 10 time units, that means the lenght of the computational box should be L(10) = 0.40 (aprox) or meaning it got compressed 60% of its original lenght . However The lenght of the box as function of time doesnt follow an exponential functional form (Its a Straight Line) . Please find attached in this email a picture of the lenght of the box as function the deformation % . The image clearly show the L(t) is a straight line . I would expect to be a little bit curvy. I would like to be able deform the box using diferent functional forms. Sorry if my question its a little dumb.

Thank you and have a nice day
Oscar G.



Hi All,

I saw my error, and found out why when I deformed the body using the TRATE profile the x length changed linearly instead of exponentialy . I just had to remove the “strain variable” from the outputfile and plot length vs time steps.

I tried to implment a Quasi - isentropic functional form , and added it to fix_deform.cpp ( the new profile is call QRATE) . I ran simulations and the box length change correctly, but still we must modify the equations of motion i.e Add the extra degree of freedom to the NVE ensemble. Unfourtounately I have no idea how to do it . I saw fix_nve.cpp and the Author offer no commets what so ever what each variable means , dont suppouse I gonna Guess it, and secondly, how it would be possible to pass the value of the strain (epsilon) need it to calculate the degree of fredoom. My guess its gonna to required a new fix.cpp file and pass variables using A bunch of weird pointers (easy to say , but hard to implement) .

Please find attached in this email, the modified fix_deform.cpp fix_deform.h , The EAM potential that I implemented to run the Tantalum simulations And The Lammps Script (in.test) that contains the new implemented QRATE functional form.

Have a nice day
Oscar G.

Ta1setfl.eam (355 KB)

fix_deform.cpp (31.7 KB)

fix_deform.h (1.89 KB)

in.test (7.89 KB)

I saw fix_nve.cpp and the Author offer no commets what so ever what each variable means , dont suppouse I gonna Guess it,

If you have a specific question about fix_nve.cpp, then just post it.