Calculates the midship section coefficient (Cm) (dimensionless).

calcCm(
  shipType,
  Cbw,
  maxDraft,
  actualDraft,
  CmEquationType,
  tankerBulkCarrierShipTypes = c("tanker", "chemical.tanker", "liquified.gas.tanker",
    "oil.tanker", "other.tanker", "bulk.carrier"),
  tugShipTypes = c("service.tug", "tug"),
  roroPaxShipTypes = c("ferry.pax", "ferry.ro.pax", "cruise", "cruise.ed", "yacht",
    "ro.ro", "passenger")
)

Arguments

shipType

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

Cbw

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

maxDraft

Maximum summer load line draft (vector of numericals, m)

actualDraft

Actual draft (vector of numericals, m)

CmEquationType

Equation type:

  • "kristensen"

  • "benford"

  • "schneekluth"

This argument is not vectorized, as it takes only a single string

tankerBulkCarrierShipTypes

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

tugShipTypes

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

roroPaxShipTypes

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

Value

Cm (vector of numericals, dimensionless)

Details

The midship section coefficient calculation depends on the ship type, in addition to the actual draft. Actual draft is typically obtained from sources such as AIS messages or ship records.

This function can calculate Cm using three different methods: Kristensen, Benford, and Schneekluth. The Kristensen method requires ship types to be grouped. Use the tankerBulkCarrierShipTypes, tugShipTypes, and roroPaxShipTypes parameters to provide these ship type groupings. Any ship types not included in these groupings will be considered as miscellaneous vessels.

Use the CmEquationType parameter to indicate which method to use:

  • "kristensen" (see Kristensen 2013 & 2017):

    • Bulk Carriers and Tankers: Cm = 0.995

    • Passenger Vessels: Cm = 0.95

    • Tugboats: Cm = 0.92

    • Miscellaneous Vessels: Cm = 0.98

  • "benford" (see Rakke 2016): $$Cm=0.977+0.085*(Cbw-0.6)$$

  • "schneekluth" (see Schneekluth 1998): $$Cm=1.006-0.0056*Cbw^-3.65$$

References

Kristensen, H. O. and Lutzen, M. 2013. "Prediction of Resistance and Propulsion Power of Ships."

Kristensen, H. O. "Ship-Desmo-Tool." https://gitlab.gbar.dtu.dk/oceanwave3d/Ship-Desmo

Schneekluth, H. and Bertram, V. 1998. "Ship Design for Efficiency and Economy." 2nd ed. Oxford, Boston: Butterworth-Heinemann.

See also

Examples

calcCm(c("chemical.tanker","container.ship"),c(0.8,0.75),c(13.6,15.6),c(12.5,14.1),"kristensen")
#> [1] 0.9945600 0.9778723
calcCm(c("chemical.tanker","container.ship"),c(0.8,0.75),c(13.6,15.6),c(12.5,14.1),"kristensen", tankerBulkCarrierShipTypes=c("other.tanker"))
#> [1] 0.9782400 0.9778723