FEDEM Solver  R8.0
Source code of the dynamics solver
Data Types | Modules | Functions/Subroutines | Variables
hydroDynamicsModule.f90 File Reference

Calculation of hydrodynamic element loads. More...

Data Types

interface  hydrodynamicsmodule::updateatconvergence
 Updates hydrodynamics quantities after a time step is converged. More...
 

Modules

module  hydrodynamicsmodule
 Module with subroutines for hydrodynamic load calculations.
 

Functions/Subroutines

subroutine, public hydrodynamicsmodule::initfluidmotions (time, env, triads, sups, ierr)
 Initializes the fluid particle motion cache for all triads in water. More...
 
logical function, public hydrodynamicsmodule::getcalculatedfluidmotion (triad, elev, fvel, facc)
 Returns the latest calculated fluid particle motion at a triad. More...
 
real(dp) function hydrodynamicsmodule::watersurfacenormal (normal, gravity, Tlg)
 Returns the water surface normal vector in local coordinate system. More...
 
subroutine hydrodynamicsmodule::evaluatewave (waveFunc, waveTheory, Twave, g, depth, Xg, time, scale, wave, dynp, stat)
 Evaluates the wave profile, velocity and acceleration at a point. More...
 
subroutine hydrodynamicsmodule::evaluatecurrent (currFunc, dirFunc, Tsea, Xg, time, scale, cvel, stat)
 Evaluates the sea current velocity at the given point and time. More...
 
real(dp) function, dimension(numarg) getarg (numArg)
 Returns the function arguments depending on its dimensionality. More...
 
subroutine hydrodynamicsmodule::evaluatesea (env, g, time, istep, inod, x, waterMotion, stat)
 Evaluates the sea state at the given point and time. More...
 
real(dp) function, public hydrodynamicsmodule::getwaveelevation (env, Xg, time, stat)
 Returns the wave height at the given point and time. More...
 
subroutine, public hydrodynamicsmodule::getseastate (env, time, Xg, sea, stat)
 Evaluates the sea state at the given point and time. More...
 
subroutine, public hydrodynamicsmodule::initiatehydrodynbodies (sups, elms, env, restart, ierr)
 Initiates all hydrodynamic bodies in the model. More...
 
subroutine hydrodynamicsmodule::updatehydrodynbody (hydyn, triads, supTr, sLev, gravity, g, wb, ierr)
 Updates the hydrodynamic body quantities. More...
 
subroutine hydrodynamicsmodule::getbeamlength (triad1, triad2, normal, h1, h2, Tlg, weight, Lb, C0b, iEnd)
 Computes the buoyancy length and center for a two-noded beam. More...
 
subroutine, public hydrodynamicsmodule::getmorisonforces (beamId, triads, supTr, urd, urdd, Q, eMa, eCd, hydyn, env, time, istep, iter, ierr)
 Calculates Morison force contributions for a two-noded beam element. More...
 
subroutine, public hydrodynamicsmodule::getbuoyancyforces (supId, triads, supTr, hydyn, env, g, time, iter, Q, ierr)
 Calculates buoyancy force resultant for a superelement or beam. More...
 
subroutine, public hydrodynamicsmodule::getdragforces (Fd, sup, hydyn, env, time, dt, ierr)
 Calculates drag (and slam) forces for a (partly) submerged body. More...
 
subroutine computelocaldragforce (Fdrag, dragParam, uld)
 
subroutine computecoupleddragforce (Fdrag, dragMat, uld)
 
subroutine hydrodynamicsmodule::updatehydrodynamicsatconvergence (hydyn, supTr, ierr)
 Updates the HydroDynType object after convergence has been achieved. More...
 
subroutine, public hydrodynamicsmodule::closehydrodyn (lpu)
 Closes the hydrodynamics module and report some timings. More...
 
subroutine, public hydrodynamicsmodule::diffractioncalc (env, waveFunc, ierr)
 Performs diffraction analysis using Nemoh. More...
 
subroutine, public hydrodynamicsmodule::getdiffractionforces (Q, sup, hydyn, env, time, ierr)
 Extracts the diffraction force at a given time for a superelement. More...
 

Variables

real(dp), dimension(:,:), allocatable, save hydrodynamicsmodule::watermotion
 Fluid particle motions. More...
 
integer, dimension(:), allocatable, save hydrodynamicsmodule::calcwmotion
 Have calculated motions? More...
 
real(dp), parameter hydrodynamicsmodule::eps_p = 1.0e-16_dp
 Zero tolerance. More...
 

Detailed Description

Calculation of hydrodynamic element loads.

Function/Subroutine Documentation

◆ computecoupleddragforce()

subroutine getdragforces::computecoupleddragforce ( real(dp), dimension(3), intent(out)  Fdrag,
real(dp), dimension(3,3), intent(in)  dragMat,
real(dp), dimension(3), intent(inout)  uld 
)
private

◆ computelocaldragforce()

subroutine getdragforces::computelocaldragforce ( real(dp), dimension(:), intent(out)  Fdrag,
real(dp), dimension(:,:), intent(in)  dragParam,
real(dp), dimension(:), intent(inout)  uld 
)

◆ getarg()

real(dp) function, dimension(numarg) evaluatecurrent::getarg ( integer, intent(in)  numArg)

Returns the function arguments depending on its dimensionality.