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
JF | Tue, 10/15/2013 - 13:21
Hello Jacky,
Hello Jacky,
When I look at the manual (http://nf.nci.org.au/facilities/software/LIGGGHTS/doc/pair_gran.html).
There is not difference between the definition in the manual and the code. You have sqrt(ri*rj/(ri+rj)*deltan) into the both !!??
Maybe I am wrong, I let anyone else confirmed.
Regards
JF
e.derakhshani | Tue, 10/15/2013 - 13:35
Dear JF,
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 | Tue, 10/15/2013 - 15:30
Sorry for the
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 | Tue, 10/15/2013 - 15:32
erratum: I don't have the
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,
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