← Back to team overview

yade-users team mailing list archive

[Question #690366]: branch vector & contact normal

 

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

Hi all,

I want to get the macroscale stress for a local region.  I use the equation in Catherine O’Sullivan's book (page 325, equation 9.38). this book is here:
https://www.dropbox.com/sh/1u8rg4updoqlk9b/AAB9VATX_QTs5-zrszLCZxBva?dl=0
In this equation, we need the branch vector, it said that the brach vector for contact c directed from particle a to particle b. we can get the branch vector in[1]. 
for branch vector: we can use p2-p1, we can also use p1-p2 (here p means the position vector of the particle), 

Do you guys have any ideas about this? (i mean which one should I choose.)

In the excel I provided the results of the branch vector and the contact normal, I use the following code to get the branch vector as well we the contact normal.
######################
			body_id1 = O.bodies[i.id1]
			body_id2 = O.bodies[i.id2]
			branch_vector_cal_1 = body_id1.state.pos[0]-body_id2.state.pos[0]
			branch_vector_cal_2 = body_id1.state.pos[1]-body_id2.state.pos[1]
			branch_vector_cal_3 = body_id1.state.pos[2]-body_id2.state.pos[2]
			branch_vector_nrom_cal = math.sqrt((branch_vector_cal_1)**2+(branch_vector_cal_2)**2+(branch_vector_cal_3)**2)
			contact_orientation_cal_1 = i.geom.normal[0] 
			contact_orientation_cal_2 = i.geom.normal[1]
			contact_orientation_cal_3 = i.geom.normal[2]
			contact_orientation_norm_cal = math.sqrt((contact_orientation_cal_1)**2+(contact_orientation_cal_2)**2+(contact_orientation_cal_3)**2)
#########################
it shows that the norm for the branch vector and the contact normal are not the same. but [2] says that the contact normal is: Unit vector oriented along the interaction, from particle #1, towards particle #2.
the results in the excel shows that the components for the branch vector and contact normal for each contact point has the same ratio,(no matter its a negative or positive value)

so, the definition of the contact normal is the contact point to the center of the particle (which particle?) or the contact normal is the vector connects the center of these two particles? if it is the vector connects two centers, why the branch vector is not the same as the contact normal?

I know it's easy to implement this equation using python(no matter using the branch vector or contact normal), I just want to know the difference of the branch vector and contact normal in YADE.

thanks
Yong 


references:
[1]https://answers.launchpad.net/yade/+question/688060
[2]https://yade-dem.org/doc/yade.wrapper.html?highlight=i%20geom%20normal#yade.wrapper.ScGeom.normal


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