← Back to team overview

yade-users team mailing list archive

Re: [Question #699937]: Change 3D inertia to 2D/1D inertia

 

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

Description changed to:
Hi,

I am working simulating the radius increase of particles over time, I
want to change inertia from 3D to 1D. So the particle only moves in
z-direction. The reason is to increase the timestep, currently the time
step is 2e-8. The particle size are 8e-5 m.

I came across this example from Yade tutorials (buoyancy.py) for LBM. In
this example they change 3D inertia to 2D inertia by using following
code:

for s in O.bodies:
	if isinstance(s.shape,Box): continue	

	r=s.shape.radius
	oldm=s.state.mass
	oldI=s.state.inertia

	m=oldm*3./4./r
	s.state.mass=m

	s.state.inertia[0] = 15./16./r*oldI[0]	#inertia with respect to x and y axes are not used and the computation here is wrong
	s.state.inertia[1] = 15./16./r*oldI[1]  #inertia with respect to x and y axes are not used and the computation here is wrong
	s.state.inertia[2] = 15./16./r*oldI[2]  #only inertia with respect to z axis is usefull

I thought of maybe using this code to change 3D inertia to 1D inertia. I was wondering what are principal behind the change and which equation was used in the example?
Is there a better way to change 3D inertia and 1D inertia?

Best regards,
Mithushan

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