Problem with critical strain s0 in pair_style peri/pmb

Dear all,

we am currently using the pair_style peri/pmb to simulate PMMA (LAMMPS 30March2018 version).
We found some problems when we tried to weaken the bonds acting between two different blocks of PMMA: from our understanding of the theory as stated in (equation 9 in particular), the parameters s00 and alpha need not be the same for all the pair interactions (at least in principle). Our idea was to use a smaller s00 for the interactions between the two blocks initially at contact, so to determine an area where a crack is more likely to initiate. We would prefer this solution as opposed to the one we found suggested in this mailing list, i.e. to weaken the 'effective spring constant' of the Peridynamic bond, as this choice would affect also the short-range repulsion (eq.10a of the same article).
However this fails to work in the present implementation. Specifically, in the pair_peri_pmb.cpp source we find the line :

MAX(s0_new[i],s00[itype][jtype] - (alpha[itype][jtype] * stretch)) (L266)

not to implement equation 9 mentioned above: instead of really minimizing the stretch within the horizon of particle i, in the code the total quantity s0 is maximized.
This implementation happens to work when all the alpha's and the s00's are the same, but fails to make the crack easier when we have a smaller s00 at the interface (because the MAX will not select that smaller value). If different alpha's and s00's (depending on the particles type) appear within the horizon of the i particle, the MAX over the total quantity s0 is in general different from a combination of the appropriate s00 for that bond with the MIN over the stretch for that particle.

We tried to modify pair_peri_pmb.cpp (attached to this email), but our version currently works only in the special case alpha=0.

This is a simple&quick input file (also attached) which illustrates the problem we are referring to:

pair_peri_pmb.cpp.gz (4.35 KB)

in.pmb.peri.gz (737 Bytes)

FYI, this needs to be looked at by an expert. that can take some time.
there is a better chance, that this does not get lost, if you post your report with attached examples and code in the issue tracker on github:


Thanks for the careful analysis. Unfortunately there is no one
who currently owns/maintains the PERI package for LAMMPS.
Your best bet might be to send email to John Foster and Rezwanur
Rahman (see top of other pair files in PERI), to see if
they are still actively using the PERI package.


Thank you Axel, thank you Steve.

I just posted my report with all the proper attachments on github: . I will now send an email to John Foster and Rezwanur Rahman with a link to that page so to inform them. Thank you, Riccardo Galbiati