← Back to team overview

yade-dev team mailing list archive

Re: Stress tensor of periodic cell and interactions

 



On 27/05/2012 16:03, Jan Stránský wrote:
Hi Bruno,

Hi Jan,

I just added a getStress function because we needed it urgently with
Donia (and there was no function to get the simplest Sum(fi*lj) for
anything but Dem3Dof).
You may have a look at it (it's in fact just a copy of the code in
PeriTriax, and will replace it eventualy).
Feel free to modify/re-use. We will see if it is necessary to keep it in
the end.
If you write a more complete function, I think it should give what this
function gives by default.

The function getStress looks ok and very universal, I will reuse it :-)

I think it is better not to drag the reversedForce/Dem3Dof flags. If
necessary the sign of the returned stress can be inverted in the places
where the function is used.

agreement, if you use contact law with positive compressive forces, you will get positive compressive overall stress and vice versa (as far as I am convinced)

A few answers to your emails are below.
On my side, I'm thinking about a function to evaluate stress around a
point, using a weighted average of per-body stress. It is an independant
problem since it will use getStressForEachBody().


On 17/03/12 18:10, Jan Stránsky wrote:
- create separate functions for normal and shear contribution (as it is
in utils.normalShearStressTensors)
- other functions can be combined from this function (total stress
vector, symmetrized stress vector etc.)
Ok for combining outputs from normalShear as long it does not imply more
loops on interactions. Currently, this normalShear function is bad
because it performs two loops, one for shear and one for normal. We have
applications where the stress is computed at each step, so we sick an
optimal algorithm for just getting the total stress.

It would of course be in one loop.. As I think about it now, I don't remember why this split was planned.. Maybe Chiara used it? Personally I would not split it at all :-)
Hi Jan,

The function was split because I was following the work by Thornton who suggested something equivalent to prove that the shear stress contribution to the total stress was little if compared to the normal one during a triaxial loading. Why would you not split it at all? Just curious :-)

Cheers,
Chiara


For symmetrizing the tensor, I would personnaly tend to symmetrize it in
my scripts without checking in the documentation if it is possible to
get it already symmetrized... Well, it can't hurt if a function can do
that anyways.

It can of course be computed and returned unsymmetric and anybody can symmetrize it.. but I am still having problems with the symmetry.. would it be ok, if there were two functions, something like getCauchyStress (returning symmetric part of the stress tensor) and getCosseratStress (returning unmodified non-symmetric stress tensor)?

for the implementation applicable to both Dem3dofGeom and SCGeom, it
would be nice if the IGeom class had giveLength() method. It would be in GenericSphereContact class and each inherited class would overload it in
its specific way. Would you agree with this approach?
This is a good idea. The problem is it would have to be virtual, hence a
problem in terms of optimality. As you can see in the new getStress,
there is no need to get I->geom to compute stress. I->phys is enough as
long as we don't deal with reference configuration.
Therefore this virtual giveLength() should only be used for the special
case of lagrangian stress (how do you call it?) which uses refLength. I
don't know what means refLength in ScGeom to be honnest, but we will
find out. ;)
By the way, it seems to me that refLength, if used, is combined with
current normal. Wouldn't it be more more consistent to use refNormal? If
so, reference positions could be used, hence nothing would depend on
interaction geometry.

Forget it, it was my naive idea.. I was thinking about possibility of expressing stress tensor in deformed and refference configration, but it can be done from deformed configuration and knowledge of the deformation :-)


I was also thinking about computation of (secant) stiffness matrix of
periodic cell, the formulas for estimation (even though pretty good
according to my recent tests) are very similar as for stress
computation. The only problem is that current normal and shear stiffness of the interaction is needed (and in general it can differ from IPhys.kn
or IPhys.ks as each material model treat them in different way). The
solution would be very similar to the stress one, i.e. each IPhys class
would have giveCurrentKn() and giveCurrentKs() methods (which would
return kn and ks by default). Again, would you agree with such
implementation?
Ok.
Do you really mean "secant" (F/U), not "tangent" (dF/dU)? If it was
tangent, it could also serve for applying globalStiffnessTimeStepper to
arbitrary laws.

It would be dF/du, so tangent stiffness (for the case of unloading). It would be only estimation and I don't know how it will behave in the case of very low/none stiffness in tension (like granular assembly in tension..)

Concerning stress (and other functions) of periodic cell, I would place them directly to the Cell class, would it be ok?

Thanks for comments

Jan

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

--
Chiara Modenese BSc MSc(Eng)
DPhil(PhD) Candidate in Engineering Science
Department of Engineering Science
University of Oxford
Parks Road, Oxford, OX1 3PJ, UK



Follow ups

References