how to calculate the plastic part of shear displacement in law2-cohesionMoment
Hi,
I want to calculate the plastic shear displacement of any specific contact during every time step. I'm using Law2_ScGeom6D_
Vector3r& shearForce = geom->rotate(
const Vector3r& dus = geom->shearIncr
//Linear elasticity giving "trial" shear force
shearForce -= phys->ks * dus;
Real Fs = phys->shearForc
Real maxFs = phys->shearAdhe
if (!phys-
maxFs = math::max((Real)0, maxFs);
if (Fs > maxFs) { //Plasticity condition on shear force
if (phys->fragile && !phys->
phys-
maxFs = max((Real)0, Fn * phys->tangensOf
}
maxFs = maxFs / Fs;
Vector3r trialForce = shearForce;
shearForce *= maxFs;
if (scene->trackEnergy || traceEnergy) {
Real sheardissip = ((1 / phys->ks) * (trialForce - shearForce)) /*plastic disp*/.
Briefly, the plastic shear displacement is calculated by 1/ks*(trialForce - shearForce). However, it seems trialForce is not available during the simulation process. Though shearInc is available, which is dus in the source code, it is not exactly the same as 1/ks*(trialForce - shearForce). Therefore I want to ask if there is a simple way to get the plastic shear displacement instead of modify the source code?
Thank you!
[1] https:/
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Bruno Chareyre
- Solved:
- Last query:
- Last reply: