simulation.modules.dynamics

simulation.modules.dynamics.spar_dynamics(Ds_over_Dd, D_d, T_s, spar_coeffs, k, mult)

Function spar_dynamics()

Parameters:
  • Ds_over_Dd – Ds / Dd

  • D_d – Diameter of damping plate (m)

  • T_s – Draft of spar (m)

  • spar_coeffs – spar_coeffs

  • k – Wavenumber (1/m)

  • mult – mult

Returns:

A s / $\rho$

Returns:

$\gamma$ s / $\rho$ g

Returns:

B s / $\rho$ w

Returns:

$\gamma$ s phase

Returns:

A c / $\rho$

Returns:

B c / $\rho$ w

simulation.modules.dynamics.multibody_impedance(B_c, B_f, B_s, K_f, K_s, m_c, m_f, m_s, w)

Function multibody_impedance()

param B_c:

B_c

param B_f:

B_f

param B_s:

B_s

param K_f:

K_f

param K_s:

K_s

param m_c:

m_c

param m_f:

m_f

param m_s:

m_s

param w:

Angular wave frequency (rad/s)

returns:

real_G_u

returns:

imag_G_u

MULTIBODY_IMPEDANCE

[real_G_u,imag_G_u] = MULTIBODY_IMPEDANCE(B_c,B_f,B_s,K_f,K_s,M_C,M_F,M_S,W)

simulation.modules.dynamics.get_response_drag(H, w, k_wvn, m_f, m_s, m_c, B_h_f, B_h_s, B_c, K_h_f, K_h_s, gamma_f_mag, gamma_f_phase, gamma_s_mag, gamma_s_phase, F_max, drag_const_f, drag_const_s, mag_v0_f, mag_v0_s, X_max, control_type, multibody, merge_bodies, X_tol, phase_X_tol, F_lim_tol, X_lim_tol, max_drag_iters_fixed_point, max_drag_iters_solver, drag_convergence_plot_on, drag_fcn, D_f, D_f_in, D_d)

initial guess: 2m float amplitude, 0.5m spar amplitude, unsaturated

simulation.modules.dynamics.make_drag_integral_LUT(rp_min, rp_step, rp_max, theta_step, kappa_step, kappa_max)

r_prime: magnitude of wec velocity over magnitude of wave velocity (1/r in paper), used for polar plot radius

simulation.modules.dynamics.pick_which_root(roots, idx_no_sat, idx_zero, a_quad, b_quad, c_quad)

Function pick_which_root()

Parameters:
  • roots – roots

  • idx_no_sat – idx_no_sat

  • idx_zero – idx_zero

  • a_quad – a_quad

  • b_quad – b_quad

  • c_quad – c_quad

Returns:

mult

simulation.modules.dynamics.get_abc_symbolic(force, mass, damping, stiffness, w, r_b, r_k)

Function get_abc_symbolic()

param force:

force

param mass:

mass

param damping:

damping

param stiffness:

stiffness

param w:

Angular wave frequency (rad/s)

param r_b:

r_b

param r_k:

r_k

returns:

a_q

returns:

b_q

returns:

c_q

GET_ABC_SYMBOLIC

[A_Q,B_Q,C_Q] = GET_ABC_SYMBOLIC(FORCE,MASS,DAMPING,STIFFNESS,W,R_B,R_K)

simulation.modules.dynamics.multibody_response(B_c, B_f, B_s, K_f, K_s, m_c, m_f, m_s, w, K_p, B_p, F_f_mag, F_f_phase, F_s_mag, F_s_phase)

Function multibody_response()

param B_c:

B_c

param B_f:

B_f

param B_s:

B_s

param K_f:

K_f

param K_s:

K_s

param m_c:

m_c

param m_f:

m_f

param m_s:

m_s

param w:

Angular wave frequency (rad/s)

param K_p:

K_p

param B_p:

B_p

param F_f_mag:

F_f_mag

param F_f_phase:

F_f_phase

param F_s_mag:

F_s_mag

param F_s_phase:

F_s_phase

returns:

mag_U

returns:

phase_U

returns:

real_P

returns:

imag_P

returns:

mag_X_u

returns:

phase_X_u

returns:

mag_X_f

returns:

phase_X_f

returns:

mag_X_s

returns:

phase_X_s

MULTIBODY_RESPONSE

[mag_U,phase_U,real_P,imag_P,mag_X_u,phase_X_u,mag_X_f,phase_X_f,mag_X_s,phase_X_s] = MULTIBODY_RESPONSE(B_c,B_f,B_s,K_f,K_s,M_C,M_F,M_S,W,K_p,B_p,F_f_mag,F_f_phase,F_s_mag,F_s_phase)

simulation.modules.dynamics.compute_drag_integral(R, TH, K)
simulation.modules.dynamics.dynamics(in, m_float, m_spar)

Function dynamics()

Parameters:
  • in – in

  • m_float – m_float

  • m_spar – m_spar

Returns:

F_heave_storm

Returns:

F_surge_storm

Returns:

F_heave_op

Returns:

F_surge_op

Returns:

F_ptrain_max

Returns:

P_var

Returns:

P_avg_elec

Returns:

Electrical power matrix

Returns:

X_constraints

Returns:

B_p

Returns:

K_p

Returns:

mag_U

Returns:

X_u

Returns:

X_f

Returns:

X_s

Returns:

P_matrix_mech

Returns:

P_sat_ratio

Returns:

A f / $\rho$

Returns:

A s / $\rho$

Returns:

A c / $\rho$

Returns:

B f / $\rho$ w

Returns:

B s / $\rho$ w

Returns:

B c / $\rho$ w

Returns:

$\gamma$ f / $\rho$ g

Returns:

$\gamma$ s / $\rho$ g

Returns:

$\gamma$ phase f

Returns:

$\gamma$ phase s

Returns:

Angular wave frequency (rad/s)

Returns:

phase_X_f

Returns:

phase_X_s

Returns:

phase_X_u