Types to represent physical values


In FCSys, the unit attribute of each Real variable actually denotes the dimension.1 The fundamental dimensions are angle (A), length (L), mass (M), particle number (N), and time (T). These are combined according to the rules established for unit strings [Modelica2010, p. 210]. Temperature and charge are derived dimensions (see the Units package).

The quantity attribute is not used since the type is the quantity. The displayUnit attribute is only used for quantities that imply a certain display unit.

Methods for unit checking have been established [Mattsson2008, Broman2008, Aronsson2009] and can, in theory, be applied to dimension checking instead.

The Quantities package is abbreviated as Q throughout the rest of FCSys.

The quantities are generally named with adjectives following the noun so that the quantities are grouped when alphabetized. Some quantities are aliases to other quantities but with special implied display units. For example, Temperature is an alias for Potential with a default display unit of K. ootnote{Temperature is a potential in the chosen system of units; see the next section ( ef{sec:Units}).} Also, some quantities have minimum values (e.g., zero for PressureAbsolute). For more information, please see the documentation of the Units package.

1. This misnomer is necessary because Real variables do not have a dimension attribute.

Extends from Modelica.Icons.TypesPackage (Icon for packages containing type definitions).

Package Content

FCSys.Quantities.Examples Examples Examples
FCSys.Quantities.Acceleration Acceleration  
FCSys.Quantities.Amount Amount  
FCSys.Quantities.AmountReciprocal AmountReciprocal Reciprocal of amount
FCSys.Quantities.Angle Angle  
FCSys.Quantities.Angle2 Angle2 Solid angle
FCSys.Quantities.Area Area  
FCSys.Quantities.AreaSpecific AreaSpecific Specific area
FCSys.Quantities.Capacitance Capacitance  
FCSys.Quantities.Density Density  
FCSys.Quantities.DensityRate DensityRate Rate of density
FCSys.Quantities.ConductanceElectrical ConductanceElectrical Electrical conductance
FCSys.Quantities.ConductivityElectrical ConductivityElectrical Electrical conductivity
FCSys.Quantities.Continuity Continuity  
FCSys.Quantities.Current Current  
FCSys.Quantities.CurrentAreic CurrentAreic Areic current
FCSys.Quantities.CurrentAreicAbsolute CurrentAreicAbsolute Absolute areic current
FCSys.Quantities.CurrentRate CurrentRate Rate of current
FCSys.Quantities.Diffusivity Diffusivity  
FCSys.Quantities.DiffusivityMassSpecific DiffusivityMassSpecific Product of diffusivity and specific mass
FCSys.Quantities.Energy Energy  
FCSys.Quantities.Fluidity Fluidity  
FCSys.Quantities.Force Force  
FCSys.Quantities.ForceSpecific ForceSpecific Specific force
FCSys.Quantities.Frequency Frequency  
FCSys.Quantities.Inductance Inductance  
FCSys.Quantities.Length Length  
FCSys.Quantities.LengthReciprocal LengthReciprocal Reciprocal of length
FCSys.Quantities.LengthSpecific LengthSpecific Specific length
FCSys.Quantities.MagneticFlux MagneticFlux Magnetic flux
FCSys.Quantities.MagneticFluxAreic MagneticFluxAreic Areic magnetic flux
FCSys.Quantities.MagneticFluxReciprocal MagneticFluxReciprocal Reciprocal of magnetic flux
FCSys.Quantities.Mass Mass  
FCSys.Quantities.MassSpecific MassSpecific Specific mass
FCSys.Quantities.MassVolumic MassVolumic Volumic mass
FCSys.Quantities.Mobility Mobility  
FCSys.Quantities.MomentumRotational MomentumRotational Rotational momentum
FCSys.Quantities.Number Number  
FCSys.Quantities.NumberAbsolute NumberAbsolute Absolute number
FCSys.Quantities.Permeability Permeability  
FCSys.Quantities.Permittivity Permittivity  
FCSys.Quantities.PermittivityReciprocal PermittivityReciprocal Reciprocal of permittivity
FCSys.Quantities.Potential Potential  
FCSys.Quantities.PotentialAbsolute PotentialAbsolute Absolute potential
FCSys.Quantities.PotentialPerWavenumber PotentialPerWavenumber Potential per wavenumber
FCSys.Quantities.PotentialRate PotentialRate Rate of potential
FCSys.Quantities.Power Power  
FCSys.Quantities.PowerArea PowerArea Power times area
FCSys.Quantities.PowerAreic PowerAreic Areic power
FCSys.Quantities.PowerAreicPerPotential4 PowerAreicPerPotential4 Areic power per 4th power of potential
FCSys.Quantities.PowerRadiant PowerRadiant Radiant power
FCSys.Quantities.Pressure Pressure  
FCSys.Quantities.PressureAbsolute PressureAbsolute Absolute pressure
FCSys.Quantities.PressureRate PressureRate Rate of pressure
FCSys.Quantities.PressureReciprocal PressureReciprocal Reciprocal of pressure
FCSys.Quantities.ResistanceElectrical ResistanceElectrical Electrical resistance
FCSys.Quantities.ResistanceThermal ResistanceThermal Thermal resistance
FCSys.Quantities.SurfaceTension SurfaceTension Surface tension
FCSys.Quantities.Resistivity Resistivity  
FCSys.Quantities.Time Time  
FCSys.Quantities.TimeAbsolute TimeAbsolute Absolute time
FCSys.Quantities.TimeLineic TimeLineic Lineic time
FCSys.Quantities.Velocity Velocity  
FCSys.Quantities.Velocity2 Velocity2 Squared velocity
FCSys.Quantities.VelocityAmount VelocityAmount  
FCSys.Quantities.Volume Volume  
FCSys.Quantities.VolumeRate VolumeRate Rate of volume
FCSys.Quantities.VolumeSpecific VolumeSpecific Specific volume
FCSys.Quantities.VolumeSpecificAbsolute VolumeSpecificAbsolute Absolute specific volume
FCSys.Quantities.VolumeSpecificRate VolumeSpecificRate Rate of specific volume
FCSys.Quantities.Wavenumber Wavenumber  
FCSys.Quantities.CapacityThermal CapacityThermal Thermal capacity
FCSys.Quantities.CapacityThermalSpecific CapacityThermalSpecific Specific thermal capacity
FCSys.Quantities.CapacityThermalVolumic CapacityThermalVolumic Volumic thermal capacity
FCSys.Quantities.PotentialChemical PotentialChemical Chemical potential
FCSys.Quantities.Temperature Temperature  
FCSys.Quantities.TemperatureAbsolute TemperatureAbsolute Absolute temperature
FCSys.Quantities.TemperatureRate TemperatureRate Rate of temperature
FCSys.Quantities.ResistivityThermal ResistivityThermal Thermal resistivity
FCSys.Quantities.Conductance Conductance Conductance

Types and constants

type Acceleration = TypeReal (final unit="L/T2");
type Amount = TypeReal (final unit="N", min=0);
type AmountReciprocal = TypeReal (final unit="1/N", min=0) 
  "Reciprocal of amount";
type Angle = TypeReal (final unit="A");
type Angle2 = TypeReal (final unit="A2") "Solid angle";
type Area = TypeReal (final unit="L2", min=0);
type AreaSpecific = TypeReal (final unit="L2/N", min=0) "Specific area";
type Capacitance = TypeReal (final unit="N2.T2/(L2.M)", min=0);
type Density = TypeReal (final unit="N/L3", min=0);
type DensityRate = TypeReal (final unit="N/(L3.T)") "Rate of density";
type ConductanceElectrical = TypeReal (final unit="N2.T/(L2.M)", min=0) 
  "Electrical conductance";
type ConductivityElectrical = TypeReal (final unit="N2.T/(L3.M)", min=0) 
  "Electrical conductivity";
type Continuity = TypeReal (final unit="L.M/(N.T)", min=0);
type Current = TypeReal (final unit="N/T");
type CurrentAreic = TypeReal (final unit="N/(L2.T)") "Areic current";
type CurrentAreicAbsolute = TypeReal (final unit="N/(L2.T)", min=0) 
  "Absolute areic current";
type CurrentRate = TypeReal (final unit="N/T2") "Rate of current";
type Diffusivity = TypeReal (final unit="L2.M/(N.T)", min=0);
type DiffusivityMassSpecific = TypeReal (final unit="L2.M/(N.T)", min=0) 
  "Product of diffusivity and specific mass";
type Energy = TypeReal (final unit="L2.M/T2");
type Fluidity = TypeReal (final unit="L.T/M", min=0);
type Force = TypeReal (final unit="L.M/T2");
type ForceSpecific = TypeReal (final unit="L.M/(N.T2)") "Specific force";
type Frequency = TypeReal (final unit="A/T");
type Inductance = TypeReal (final unit="L2.M/N2", min=0);
type Length = TypeReal (final unit="L", min=0);
type LengthReciprocal = TypeReal (final unit="1/L", min=0) 
  "Reciprocal of length";
type LengthSpecific = TypeReal (final unit="L/N", min=0) "Specific length";
type MagneticFlux = TypeReal (final unit="L2.M/(A.N.T)") "Magnetic flux";
type MagneticFluxAreic = TypeReal (final unit="M/(A.N.T)") 
  "Areic magnetic flux";
type MagneticFluxReciprocal = TypeReal (final unit="A.N.T/(L2.M)") 
  "Reciprocal of magnetic flux";
type Mass = TypeReal (final unit="M", min=0);
type MassSpecific = TypeReal (final unit="M/N", min=0) "Specific mass";
type MassVolumic = TypeReal (final unit="M/L3", min=0) "Volumic mass";
type Mobility = TypeReal (final unit="N.T/M", min=0);
type MomentumRotational = TypeReal (final unit="L2.M/(A.T)") 
  "Rotational momentum";
type Number = TypeReal (final unit="1");
type NumberAbsolute = TypeReal (final unit="1", min=0) "Absolute number";
type Permeability = TypeReal (final unit="L.M/N2", min=0);
type Permittivity = TypeReal (final unit="N2.T2/(L3.M)", min=0);
type PermittivityReciprocal = TypeReal (final unit="L3.M/(N2.T2)", min=0) 
  "Reciprocal of permittivity";
type Potential = TypeReal (final unit="L2.M/(N.T2)");
type PotentialAbsolute = TypeReal (final unit="L2.M/(N.T2)", min=0) 
  "Absolute potential";
type PotentialPerWavenumber = TypeReal (final unit="L3.M/(A.N.T2)") 
  "Potential per wavenumber";
type PotentialRate = TypeReal (final unit="L2.M/(N.T3)") "Rate of potential";
type Power = TypeReal (final unit="L2.M/T3");
type PowerArea = TypeReal (final unit="L4.M/T3") "Power times area";
type PowerAreic = TypeReal (final unit="M/T3") "Areic power";
type PowerAreicPerPotential4 = TypeReal (final unit="M.T5/L8") 
  "Areic power per 4th power of potential";
type PowerRadiant = TypeReal (final unit="L2.M/(A2.T3)") "Radiant power";
type Pressure = TypeReal (final unit="M/(L.T2)");
type PressureAbsolute = TypeReal (final unit="M/(L.T2)", min=0) 
  "Absolute pressure";
type PressureRate = TypeReal (final unit="M/(L.T3)") "Rate of pressure";
type PressureReciprocal = TypeReal (final unit="L.T2/M", min=0) 
  "Reciprocal of pressure";
type ResistanceElectrical = TypeReal (final unit="L2.M/(N2.T)", min=0) 
  "Electrical resistance";
type ResistanceThermal = TypeReal (final unit="T/N", min=0) 
  "Thermal resistance";
type SurfaceTension = TypeReal (final unit="M/T2") "Surface tension";
type Resistivity = TypeReal (final unit="L.T/N", min=0);
type Time = TypeReal (final unit="T");
type TimeAbsolute = TypeReal (final unit="T", min=0) "Absolute time";
type TimeLineic = TypeReal (final unit="T/L") "Lineic time";
type Velocity = TypeReal (final unit="L/T");
type Velocity2 = TypeReal (final unit="L2/T2") "Squared velocity";
type VelocityAmount = TypeReal (final unit="L.N/T");
type Volume = TypeReal (final unit="L3", min=0);
type VolumeRate = TypeReal (final unit="L3/T") "Rate of volume";
type VolumeSpecific = TypeReal (final unit="L3/N") "Specific volume";
type VolumeSpecificAbsolute = TypeReal (final unit="L3/N", min=0) 
  "Absolute specific volume";
type VolumeSpecificRate = TypeReal (final unit="L3/(N.T)") 
  "Rate of specific volume";
type Wavenumber = TypeReal (final unit="A/L");
type CapacityThermal = Amount (displayUnit="J/K") "Thermal capacity";
type CapacityThermalSpecific = NumberAbsolute (displayUnit="J/(mol.K)") 
  "Specific thermal capacity";
type CapacityThermalVolumic = Density (displayUnit="J/(m3.K)") 
  "Volumic thermal capacity";
type PotentialChemical = Potential (displayUnit="J/mol") "Chemical potential";
type Temperature = Potential (displayUnit="K");
type TemperatureAbsolute = PotentialAbsolute (displayUnit="degC") 
  "Absolute temperature";
type TemperatureRate = PotentialRate (displayUnit="K/s") "Rate of temperature";
type ResistivityThermal = Resistivity (displayUnit="m.K/W") 
  "Thermal resistivity";
type Conductance = Current (displayUnit="W/K") "Conductance";