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


digraph graph_for_linearPowerTakeOff {
   "handle" -> "wsim.powerTakeOff" -> "wsim.linearPowerTakeOff";
}

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

Properties


No public properties

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