Calculates the prismatic coefficient (Cp) (dimensionless).

calcCp(
  Cm,
  Cbw,
  shipType,
  bounds = "none",
  roroPaxContainerShipTypes = c("ro.ro", "passenger", "ferry.pax", "ferry.ro.pax",
    "cruise", "cruise.ed", "yacht", "container.ship"),
  gCargoShipTypes = c("general.cargo"),
  tankerBulkCarrierShipTypes = c("tanker", "chemical.tanker", "liquified.gas.tanker",
    "oil.tanker", "other.tanker", "bulk.carrier")
)

Arguments

Cm

Midship section coefficient (vector of numericals, dimensionless) (see calcCm)

Cbw

Waterline block coefficient (vector of numericals, dimensionless) (see calcCbw)

shipType

Ship type (vector of strings, see calcShipType). Must align with roroPaxContainerShipTypes, gCargoShipTypes, and tankerBulkCarrierShipTypes groupings

bounds

Indicates which upper and lower bounds on Cp should be applied:

  • Pass "holtrop mennen" to use the bounds specified by Holtrop & Mennen

  • Pass "none" (default) to calculate Cp without upper or lower bounds

This argument is not vectorized. Either supply a single string or rely on the default

roroPaxContainerShipTypes

Ship types specified in input shipTypes to be modeled as RORO, passenger and container ships (vector of strings)

gCargoShipTypes

Ship types specified in input shipTypes to be modeled as general cargo (vector of strings)

tankerBulkCarrierShipTypes

Ship types specified in input shipTypes to be modeled as tankers and bulk carriers (vector of strings)

Value

Cp (vector of numericals, dimensionless)

Details

$$Cp = \frac{Cbw}{Cm}$$

This function can calculate Cp with or without upper and lower bounds. If the Holtrop & Mennen bounds are applied, this requires ship types to be grouped. Use the roroPaxContainerShipTypes, gCargoShipTypes, and tankerBulkCarrierShipTypes parameters to provide these ship type groupings. Any ship types not included in these groupings will be considered as miscellaneous vessels.

References

MAN Energy Solutions. 2011. "Basic Principles of Propulsion."

See also

Examples

calcCp(c(0.99,0.98), c(.8,.75),c("bulk.carrier","container.ship"),"none")
#> [1] 0.8080808 0.7653061