wecopttool.pto.PTO
- class PTO[source]
A power take-off (PTO) object to be used in conjunction with a
wecopttool.WEC
object.- __init__(ndof, kinematics, controller=None, impedance=None, loss=None, names=None)[source]
Create a PTO object.
The
wecopttool.pto.PTO
class describes the kinematics, control logic, impedance and/or non-linear power loss of a power take-off system. The forces/moments applied by awecopttool.pto.PTO
object can be applied to awecopttool.WEC
object through thewecopttool.WEC.f_add
property. The power produced by awecopttool.pto.PTO
object can be used for theobj_fun
of pseudo-spectral optimization problem when callingwecopttool.WEC.solve()
.- Parameters:
ndof (int) – Number of degrees of freedom.
kinematics (StateFunction | ndarray) – Transforms state from WEC to PTO frame. May be a matrix (for linear kinematics) or function (for nonlinear kinematics).
controller (StateFunction | None) – Function with signature
def fun(pto, wec, x_wec, x_opt, waves, nsubsteps):
or matrix with shape (PTO DOFs, WEC DOFs) that converts from the WEC DOFs to the PTO DOFs.impedance (ndarray | None) – Matrix representing the PTO impedance.
loss (Callable[[float | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes], float | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]], float | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]] | None) – Function that maps flow and effort variables to a non-linear power loss. The output is the dissipated power (loss) in Watts. This should be a positive value.
names (list[str] | None) – PTO names.
- Return type:
None
Attributes
PTO force in PTO coordinates. |
|
Impedance matrix. |
|
Kinematics function. |
|
Nonlinear power loss function with outputs in Watts. |
|
DOF Names. |
|
Number of degrees of freedom. |
|
Transfer matrix. |
Methods
Calculate the PTO acceleration time-series. |
|
Calculate the average power in each PTO DOF for a given system state. |
|
Calculate the energy in each PTO DOF for a given system state. |
|
Calculate the PTO force on WEC. |
|
Calculate average mechanical power in each PTO DOF for a given system state. |
|
Calculate the mechanical energy in each PTO DOF for a given system state. |
|
Calculate the mechanical power time-series in each PTO DOF for a given system state. |
|
Calculate the PTO position time-series. |
|
Transform the results from optimization solution to a form that the user can work with directly. |
|
Calculate the power time-series in each PTO DOF for a given system state. |
|
Calculate the power variables (flow q and effort e) time-series in each PTO DOF for a given system state. |
|
Calculate the transduced flow variable time-series in each PTO DOF for a given system state. |
|
Calculate the transduced flow variable time-series in each PTO DOF for a given system state. |
|
Calculate the PTO velocity time-series. |