gran/hertz/history/stiffness model

Submitted by jacky on Tue, 10/15/2013 - 12:18

Dear Friends,

Currently I have started to use pair_style gran/hertz/history/stiffness model in my DEM simulation.
In the LIGGGHTS manual I find that the specified parameters are multiplied by some other parameters like: the effective mass and radius, sqrt (delta n) .

I took a look on the source code and copy/paste them here:

double polyhertz = sqrt(ri*rj/(ri+rj)*deltan);

kn = polyhertz*k_n[itype][jtype];
kt = polyhertz*k_t[itype][jtype];
gamman = polyhertz*meff*gamma_n[itype][jtype];
gammat = polyhertz*meff*gamma_t[itype][jtype];

Questions:
1. Does anyone know what is a reason of the difference between definition in the manual and the code (R* & sqrt (R*)) !!!
2. I could not find in the manual anything regards to determination of specified parameters (Kn,Kt,Gamman,Gammat).
Would you please tell me how to specify these parameters ?

Best regards,
Jacky

e.derakhshani | Tue, 10/15/2013 - 13:35

Dear JF,

For gran/hertz/history/stiffness:
Manual: Kn=r* sqrt(deltan) Kn,specified
Code (pair_gran_hertz_history_simple.cpp):
kn = polyhertz*k_n[itype][jtype];
which : double polyhertz = sqrt(ri*rj/(ri+rj)*deltan);
Therefore:
kn=sqrt(ri*rj/(ri+rj)*deltan)*kn,specified
kn=sqrt(r*) sqrt(deltan) * kn,specified

The difference is in the r* and sqrt(r*) for Kn. this is same for the other specified parameters.
Am I right ?

Second Question: what is the formulation of specified parameters?

Thanks a lot,
Jacky

JF's picture

JF | Tue, 10/15/2013 - 15:30

Sorry for the misunderstanding, I looked at the file pair_gran_hertz_history.cpp instead of the simple version.

I don't have the historic about the pair_gran_hertz_history_simple.cpp file and I don't know in which condition it is used by LIGGGHTS. I thought that the code only used the pair_gran_hertz_history_simple.cpp.

I am interesting by the reply from other users.

Regards
JF

JF's picture

JF | Tue, 10/15/2013 - 15:32

erratum: I don't have the historic about the pair_gran_hertz_history_simple.cpp file and I don't know in which condition it is used by LIGGGHTS. I thought that the code only used the pair_gran_hertz_history.cpp.

jacky | Tue, 10/15/2013 - 15:58

Thanks JF,

I have edited the pair_gran_hertz_history_simple.cpp & fix_wall_gran_hertz_history_simple.cpp as below:

fix_wall_gran_hertz_history_simple.cpp:
// kn = polyhertz*k_n[itype][atom_type_wall_];
// kt = polyhertz*k_t[itype][atom_type_wall_];
// gamman = polyhertz*meff_wall*gamma_n[itype][atom_type_wall_];
// gammat = polyhertz*meff_wall*gamma_t[itype][atom_type_wall_];

kn = sqrt(deltan)*k_n[itype][atom_type_wall_];
kt = sqrt(deltan)*k_t[itype][atom_type_wall_];
gamman = sqrt(sqrt(deltan))*gamma_n[itype][atom_type_wall_];
gammat = sqrt(sqrt(deltan))*gamma_t[itype][atom_type_wall_];

pair_gran_hertz_history_simple:
// kn = polyhertz*k_n[itype][jtype];
// kt = polyhertz*k_t[itype][jtype];
// gamman = polyhertz*meff*gamma_n[itype][jtype];
// gammat = polyhertz*meff*gamma_t[itype][jtype];

kn = sqrt(deltan)*k_n[itype][jtype];
kt = sqrt(deltan)*k_t[itype][jtype];
gammat = sqrt(sqrt(deltan))*gamma_t[itype][jtype];
gamman = sqrt(sqrt(deltan))*gamma_n[itype][jtype];

Then I run some simulation based on gran_hertz_history (Young's Modulus, Poisson ratio & coefficient of restitution) and gran_hertz_history_stiffness (Kn,Kt,Gamman,Gammat). Now It seems the results are correct.

But it should be noted that it was for special case and all specified parameter are calculated based on gran_hertz_history to check the simple model.

If the code developer gives more advice about the citation of hertz_history_stiffness and how to calculate specified parameter may be it gets more clear.

Cheers,
Jacky