Class LNGVoyageProfile
java.lang.Object
neqsim.process.equipment.lng.LNGVoyageProfile
- All Implemented Interfaces:
Serializable
Defines the environmental and operational profile for an LNG voyage.
A voyage is divided into segments, each with its own ambient temperature, sea state, wind speed, and solar radiation. This allows the simulation to vary heat ingress and sloshing effects along the route (e.g., cold departure from Arctic terminal, warm transit through equatorial waters).
Usage example:
LNGVoyageProfile profile = new LNGVoyageProfile("Qatar to Japan");
profile.addSegment(new LNGVoyageProfile.Segment(0, 48, 308.15, 1.0, 5.0, 200.0));
profile.addSegment(new LNGVoyageProfile.Segment(48, 240, 303.15, 1.5, 8.0, 250.0));
profile.addSegment(new LNGVoyageProfile.Segment(240, 480, 288.15, 2.0, 12.0, 150.0));
- Version:
- 1.0
- Author:
- NeqSim
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classEnvironmental conditions at a specific point in the voyage.static classA single segment of the voyage with constant environmental conditions. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleDefault ambient temperature if no segments defined (K).private List<LNGVoyageProfile.Segment> List of voyage segments in chronological order.private static final longSerialization version UID.private doubleTotal voyage duration (hours).private StringVoyage description or route name. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSegment(LNGVoyageProfile.Segment segment) Add a voyage segment.static LNGVoyageProfilecreateUniform(String name, double durationHours, double ambientTemperatureK) Create a uniform voyage with constant conditions.doublegetAmbientTemperatureAt(double timeHours) Get the ambient temperature at a given time.getConditionsAt(double timeHours) Get the voyage environment conditions at a given time.doubleGet the default ambient temperature.Get all voyage segments.doubleGet total voyage duration.Get voyage name.doublegetWaveHeightAt(double timeHours) Get the significant wave height at a given time.private voidRecalculate total duration from segments.voidsetDefaultAmbientTemperature(double temperature) Set the default ambient temperature used when no segments are defined.voidsetTotalDurationHours(double totalDurationHours) Set total voyage duration manually (overrides segment-based calculation).voidsetVoyageName(String voyageName) Set voyage name.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
voyageName
Voyage description or route name. -
totalDurationHours
private double totalDurationHoursTotal voyage duration (hours). -
segments
List of voyage segments in chronological order. -
defaultAmbientTemperature
private double defaultAmbientTemperatureDefault ambient temperature if no segments defined (K).
-
-
Constructor Details
-
LNGVoyageProfile
Constructor for LNGVoyageProfile.- Parameters:
voyageName- descriptive name of the voyage route
-
-
Method Details
-
addSegment
Add a voyage segment.- Parameters:
segment- voyage segment to add
-
getConditionsAt
Get the voyage environment conditions at a given time.Linearly interpolates between segment boundaries. If time is before the first segment or after the last, the nearest segment's conditions are used.
- Parameters:
timeHours- elapsed time since voyage start (hours)- Returns:
- environment conditions at the given time
-
getAmbientTemperatureAt
public double getAmbientTemperatureAt(double timeHours) Get the ambient temperature at a given time.- Parameters:
timeHours- elapsed time (hours)- Returns:
- ambient temperature (K)
-
getWaveHeightAt
public double getWaveHeightAt(double timeHours) Get the significant wave height at a given time.- Parameters:
timeHours- elapsed time (hours)- Returns:
- significant wave height (m)
-
getVoyageName
-
setVoyageName
-
getTotalDurationHours
public double getTotalDurationHours()Get total voyage duration.- Returns:
- total duration (hours)
-
setTotalDurationHours
public void setTotalDurationHours(double totalDurationHours) Set total voyage duration manually (overrides segment-based calculation).- Parameters:
totalDurationHours- total duration (hours)
-
getSegments
Get all voyage segments.- Returns:
- unmodifiable list of segments
-
getDefaultAmbientTemperature
public double getDefaultAmbientTemperature()Get the default ambient temperature.- Returns:
- default ambient temperature (K)
-
setDefaultAmbientTemperature
public void setDefaultAmbientTemperature(double temperature) Set the default ambient temperature used when no segments are defined.- Parameters:
temperature- default ambient temperature (K)
-
createUniform
public static LNGVoyageProfile createUniform(String name, double durationHours, double ambientTemperatureK) Create a uniform voyage with constant conditions.- Parameters:
name- voyage namedurationHours- total voyage duration (hours)ambientTemperatureK- constant ambient temperature (K)- Returns:
- configured voyage profile
-
recalculateTotalDuration
private void recalculateTotalDuration()Recalculate total duration from segments.
-