/// <summary> /// Initializes a new instance of the <see cref="UnitWeightOfSolids"/> class. /// </summary> /// <param name="numericalValue">Decimal value used for calculations.</param> /// <param name="units">Measurement unit (ie g/cc).</param> public UnitWeightOfSolids(double numericalValue, UnitWeightUnits units) : base("𝛾_s", numericalValue, units) { }
/// <summary> /// Initializes a new instance of the <see cref="UnitWeightOfSolids"/> class. /// </summary> /// <param name="solidWeight">W_s in gamma_s=W_s/V_s.</param> /// <param name="solidVolume">V_s in gamma_s=W_s/V_s.</param> /// <param name="units">Measurement system to hold value in after initial calculation.</param> public UnitWeightOfSolids(WeightOfSolidMatter solidWeight, VolumeOfSolidMatter solidVolume, UnitWeightUnits units) : this(ConvertToUnits(new BaseUnitWeightScalar("𝛾", BaseWeightScalar.ConvertToUnits(solidWeight, WeightUnits.Kilograms).NumericValue / BaseVolumeScalar.ConvertToUnits(solidVolume, VolumeUnits.CubicMeters).NumericValue, UnitWeightUnits.KilogramPerMeterCubed), units).NumericValue, units) { }
/// <summary> /// Initializes a new instance of the <see cref="BaseUnitWeightScalar"/> class. /// </summary> /// <param name="symbol">LateX symbol for pretty print.</param> /// <param name="numericalValue">Decimal value for calculation.</param> /// <param name="units">Measurement unit (ie g/cc).</param> public BaseUnitWeightScalar(string symbol, double numericalValue, UnitWeightUnits units) { this.UnitOfMeasure = units; this.Symbol = symbol; this.NumericValue = numericalValue; }
/// <summary> /// Unit Weight conversion function from Metric to Metric, Metric to English, or vice versa. /// </summary> /// <param name="toConvert">Original, operating, unit weight.</param> /// <param name="toConvertTo">Measurement unit to convert into (ie g/cc).</param> /// <returns>A new unit weight with correct type and numeric value.</returns> public static BaseUnitWeightScalar ConvertToUnits(BaseUnitWeightScalar toConvert, UnitWeightUnits toConvertTo) { if (toConvert.UnitOfMeasure == toConvertTo) { return(toConvert); } double newVal = toConvert.NumericValue; if (toConvert.UnitOfMeasure == UnitWeightUnits.GramPerCubicCentimeter && toConvertTo == UnitWeightUnits.KilogramPerMeterCubed) { newVal *= 1000.0; } else if (toConvert.UnitOfMeasure == UnitWeightUnits.GramPerCubicCentimeter && toConvertTo == UnitWeightUnits.PoundPerCubicFoot) { newVal *= 62.428; } else if (toConvert.UnitOfMeasure == UnitWeightUnits.KilogramPerMeterCubed && toConvertTo == UnitWeightUnits.GramPerCubicCentimeter) { newVal /= 1000.0; } else if (toConvert.UnitOfMeasure == UnitWeightUnits.KilogramPerMeterCubed && toConvertTo == UnitWeightUnits.PoundPerCubicFoot) { newVal /= 16.018; } else if (toConvert.UnitOfMeasure == UnitWeightUnits.PoundPerCubicFoot && toConvertTo == UnitWeightUnits.GramPerCubicCentimeter) { newVal /= 62.428; } else if (toConvert.UnitOfMeasure == UnitWeightUnits.PoundPerCubicFoot && toConvertTo == UnitWeightUnits.KilogramPerMeterCubed) { newVal *= 16.018; } BaseUnitWeightScalar toReturn = new BaseUnitWeightScalar(toConvert.Symbol, newVal, toConvertTo); return(toReturn); }
/// <summary> /// Initializes a new instance of the <see cref="Density"/> class. /// </summary> /// <param name="numericalValue">Decimal value to do calculations with.</param> /// <param name="units">Measurement system (ie g/cc).</param> public Density(double numericalValue, UnitWeightUnits units) : base("ρ", numericalValue, units) { }
/// <summary> /// Initializes a new instance of the <see cref="Density"/> class. Assumes g = 9.81 m/s^2. /// </summary> /// <param name="totalUnitWeight">gamma_t in rho=gamma_t/g.</param> /// <param name="units">Measurement system to hold value in after initial calculation.</param> public Density(TotalUnitWeight totalUnitWeight, UnitWeightUnits units) : this(ConvertToUnits(new BaseUnitWeightScalar("𝛾", ConvertToUnits(totalUnitWeight, UnitWeightUnits.KilogramPerMeterCubed).NumericValue / 9.81, UnitWeightUnits.KilogramPerMeterCubed), units).NumericValue, units) { }
/// <summary> /// Initializes a new instance of the <see cref="UnitWeightOfWater"/> class. /// </summary> /// <param name="waterWeight">W_w in gamma_w=W_w/V_w.</param> /// <param name="waterVolume">V_w in gamma_w=W_w/V_w.</param> /// <param name="units">Measurement system to hold value in after calculation.</param> public UnitWeightOfWater(WeightOfWater waterWeight, WaterVolume waterVolume, UnitWeightUnits units) : this(ConvertToUnits(new BaseUnitWeightScalar("𝛾", BaseWeightScalar.ConvertToUnits(waterWeight, WeightUnits.Kilograms).NumericValue / BaseVolumeScalar.ConvertToUnits(waterVolume, VolumeUnits.CubicMeters).NumericValue, UnitWeightUnits.KilogramPerMeterCubed), units).NumericValue, units) { }
/// <summary> /// Initializes a new instance of the <see cref="UnitWeightOfWater"/> class. /// </summary> /// <param name="numericalValue">Decimal value used for calculations.</param> /// <param name="units">Measurement unit (ie g/cc).</param> public UnitWeightOfWater(double numericalValue, UnitWeightUnits units) : base("𝛾_w", numericalValue, units) { }
/// <summary> /// Initializes a new instance of the <see cref="TotalUnitWeight"/> class. /// </summary> /// <param name="gravityOfSolids">G_s in ((G_s+Se)/(1+e))gamma_w.</param> /// <param name="saturation">S in ((G_s+Se)/(1+e))gamma_w.</param> /// <param name="voidRatio">e in ((G_s+Se)/(1+e))gamma_w.</param> /// <param name="unitWeightOfWater">gamma_w in ((G_s+Se)/(1+e))gamma_w.</param> /// <param name="units">Measurement unit to use after construction from formula (ie g/cc).</param> public TotalUnitWeight(SpecificGravityOfSolids gravityOfSolids, DegreeOfSaturation saturation, VoidRatio voidRatio, UnitWeightOfWater unitWeightOfWater, UnitWeightUnits units) : this(((gravityOfSolids.NumericValue + (saturation.NumericValue * voidRatio.NumericValue)) / (1 + voidRatio.NumericValue)) * ConvertToUnits(unitWeightOfWater, units).NumericValue, units) { }
/// <summary> /// Initializes a new instance of the <see cref="TotalUnitWeight"/> class. /// </summary> /// <param name="totalWeight">W in gamma_t=W/V.</param> /// <param name="totalVolume">V in gamma_t=W/V.</param> /// <param name="units">Measurement unit to use after construction from formula (ie g/cc).</param> public TotalUnitWeight(TotalWeight totalWeight, TotalVolume totalVolume, UnitWeightUnits units) : this(ConvertToUnits(new BaseUnitWeightScalar("𝛾", BaseWeightScalar.ConvertToUnits(totalWeight, WeightUnits.Kilograms).NumericValue / BaseVolumeScalar.ConvertToUnits(totalVolume, VolumeUnits.CubicMeters).NumericValue, UnitWeightUnits.KilogramPerMeterCubed), units).NumericValue, units) { }
/// <summary> /// Initializes a new instance of the <see cref="TotalUnitWeight"/> class. /// </summary> /// <param name="numericalValue">Decimal value to use in calculations.</param> /// <param name="units">Measurement unit (ie g/cc).</param> public TotalUnitWeight(double numericalValue, UnitWeightUnits units) : base("𝛾_t", numericalValue, units) { }