Regarding fix indent

Steve and all,

In the indentation example, the unloading is realized by “unfix indent”. But in this means, there is no way to track the force on the indenter since it was removed. I think an alternative way would be displace the intentor back to the original postion. However, when I tried the following way, the forces are all 0.0. And I visualized the snapshots. It turns out the indenter is still there; atoms still feel the force from the intenter but variable b does move as you can see in the log file.

variable b equal “72.6 - stepdt0.1”
#print " b is $b"

fix 4 all indent $k sphere 0 0 v_b 20.0

thermo_style custom step temp pxx pyy pzz lx ly lz f_4[1] f_4[2] f_4[3] f_4
thermo 100

run 3000
write_restart restart.2

run without indenter

variable p1 equal $b
variable b equal “v_p1 + stepdt0.1”
fix 4 all indent $k sphere 0 0 v_b 20.0

Part of log.lammps file:

500 284.68163 -2087.0027 -2048.652 -668.8266 72.6 72.6 182.6 0 0 0 0
600 285.97966 -1987.3013 -1956.973 -523.9989 72.6 72.6 182.6 -0.00013542663 0.0063826929 0.070398237 0.001565157
700 283.93023 -2578.6022 -2650.1632 -1400.0463 72.6 72.6 182.6 -0.00028041094 -0.0086917619 0.094931084 0.0024512189
800 286.29415 -2052.0045 -2031.01 -627.44699 72.6 72.6 182.6 -0.00014552652 0.016801924 0.21346005 0.0082515275
900 283.90078 -2245.5443 -2256.238 -855.56471 72.6 72.6 182.6 -0.011945637 -0.012514755 0.65353967 0.026909454
1000 282.40129 -2347.4241 -2317.091 -1017.2836 72.6 72.6 182.6 0.0057935806 -0.001859427 0.78996776 0.039015559
1100 286.22157 -1820.8502 -1867.3737 -424.10499 72.6 72.6 182.6 -0.013978068 -0.007067347 0.25540585 0.007883598
1200 283.13637 -1791.5956 -1819.8704 -329.63087 72.6 72.6 182.6 0.0054967699 0.0035729784 0.20290442 0.0041522467
1300 283.54771 -1539.1884 -1618.3608 -50.129872 72.6 72.6 182.6 0.0014885847 0.01208759 0.38371316 0.010778941

Step Temp Pxx Pyy Pzz Lx Ly Lz 4[1] 4[2] 4[3] 4 b
3500 284.74398 -1534.5951 -1567.7467 64.019632 72.6 72.6 182.6 0 0 0 0 91.1
3600 287.65638 -1639.4084 -1631.5729 -103.12568 72.6 72.6 182.6 0 0 0 0 91.15
3700 284.16932 -1494.3355 -1441.4497 162.94624 72.6 72.6 182.6 0 0 0 0 91.2
3800 283.87821 -1729.1566 -1742.8557 -229.88324 72.6 72.6 182.6 0 0 0 0 91.25
3900 285.76499 -1548.1706 -1455.5139 57.754318 72.6 72.6 182.6 0 0 0 0 91.3
4000 284.75282 -2183.4391 -2190.2608 -842.07166 72.6 72.6 182.6 0 0 0 0 91.35
4100 284.32211 -2326.9674 -2311.9408 -1138.8122 72.6 72.6 182.6 0 0 0 0 91.4
4200 285.17789 -2291.6743 -2261.8966 -1005.0831 72.6 72.6 182.6 0 0 0 0 91.45
4300 285.93711 -2544.537 -2518.658 -1345.4722 72.6 72.6 182.6 0 0 0 0 91.5

Do you know how to bypass this issue?

Thanks,

Ajing

No one wants comment and help?

Cheers,

AC

Hello Albert,

I am not an expert in studying mechanic behavior by MD, but after I read your email and check the “fix indent” documents, I got an idea what you’ve done and have some comments as follow:

Why do you want do track the force on the indenter after it is removed? Obviously, there is no force on the indenter because there is no indenter any more. You can track the force on the indenter when it is there, just as you’ve done in thermo_style. What I can assume is you want the unloading process smoothly, so you put the indenter back. If this is the case, you need to know that the force defined by “fix indent” is only a repulsive force and if the distance is larger than the value you set, the force becomes zero, as what you’ve seen. When you are saying " the indenter is still there and atoms still feel the force from the indenter", there are two possibilities, one is the system is permanently deformed due to the indentation, the other one is your combination of “fix indent” and variable didn’t do what you want (You can check it by visualizing the indenter insertion process). Actually, there is a “vel” option for “fix indent” to set a moving indenter. Please correct me if I am wrong. Thanks.

Xiaopeng

Xiaopeng,

First of all, thanks for your comments. The two scenarios you provided are :

  1. the system is permanently deformed due to the indentation. So that means whenever I move the indenter a little bit back, there is no driving force for these atoms being pulled away? No, There got be some elastic unloading.

  2. your combination of “fix indent” and variable didn’t do what you want. This is more likely. The thing I think is that the first “fix indent” is still there and the indenter does not move any more, if I “unfix” it, I should be able to get rid of it. However, I need another "fix indent " because I dont want to remove the “indenter” immediately. I want to do that gradually just like reverse the loading process.

The reason I got zero force is probably because lammps does not allow me redefine the same "fix " or not picking up the unfix. That is why I want to somebody takes a look of my input script and try out to see if there is anything wrong with my script.

Thanks,

AC

Steve,

I confirmed that the “unfix indent” did not work. If I ran the indent example, I saw the surface atoms did not retrieve back after the “unfix indent” being triggered. Any idea of what could cause this?

Cheers,

AC

Hi Albert,

As what I suggested, you can try another “fix indent” with a velocity in a reverse direction after unfix the previous one. The velocity should be small enough to capture the elastic unloading. Hope it helps.

Xiaopeng

Steve,

I confirmed that the "unfix indent" did not work. If I ran the indent
example, I saw the surface atoms did not retrieve back after the "unfix
indent" being triggered. Any idea of what could cause this?

why should they go back in the first place?
you are deforming an object that is in solid phase.

axel.

Hi Albert,

Sorry, I didn’t notice the difference between the document and LAMMPS version I checked (17May08) and you used. Actually, you are doing with a velocity in a reverse direction in a new version style. However, I caught a small mistake in your script, the second “fix indent” should be

variable b equal “v_p1 + (step-3000)dt0.1” # the previous finished steps should be substracted
fix 4 all indent $k sphere 0 0 v_b 20.0

or you just reset your steps to zero before this fix. I think that’s why it makes the force zero. I have done a simple test based on the example using 27Mar11 version of LAMMPS. The force isn’t zero during the beginning of unloading process. You can always output the center of sphere indenter for both loading and unloading processes to compare. I don’t know if it can really catch the elastic unloading. If it does, that would be beautiful.

Cheers,

Xiaopeng

If in the elastic regime, it should go back. Even not purely elastic, one should be able to see the recovery somehow. ---- AC

Dear Albert,

But for typical materials, the elastic deformation is extremely small,
usually much less than one percent, and the system enters very quickly
into the plastic domain. Have you checked the orders of magnitude for
the material you are indenting (epsilon_elastic = elastic limit /
Young's modulus)?

Best,
Laurent

2011/4/28 Albert Cao <[email protected]>:

I don't know what "does not work" means. Are
you saying LAMMPS has a bug with deleting the
fix, or are you saying the physical results are not
what you expect? The latter seems to be what
others are saying.

Steve

Xiaopeng,

Thanks, you caught the key. I should have deducted the time already last. It is working now.

Cheers,

AC

Thanks,

The materials I’m working on are metals, the elastic limit for the material is ~3% (because of no-defects). The point is if I move the indenter out of the substrate the same speed as it indent in, I should see the force gradually reduces from the maximum to zero anyway. There is no physical confusion about it.

As xiaopeng pointed out, I should subtract the time already last from my script.

Anyway, thanks for your all help.

Best,

AC