[lammps-users] energy minimization with force constraint + fracture mechanics


I want to simulate a fracture mechanics problem (simple through crack in an infinite plate) and compare the resulting stress with the analytical solution given in text books.

For this I create a rather big system in the x,y-plane with (s) boundary conditions and I create only some unit cells in z-direction with § periodic boundary condition.
Then I remove some atoms to simulate a through crack and try to load the system, because the analytical solutions demand a constant remote tensile stress sigma.

Furthermore, I would very much like to create a system in equilibrium at zero temperature (molecular statics).

To simulate the remote tensile stress, I try to apply forces in y-direction on the top nodes of the system (upper) and the bottom nodes (lower).

Following constraints work (I minimize the energy of the system with fixed bottom and top nodes; at least I think that is what the system is doing):

  • fix SETFORCE1 lower setforce NULL 0.0 NULL
  • fix SETFORCE2 upper setforce NULL 0.0 NULL
  • min_style cg
  • min_modify dmax 0.1 line quadratic
  • minimize 0.0 1.0e-13 1000000 1000000
    The system needs around 600 steps for the minimization, which is plausible.

If I try to apply forces in the minimization process:

  • fix SETFORCE1 lower setforce NULL -${force} NULL
  • fix SETFORCE2 upper setforce NULL +${force} NULL
  • min_style cg
  • min_modify dmax 0.1 line quadratic
  • minimize 0.0 1.0e-13 1000000 1000000
    The system only does 2 minimization steps and basically nothing happens (the positions of the atoms stay the same and I can do that even for unreasonable big forces, hence, I believe the system is not caring about my constraint).

My questions:

  1. What is the best way to simulate fracture mechanics, if zero temperature simulations are preferred? How can I reach a stressed equilibrium position?
  2. How can I minimize the system under force \neq zero constraints?

Thanks for help,

I would displace the lower and upper atoms to new positions,
and re-minimize. Do that in a loop and you can slowly pull
apart the sample.



This is definitely a way to do it, but I would like to model the classical examples in text books, which are force-driven (stress is applied) and not displacement-driven.
If I displace the atoms, how can I find out the corresponding stress and how can I guarantee that the resulting stress field is homogeneous at the top and the bottom (I cannot model an infinitely large plate with lammps).
That are the reasons why I’d like to use the fix setforce.

I figured out that my last question is kind of obsolete. If you use the fix setforce, then this information is incorporated into the energy minimization.

However, does anyone have an idea/workaround, how I can simulate a fracture mechanics example without using very large systems? Because small, unloaded systems and free boundary conditions experience large residual stresses while energy minimization.


2010/12/15 Steve Plimpton <sjplimp@…43…4…>