← 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: Answered => Open

Ruidong LI is still having a problem:
Hi! Jan,

Thanks for your reply. It is really helpful. But I still have two
questions about this function:

1)  return ServoPIDController(ids=[node.id],axis=axis,iterPeriod=...,target=f,...)
for the 'axis' mentioned in PIDController, should it be defined individually for each node like this?

confiningStress=5e4
cen_x = x_cyl # x coordinate of the centre of the crosssection
cen_y = y_cyl # y coordinate of the centre of the crosssection
def node2servo(node):
    x,y,z = node.state.pos
    area = 2* pi*r_cyl*h_cyl/len(nodes) # cylinder surface / number of nodes ?
    f = confiningStress * area
    axis = vector(x-cen_x, y-cen_y, z)
    return ServoPIDController(ids=[node.id],axis=axis,iterPeriod=100,target=f)

2) If I want to monitor the average stress on the flexible membrane,
what should I do? My idea is that iterate all nodes and sum up the force
in the direction of the connection line between the centre of the
crosssection and the node, and then divide it by the area of the
flexible membrane. If so, how to get the force in the direction of the
connection line between the centre of the crosssection and the node for
an individual node?

Cheer,
Kyle

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