← Back to team overview

yade-users team mailing list archive

Re: [Question #707278]: Servo control of flexible membrane using ServoPIDController

 

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

    Status: Open => Answered

Jan Stránský proposed the following answer:
> for the 'axis' mentioned in PIDController, should it be defined
individually for each node

yes

> like this?

in general yes, with a few problems:

> axis = vector(x-cen_x, y-cen_y, z)

z should be 0

> area = 2* pi*r_cyl*h_cyl/len(nodes) # cylinder surface / number of
nodes ?

The question mark in my comment is meant seriously.
For regular grid it is probably OK.
Also consider that the "boundary" nodes (bottom and top) maybe should have half force then "inner" nodes? 

2) ...

the main idea sounds OK.

stress is backward what is used
stress = forceMagnitude / area

forceMagnitude = forceVector.dot(directionUnitVector)
forceVector = O.forces.f(body.id)

the direction vector may be as first iteration equal to axis from servo controller
x,y,z = node.state.pos
directionUnitVector = Vector3(x,y,0).normalized()

Cheers
Jan

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