Class: wsim.hydroSystem
=======================
.. code-block:: none
wsim.hydroSystem is a class used to simulate a one or more bodies
interaction with fluid waves and also, optionally, body-to-body
interaction.
Methods:
hydroSystem - wsim.hydroSystem constructor
addHydroBodies - add hydroBodies to the system
initialiseHydrobodies -
Inheiritance Graph
--------------------------------------------------
.. raw:: html
.. graphviz::
digraph graph_for_hydroSystem {
"handle" -> "wsim.hydroSystem";
}
Parent Class Properties and Methods
--------------------------------------------------
.. raw:: html
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.*
Properties
----------
.. raw:: html
* bodyMBDynNodes
* caseDirectory
* hydroBodiesInitialised
* nHydroBodies
* odeSimInitialised
* simu
* waves
bodyMBDynNodes
^^^^^^^^^^^^^^
caseDirectory
^^^^^^^^^^^^^
hydroBodiesInitialised
^^^^^^^^^^^^^^^^^^^^^^
nHydroBodies
^^^^^^^^^^^^
odeSimInitialised
^^^^^^^^^^^^^^^^^
simu
^^^^
simulation setings (wsim.simSettings object)
waves
^^^^^
wave settings (wsim.waveSettings object)
Methods
-------
.. raw:: html
* hydroSystem
* addHydroBodies
* advanceStep
* correctAddedMassForce
* dynamicRealAddedMassForce
* getBodyMass
* getBodyProperty
* hydroForces
* initialiseHydrobodies
* makeMBDynComponents
* timeDomainSimReset
* timeDomainSimSetup
hydroSystem
^^^^^^^^^^^
.. raw:: html
Summary
""""""""""""""""""""
wsim.hydroSystem class constructor
Syntax
""""""""""""""""""""
.. code-block:: none
hsys = hydroSystem (waves, simu)
hsys = hydroSystem (..., hydrobodyfiles)
Description
""""""""""""""""""""
.. code-block:: none
wsim.hydroSystem is a class used to simulate a one or more
bodies interaction with fluid waves and also, optionally,
body-to-body interaction.
Inputs
""""""""""""""""""""
waves
"""""
.. code-block:: none
WEC-Sim waves class
simu
""""
.. code-block:: none
WEC-Sim simu class
hydrobodies
"""""""""""
.. code-block:: none
optional array of hydrobody objects.
Additional bodies can be added later with the
'addHydroBodies' method.
Outputs
""""""""""""""""""""
hsys
""""
.. code-block:: none
hydroSystem object
addHydroBodies
^^^^^^^^^^^^^^
.. raw:: html
Summary
""""""""""""""""""""
add one or more hydrodynamic bodies to the system
Syntax
""""""""""""""""""""
.. code-block:: none
addHydroBodies (hsys, hydrobodyfiles)
Inputs
""""""""""""""""""""
hsys
""""
.. code-block:: none
wsim.hydroSystem object
hydrobodies
"""""""""""
.. code-block:: none
array of one or more hydrobody objects to be
added to the system
advanceStep
^^^^^^^^^^^
.. raw:: html
Summary
""""""""""""""""""""
advance to the next time step, store data as required
Syntax
""""""""""""""""""""
.. code-block:: none
advanceStep (hsys, t, vel, accel)
Description
""""""""""""""""""""
.. code-block:: none
advanceStep advances the solution to the next time step,
accepting the current time step solution and data into stored
solution histories.
Inputs
""""""""""""""""""""
hsys
""""
.. code-block:: none
wsim.hydroSystem object
vel
"""
.. code-block:: none
(6 x nbodies) matrix of body velocities and angular
velocities at time t.
accel
"""""
.. code-block:: none
(6 x nbodies) matrix of body accelerations and
angular accelerations at time t.
Outputs
""""""""""""""""""""
correctAddedMassForce
^^^^^^^^^^^^^^^^^^^^^
.. raw:: html
Summary
""""""""""""""""""""
recalculate the added mass and total forces on bodies
Syntax
""""""""""""""""""""
.. code-block:: none
[F_Total, F_AddedMass] = correctAddedMassForce (hsys, forceTotal, forceAddedMass, accel)
Description
""""""""""""""""""""
.. code-block:: none
Inputs
""""""""""""""""""""
hsys
""""
.. code-block:: none
hydroSystem object
forceTotal
""""""""""
.. code-block:: none
the total force calculated in a transient
simulation before added mass force correction (as output
by hydroSystem.hydroForces)
forceAddedMass
""""""""""""""
.. code-block:: none
the added mass force calculated in a
transient simulation before added mass force correction
(as output by hydroSystem.hydroForces)
accel
"""""
.. code-block:: none
(6 x n x nBodies) matrix of accelerations calculated
during a transient simulation
Outputs
""""""""""""""""""""
F_Total
"""""""
.. code-block:: none
the corrected total forces for each node (taking
account the corected
F_AddedMass
"""""""""""
.. code-block:: none
the corected added mass forces
dynamicRealAddedMassForce
^^^^^^^^^^^^^^^^^^^^^^^^^
.. raw:: html
Summary
""""""""""""""""""""
calculates the real added mass force for all bodies
Syntax
""""""""""""""""""""
.. code-block:: none
dynamicRealAddedMassForce (hsys, accels)
Inputs
""""""""""""""""""""
hsys
""""
.. code-block:: none
hydroSystem object
getBodyMass
^^^^^^^^^^^
.. raw:: html
Summary
""""""""""""""""""""
wsim.hydroSystem/getBodyMass is a function.
propval = getBodyMass(self, bodyind)
getBodyProperty
^^^^^^^^^^^^^^^
.. raw:: html
Summary
""""""""""""""""""""
wsim.hydroSystem/getBodyProperty is a function.
propval = getBodyProperty(self, bodyind, property_name)
hydroForces
^^^^^^^^^^^
.. raw:: html
Summary
""""""""""""""""""""
calculates forces acting on all bodies in a hydrodynamic system
[forces, breakdown] = hydroForces (hsys, t, x, vel, accel)
Description
""""""""""""""""""""
.. code-block:: none
hydroForces calculates the hydrodynamic forces acting on all
bodies in a hydrodynamic system.
Inputs
""""""""""""""""""""
hsys
""""
.. code-block:: none
hydroSystem object
pos
"""
.. code-block:: none
(6 x nBodies) cartesian and angular positions of the
bodies in the system. Each column of pos is the positions
of one body, with the first three elements being the x, y,
and z positions and the second the three the angular
orientations in radians using the extrinsic Euler 123
(xyz) convention.
vel
"""
.. code-block:: none
(6 x nBodies) cartesian and angular velocities of the
bodies in the system. The velocites correspond to the
equvalent values in 'pos'.
accel
"""""
.. code-block:: none
(6 x nBodies) cartesian and angular accelerations of
the bodies in the system. The accelerations correspond to
the equvalent values in 'pos'.
Outputs
""""""""""""""""""""
forces
""""""
.. code-block:: none
(6 x nBodies) matrix of translational and angular
forces acting on the body.
breakdown
"""""""""
.. code-block:: none
structure containing a more detailed breakdown
of the forces and additional information. The fields which
will be present depend on the details of the simulation
chosen, but can include the following:
F_ExcitLin : (6 x nBodies) matrix of linear wave
excitation forces. See also F_Excit and F_ExcitRamp
below.
F_ExcitNonLin : (6 x nBodies) matrix of non-linear wave
excitation forces (if calculated). Will be all zeros if
non-linear excitation forces have not been activated for
the simulation. See also F_Excit and F_ExcitRamp below.
F_Excit : (6 x nBodies) matrix of total wave
excitation forces. This is the sum of F_ExcitLin and
F_ExcitNonLin. If a ramp function is applied, the actual
forces applied to the bodies are in F_ExcitRamp
F_ExcitRamp : (6 x nBodies) matrix of wave excitation
forces (i.e. as in F_Excit), but with a ramp function
applied. These are the actual excitation forces applied
to the bodies during the simulation.
F_ViscousDamping : (6 x nBodies) matrix of viscous damping
forces.
F_AddedMass : (6 x nBodies) matrix of added mass forces.
Note that after simulation these should be modified
using the correctAddedMassForce method, to get the
'real' added mass forces.
F_RadiationDamping : (6 x nBodies) matrix of wave
radiation damping forces.
F_Restoring : (6 x nBodies) matrix of restoring (buoyancy)
forces.
F_MorrisonElement : (6 x nBodies) matrix of morrison
element forces.
BodyHSPressure :
WaveNonLinearPressure : The Froude–Krylov pressure
WaveLinearPressure :
initialiseHydrobodies
^^^^^^^^^^^^^^^^^^^^^
.. raw:: html
Summary
""""""""""""""""""""
performs some organisation tasks for the system
Syntax
""""""""""""""""""""
.. code-block:: none
initialiseHydrobodies (hsys)
initialiseHydrobodies (..., 'Parameter', Value)
Description
""""""""""""""""""""
.. code-block:: none
initialiseHydrobodies performs some preprocessing task to
organise the system which are necessary before proceeding to
set up a tme domain system. It should be called before
calling the timeDomainSimSetup method.
Inputs
""""""""""""""""""""
hsys
""""
.. code-block:: none
wsim.hydroSystem object
Additional arguments may be supplied as parameter-value pairs:
MultiConditionRun
"""""""""""""""""
.. code-block:: none
MultiConditionRunIndex
""""""""""""""""""""""
.. code-block:: none
Outputs
""""""""""""""""""""
See Also
""""""""""""""""""""
.. code-block:: none
makeMBDynComponents
^^^^^^^^^^^^^^^^^^^
.. raw:: html
Summary
""""""""""""""""""""
generates mbdyn preprocessor objects for the system
Syntax
""""""""""""""""""""
.. code-block:: none
[mbnodes, mbbodies, mbelements] = makeMBDynComponents (hsys)
Description
""""""""""""""""""""
.. code-block:: none
Generates mbdyn preprocessor objects for the system
Inputs
""""""""""""""""""""
hsys
""""
.. code-block:: none
wsim.hydroSystem object
Outputs
""""""""""""""""""""
mbnodes
"""""""
.. code-block:: none
cell array of mbdyn.pre.structuralNode6dof
objects, one for each body in the system
mbbodies
""""""""
.. code-block:: none
cell array of mbdyn.pre.body objects, one for
each body in the system
mbelements
""""""""""
.. code-block:: none
cell array of other mbdyn preprocessor objects
required for the system. The exact contents of this depends
on the simulation settings
timeDomainSimReset
^^^^^^^^^^^^^^^^^^
.. raw:: html
Summary
""""""""""""""""""""
reset the hydrodynamic system for transient simulation
Syntax
""""""""""""""""""""
.. code-block:: none
timeDomainSimReset (hsys)
Inputs
""""""""""""""""""""
hsys
""""
.. code-block:: none
hydroSystem object
timeDomainSimSetup
^^^^^^^^^^^^^^^^^^
.. raw:: html
Summary
""""""""""""""""""""
prepare wsim.hydroSystem for a time domain simulation
Syntax
""""""""""""""""""""
.. code-block:: none
timeDomainSimSetup (hsys)
Description
""""""""""""""""""""
.. code-block:: none
timeDomainSimSetup prepares the hydrodynamic system to
perform a time domain simulation of the system.
Inputs
""""""""""""""""""""
hsys
""""
.. code-block:: none
wsim.hydroSystem object