← Back to team overview

yade-users team mailing list archive

Re: [Question #199704]: getStress for ScGeom

 

Question #199704 on Yade changed:
https://answers.launchpad.net/yade/+question/199704

    Status: Open => Answered

Jan Stránský proposed the following answer:
Hi Ning,

> New question #199704 on Yade:
> https://answers.launchpad.net/yade/+question/199704
>
> Hi,
>
> I heard you are unifying the stress calculation for YADE. It's really good news. I still have some concern. The getStress() function will return a Matrix3 which is asymmetric. If one want to get symmetric result, he/she can use toVoigt() which returns a Vector6. The conversion between data types is also a little bit annoying. So maybe a flag could be added to the function getStress() to indicate if one wants to symmetrize the stress tensor.

This week we had discussion with Bruno exactly about these topics. The 
conclusion is that the asymmetry of periodic cell stress tensor should 
be of low order of magnitude (can you check it?). If it is not, it 
should be caused by nonzero angular acceleration (and therefore inertial 
torques, then the formula used is not valid). Could you please check 
also this ( O.forces.t(id) )? One version of new getStress function will 
return the symmetric part :-) but if the asymmetry is too large, 
something is wrong..

>
> The function I added to stressTensorOfPeriodicCell is calculating the elastic moduli of the packing, the formula is
>
> S_ijkl = 1/V sum_contacts (L^2 (k_n n_i n_j n_k n_l + k_t n_i t_j n_k t_l))
>
> see: (Kuhl et al., 2001) Microplane modelling and particle modelling of cohesive-frictional materials.
>           (Luding, 2004) Micro–macro transition for anisotropic, frictional granular packings.
>
> Because both stress and the moduli are summed over all contacts, I combined them to one function to save calculation time.

I was thinking about function estimating overall elastic constants, but 
the result depends on constitutive constants of individual links (unlike 
in the case of stress), so there should be done some additional work to 
make it general function (like to get current elastic stiffness of a 
contact in case of nonlinearities etc.)

The time savage is always good :-)

Jan

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.