yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #29854
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:
Hello,
> don't know how to use the ServoPIDController to achieve servo control
of the flexible membrane with confining pressure.
To achieve confining pressure, probably the easiest approach is to
assign corresponding center-oriented forces to the grid nodes.
For the start, I **personally** would not use servo control, I
**personally** would start with a simpler approach - prescribe force to
the nodes directly using O.forces.setPermF.
If you insist on servo control, just use ServoPIDController for each grid node.
Something like (not tested):
###
confiningStress = ... # N/m2
def node2servo(node):
x,y,z = node.state.pos
area = ... # cylinder surface / number of nodes ?
f = confiningStress * area
return ServoPIDController(ids=[node.id],axis=axis,iterPeriod=...,target=f,...)
nodes = [b for b in O.bodies if isinstance(b.shape,GridNode)]
servos = [node2servo(node) for node in nodes]
O.engines = O.engines + servos
###
Cheers
Jan
--
You received this question notification because your team yade-users is
an answer contact for Yade.