Class: wsim.linearPowerTakeOff¶
wsim.linearPowerTakeOff is a class representing a linear power-take-off
mechanism in a wave energy converter. It facilitates sending the correct
forces to an MBDyn multibody simulation. wsim.linearPowerTakeOff applies
forces between two MBDyn nodes based on their relative displacement.
Forces are applied based on the relative displacement and velocity of the
two nodes along axis 3 in the reference frame of the first node. It is
assumed that the nodes motion is constrained appropriately by other MBDyn
elements (e.g. a prismatic joint).
wsim.linearPowerTakeOff Methods:
linearPowerTakeOff - construct a wsim.linearPowerTakeOff object
forceAndMoment - returns the forces and moments applied by the PTO in 3D
Inheirited Methods
advanceStep - advance to the next simulation time step
logData - appends the internal variable data to the log
loggingSetup - sets up data logging for a wsim.linearPowerTakeOff object
Inheiritance Graph¶
Parent Class Properties and Methods¶
handle¶
Inheirited Properties¶
None
Inheirited Methods¶
- addlistener : ADDLISTENER Add listener for event.
- addlistener : ADDLISTENER Add listener for event.
- addlistener : ADDLISTENER Add listener for event.
- addlistener : ADDLISTENER Add listener for event.
- addlistener : ADDLISTENER Add listener for event.
- delete : DELETE Delete a handle object.
- eq : == (EQ) Test handle equality.
- findobj : FINDOBJ Find objects matching specified conditions.
- findprop : FINDPROP Find property of MATLAB handle object.
- ge : >= (GE) Greater than or equal relation for handles.
- gt : > (GT) Greater than relation for handles.
- isvalid : ISVALID Test handle validity.
- le : <= (LE) Less than or equal relation for handles.
- listener : LISTENER Add listener for event without binding the listener to the source object.
- listener : LISTENER Add listener for event without binding the listener to the source object.
- listener : LISTENER Add listener for event without binding the listener to the source object.
- listener : LISTENER Add listener for event without binding the listener to the source object.
- listener : LISTENER Add listener for event without binding the listener to the source object.
- lt : < (LT) Less than relation for handles.
- ne : ~= (NE) Not equal relation for handles.
- notify : NOTIFY Notify listeners of event.
- notify : NOTIFY Notify listeners of event.
wsim.powerTakeOff¶
Inheirited Properties¶
- id
- loggingInfo
- loggingOn
- otherNode
- referenceNode
- uniqueLoggingNames
Inheirited Methods¶
- powerTakeOff : wsim.powerTakeOff constructor
- advanceStep : advance to the next simulation time step
- finish : method called at end of wecSim simulation
- forceAndMoment : forceAndMoment should return the force and moment from a PTO
- logData : appends the internal variable data to the log
- loggingSetup : sets up data logging for a wsim.linearPowerTakeOff object
- start : initialise the pto simulation
Methods¶
- linearPowerTakeOff
- forceAndMoment
linearPowerTakeOff¶
Summary¶
construct a wsim.linearPowerTakeOff object
Syntax¶
lpto = wsim.linearPowerTakeOff (reference_node, other_node, axisNum, force_fcn)
lpto = wsim.linearPowerTakeOff (..., 'Parameter', value)
Description¶
wsim.linearPowerTakeOff is a class representing a linear
power-take-off mechanism in a wave energy converter. It
facilitates sending the correct forces to an MBDyn multibody
simulation. wsim.linearPowerTakeOff applies forces between
two MBDyn nodes based on their relative displacement. Forces
are applied based on the relative displacement and velocity
of the two nodes along axis 3 in the reference frame of the
first node. It is assumed that the nodes motion is
constrained appropriately by other MBDyn elements (e.g. a
prismatic joint).
wsim.linearPowerTakeOff Methods:
wsim.linearPowerTakeOff - constructor
forceAndMoment - returns pto forces and moments on the
attached nodes
Inputs¶
reference_node¶
mbdyn.pre.structuralNode6dof object
other_node¶
mbdyn.pre.structuralNode6dof object
axisNum¶
axis in the frame of the reference node. Forces
will be applied to the node in a direction parallel to this
axis.
force_fcn¶
function handle or string to be used to
calculate the force to be applied between the two nodes
making up the PTO. force_fcn is a function which takes two
arguments with the following signature:
force_value = myfcn (time, reldisp, relvel)
where time is the current simulation time, reldisp is the
relative displacement of the two nodes along the specified
axis in axisNum in the reference frame of the reference
node, and relvel is the relative velocity of the two nodes
in the same frame. force_value is expected to be a scalar
value, the value of the force acting on the reference node
parallel to the axis in forceAxis in the frame of the
reference node.
Additional arguments may be supplied as parameter-value pairs:
InitialDisplacementZero¶
optional true/false flag
indicating whether the intial relative displacement (along
axis 3 of the reference node) in the global frame should
be taken as the reference point for displacement during
the simulation, i.e. the PTO starts with an initial
displacement of zero for the purposes of force calulation,
and future displacement is measured relative to this
initial position. If false, the raw position is used
instead. Default is true if not supplied.
LoggedVars¶
character vector, or cell array of character
vectors indicating what internal variables are to be
logged during a simulation. If a character vector, it must
be 'none', meaning nothing will be logged. Otherwise it
must be a cell array containing any combination of the
following names:
InternalForce¶
This is the internal PTO force
calculated using the function supplied in force_fcn
RelativeDisplacement¶
The relative displacement used to
calculate the PTO force
RelativeVelocity¶
The relative velocity used to
calculate the PTO force
Outputs¶
lpto¶
a wsim.linearPowerTakeOff object
See Also¶
forceAndMoment¶
Summary¶
returns the forces and moments applied by the PTO in 3D
Syntax¶
[FM, ptotorque, reltheta, relomega] = forceAndMoment (rot)
Description¶
wsim.linearPowerTakeOff.forceAndMoment calculates the forces
and moments applied in the global frame by the PTO to the two
nodes associated with the PTO.
Inputs¶
rot¶
wsim.rotaryPowerTakeOff object
Outputs¶
FM¶
(6 x 2) vector of forces and moments in the global
frame which the PTO is applying to the two nodes. The first
column is the forces applied to the reference node, the
second column is the forces and moments applied to the
other node.
ptoforce¶
scalar force value applied to the nodes parallel
to axis three of the reference node. This is the force
which is applied to the non-reference node, the opposite
force is applied to the reference node.
reldisp¶
relative displacement of the non-reference node
relative to the reference node in a direction parallel to
axis three of the reference node
relvel¶
relative angular velocity of the non-reference node
relative to the reference node in a direction parallel to
axis three of the reference node