← Back to team overview

yade-users team mailing list archive

Re: How to keep a constant stress boundary?


I wrote Shop::totalForceInVolume, which computes stiffness and force
just for that purpose. I am not sure it is physically correct, but
should be: if you sum forces on all interactions (abs values of the
components, that is), you get some summary force in the whole
simulation. Dividing that force e.g. z-component by xy area of the
periodic cell, you have average stress in the z sense, right?

After 1min of thinking :
mmmh.... probably not. Suppose you have the same stress in a sample that is twice higher (y-length) with the same x/z length, the sum of forces will be multiplied by 2, you divide by the same area. YOUR stress is twice bigger when it should be the same. You need to divide by a volume like in Love-Weber : Sum(fi*lj)/V //component (ij) of the stress tensor Not a big deal to compute that (its somewhere in a recorder already, it needs adaptation for periodic volume though).
I would be glad if you could check that Shop::totalForceInVolume.

Some control code is in PeriIsoCompressor, you can take that as
inspiration, I think it is quite readable:

Vector3r cellSize=rb->cellMax-rb->cellMin;
Vector3r cellArea=Vector3r(cellSize[1]*cellSize[2],cellSize[0]*cellSize[2],cellSize[0]*cellSize[1]);
Vector3r sumForces=Shop::totalForceInVolume(avgStiffness,rb);
Vector3r sigma=Vector3r(sumForces[0]/cellArea[0],sumForces[1]/cellArea[1],sumForces[2]/cellArea[2]);
// etc.

If I change the value of, say, rb->cellMax, will it instantly translate all particles in proportion? (you remember this old discussion?)

The cell is defined in MetaBody::cellMin and MetaBody::cellMax (corners
of the cell) and MetaBody::isPeriodic==true. You can change cell corners
as you want.

Oh, important note: constitutive laws that as bodies for their
coordinates (such as ElasticContactLaw) will not work with periodic
boundaries; the periodicity information is injected into the interaction
and interaction geometry functor receives adjusted se3's of the bodies.

Law2_Dem3Dof_Elastic_Elastic will work just fine however (Dem3Dof saves
se3 of bodies inside itself, which is faster and has this (unplanned)
feature of using fake body coordinates instead of the real ones).

I wish I have more time soon....


Cheers, Vaclav

Mailing list: https://launchpad.net/~yade-users
Post to     : yade-users@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Chareyre Bruno
Maitre de Conferences

Grenoble INP
Laboratoire 3SR - bureau E145
BP 53 - 38041, Grenoble cedex 9 - France
Tél : 33 4 56 52 86 21
Fax : 33 4 76 82 70 43

Follow ups