Class Volume

All Implemented Interfaces:
Serializable, Cloneable, Comparable<Volume>, Relative<VolumeUnit,Volume>, Value<VolumeUnit,Volume>

@Generated(value="org.djunits.generator.GenerateDJUNIT", date="2025-09-06T15:16:28.380798Z") public class Volume extends DoubleScalarRel<VolumeUnit,Volume>
Easy access methods for the Volume DoubleScalar, which is relative by definition.

Copyright (c) 2013-2025 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See DJUNITS License.

Author:
Alexander Verbraeck, Peter Knoppers
See Also:
  • Field Details

    • ZERO

      public static final Volume ZERO
      Constant with value zero.
    • ONE

      public static final Volume ONE
      Constant with value one.
    • NaN

      public static final Volume NaN
      Constant with value NaN.
    • POSITIVE_INFINITY

      public static final Volume POSITIVE_INFINITY
      Constant with value POSITIVE_INFINITY.
    • NEGATIVE_INFINITY

      public static final Volume NEGATIVE_INFINITY
      Constant with value NEGATIVE_INFINITY.
    • POS_MAXVALUE

      public static final Volume POS_MAXVALUE
      Constant with value MAX_VALUE.
    • NEG_MAXVALUE

      public static final Volume NEG_MAXVALUE
      Constant with value -MAX_VALUE.
  • Constructor Details

    • Volume

      public Volume(double value, VolumeUnit unit)
      Construct Volume scalar with a unit.
      Parameters:
      value - the double value, expressed in the given unit
      unit - unit for the double value
    • Volume

      public Volume(Volume value)
      Construct Volume scalar.
      Parameters:
      value - Scalar from which to construct this instance
  • Method Details

    • instantiateRel

      public final Volume instantiateRel(double value, VolumeUnit unit)
      Description copied from class: DoubleScalarRel
      Construct a new Relative Immutable DoubleScalar of the right type. Each extending class must implement this method.
      Specified by:
      instantiateRel in class DoubleScalarRel<VolumeUnit,Volume>
      Parameters:
      value - the double value
      unit - the unit
      Returns:
      R a new relative instance of the DoubleScalar of the right type
    • ofSI

      public static final Volume ofSI(double value)
      Construct Volume scalar based on an SI value.
      Parameters:
      value - the double value in SI units
      Returns:
      the new scalar with the SI value
    • interpolate

      public static Volume interpolate(Volume zero, Volume one, double ratio)
      Interpolate between two values. Note that the first value does not have to be smaller than the second.
      Parameters:
      zero - the value at a ratio of zero
      one - the value at a ratio of one
      ratio - the ratio between 0 and 1, inclusive
      Returns:
      a Volume at the given ratio between 0 and 1
    • max

      public static Volume max(Volume r1, Volume r2)
      Return the maximum value of two relative scalars.
      Parameters:
      r1 - the first scalar
      r2 - the second scalar
      Returns:
      the maximum value of two relative scalars
    • max

      public static Volume max(Volume r1, Volume r2, Volume... rn)
      Return the maximum value of more than two relative scalars.
      Parameters:
      r1 - the first scalar
      r2 - the second scalar
      rn - the other scalars
      Returns:
      the maximum value of more than two relative scalars
    • min

      public static Volume min(Volume r1, Volume r2)
      Return the minimum value of two relative scalars.
      Parameters:
      r1 - the first scalar
      r2 - the second scalar
      Returns:
      the minimum value of two relative scalars
    • min

      public static Volume min(Volume r1, Volume r2, Volume... rn)
      Return the minimum value of more than two relative scalars.
      Parameters:
      r1 - the first scalar
      r2 - the second scalar
      rn - the other scalars
      Returns:
      the minimum value of more than two relative scalars
    • valueOf

      public static Volume valueOf(String text)
      Returns a Volume representation of a textual representation of a value with a unit. The String representation that can be parsed is the double value in the unit, followed by a localized or English abbreviation of the unit. Spaces are allowed, but not required, between the value and the unit.
      Parameters:
      text - the textual representation to parse into a Volume
      Returns:
      the Scalar representation of the value in its unit
      Throws:
      IllegalArgumentException - when the text cannot be parsed
      NullPointerException - when the text argument is null
    • of

      public static Volume of(double value, String unitString)
      Returns a Volume based on a value and the textual representation of the unit, which can be localized.
      Parameters:
      value - the value to use
      unitString - the textual representation of the unit
      Returns:
      the Scalar representation of the value in its unit
      Throws:
      IllegalArgumentException - when the unit cannot be parsed or is incorrect
      NullPointerException - when the unitString argument is null
    • divide

      public final Dimensionless divide(Volume v)
      Calculate the division of Volume and Volume, which results in a Dimensionless scalar.
      Parameters:
      v - scalar
      Returns:
      scalar as a division of Volume and Volume
    • times

      public final Mass times(Density v)
      Calculate the multiplication of Volume and Density, which results in a Mass scalar.
      Parameters:
      v - scalar
      Returns:
      scalar as a multiplication of Volume and Density
    • times

      public final Energy times(Pressure v)
      Calculate the multiplication of Volume and Pressure, which results in a Energy scalar.
      Parameters:
      v - scalar
      Returns:
      scalar as a multiplication of Volume and Pressure
    • divide

      public final Area divide(Length v)
      Calculate the division of Volume and Length, which results in a Area scalar.
      Parameters:
      v - scalar
      Returns:
      scalar as a division of Volume and Length
    • divide

      public final Length divide(Area v)
      Calculate the division of Volume and Area, which results in a Length scalar.
      Parameters:
      v - scalar
      Returns:
      scalar as a division of Volume and Area
    • times

      public final Area times(LinearDensity v)
      Calculate the multiplication of Volume and LinearDensity, which results in a Area scalar.
      Parameters:
      v - scalar
      Returns:
      scalar as a multiplication of Volume and LinearDensity
    • divide

      public final FlowVolume divide(Duration v)
      Calculate the division of Volume and Duration, which results in a FlowVolume scalar.
      Parameters:
      v - scalar
      Returns:
      scalar as a division of Volume and Duration
    • divide

      public final Duration divide(FlowVolume v)
      Calculate the division of Volume and FlowVolume, which results in a Duration scalar.
      Parameters:
      v - scalar
      Returns:
      scalar as a division of Volume and FlowVolume
    • reciprocal

      public SIScalar reciprocal()
      Description copied from class: DoubleScalarRel
      Create the reciprocal of this scalar with the correct dimensions.
      Overrides:
      reciprocal in class DoubleScalarRel<VolumeUnit,Volume>
      Returns:
      a new scalar instance with correct SI dimensions
    • multiply

      public static Volume multiply(DoubleScalarRel<?,?> scalar1, DoubleScalarRel<?,?> scalar2)
      Multiply two scalars that result in a scalar of type Volume.
      Parameters:
      scalar1 - the first scalar
      scalar2 - the second scalar
      Returns:
      the multiplication of both scalars as an instance of Volume
    • divide

      public static Volume divide(DoubleScalarRel<?,?> scalar1, DoubleScalarRel<?,?> scalar2)
      Divide two scalars that result in a scalar of type Volume.
      Parameters:
      scalar1 - the first scalar
      scalar2 - the second scalar
      Returns:
      the division of scalar1 by scalar2 as an instance of Volume