New question #685643 on Yade:
https://answers.launchpad.net/yade/+question/685643

Hi all,

I would like to obtain the incremental shear displacement magnitude with its 
sign in YADE.

For an example ; 
normal displacement case, we have penetration depth, when penetration depth is 
positive we consider two particles are in compression and if it has negative 
penetration depth we consider it as in tension.(According to 
ElasticContactLaw.hpp and cpp)

If I want to get the incremental normal displacement because of this positive 
and negative penetration depth, sign convention for this already embeded . (see 
below code in c++)
-------------------------------------

initially we will assign value zero for History_un
//shorthands
Real& History_un(phys->History_un);
----------------------------------------------------------

Real previous_un=History_un; //Assign previous step normal displacement to new 
variable

Real un=    geom->penetrationDepth; //  displacement at current step

History_un=un; // update the history varible to current displacement

Real delta_un= un-previous_un; // incremental normal displacement for previous 
to current step
----------------------------------------------------

when  two particles are in compression delta_un is positive  and if they are in 
tension, delta_un is negative. 

I want to get the similar thing for shear as well.

For shear in yade its a incremental form and its a vector. but I would like to 
get the magitude of the shear displacment with its sign. for example, in 2D 
case.:when two particles rotates clockwise consider the sign as postive and if 
it rotates counterclockwise consider sign as negative.

 Now problem is 3D. what should I do for 3d case?

what I did up to now was as follows in .cpp,

initially we will assign value zero for History_us and shear displacement 
vector to zero vector.(Us=Vector3r::zero())


//shorthands
Real& History_us(phys->History_us);
Vector3r& Us(phys->Us);
--------------------------------------
Real previous_us=History_us; // Assign previous step normal displacement to new 
variable

geom->rotate( Us);
Us += geom->shearIncrement();// current shear displacement vector

Real Current_Us=Us.norm(); // obtain the magnitude of current shear displacement

History_us= Us.norm(); // update history shear displacement value to current 
value

Real delta_us=Current_Us- previous_us;// incremental shear displacement for 
previous to current step(scalar )

--------------------------------------------------------

The problem is if I consider the incremental shear displacement in this way, it 
cannot address the loading unloading behaviour in shear. because delta_us is 
always positive when two particles are in loading or unloading in shear due to 
norm of any vector is positive.

Therefore, I would like to get the sign (positive or negative) for shear as 
well with the magnitude of shear incremental displacement like I did in normal 
displacement.

Could any one suggest a method to address this issue?

Your help is highly appreciated.

Thanks
Chanaka




















-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

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

Reply via email to