Skip to content

Commit 0f4769d

Browse files
tmilnthorpangularsen
authored andcommitted
Adding dyn/cm² and lbm/(in·s²) units for pressure (#534)
* Adding dyn/cm² and lbm/(in·s²) units for pressure * Adding microbars (= 1 dyn/cm²)
1 parent db10372 commit 0f4769d

File tree

8 files changed

+203
-1
lines changed

8 files changed

+203
-1
lines changed

Common/GeneratedCode/Quantities/Pressure.Common.g.cs

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,11 @@ public static BaseDimensions BaseDimensions
186186
/// </summary>
187187
public double Decibars => As(PressureUnit.Decibar);
188188

189+
/// <summary>
190+
/// Get Pressure in DynesPerSquareCentimeter.
191+
/// </summary>
192+
public double DynesPerSquareCentimeter => As(PressureUnit.DynePerSquareCentimeter);
193+
189194
/// <summary>
190195
/// Get Pressure in FeetOfHead.
191196
/// </summary>
@@ -276,6 +281,11 @@ public static BaseDimensions BaseDimensions
276281
/// </summary>
277282
public double MetersOfHead => As(PressureUnit.MeterOfHead);
278283

284+
/// <summary>
285+
/// Get Pressure in Microbars.
286+
/// </summary>
287+
public double Microbars => As(PressureUnit.Microbar);
288+
279289
/// <summary>
280290
/// Get Pressure in Micropascals.
281291
/// </summary>
@@ -321,6 +331,11 @@ public static BaseDimensions BaseDimensions
321331
/// </summary>
322332
public double PoundsForcePerSquareInch => As(PressureUnit.PoundForcePerSquareInch);
323333

334+
/// <summary>
335+
/// Get Pressure in PoundsPerInchSecondSquared.
336+
/// </summary>
337+
public double PoundsPerInchSecondSquared => As(PressureUnit.PoundPerInchSecondSquared);
338+
324339
/// <summary>
325340
/// Get Pressure in Psi.
326341
/// </summary>
@@ -431,6 +446,20 @@ public static Pressure FromDecibars(QuantityValue decibars)
431446
return new Pressure(value, PressureUnit.Decibar);
432447
}
433448

449+
/// <summary>
450+
/// Get Pressure from DynesPerSquareCentimeter.
451+
/// </summary>
452+
#if WINDOWS_UWP
453+
[Windows.Foundation.Metadata.DefaultOverload]
454+
public static Pressure FromDynesPerSquareCentimeter(double dynespersquarecentimeter)
455+
#else
456+
public static Pressure FromDynesPerSquareCentimeter(QuantityValue dynespersquarecentimeter)
457+
#endif
458+
{
459+
double value = (double) dynespersquarecentimeter;
460+
return new Pressure(value, PressureUnit.DynePerSquareCentimeter);
461+
}
462+
434463
/// <summary>
435464
/// Get Pressure from FeetOfHead.
436465
/// </summary>
@@ -683,6 +712,20 @@ public static Pressure FromMetersOfHead(QuantityValue metersofhead)
683712
return new Pressure(value, PressureUnit.MeterOfHead);
684713
}
685714

715+
/// <summary>
716+
/// Get Pressure from Microbars.
717+
/// </summary>
718+
#if WINDOWS_UWP
719+
[Windows.Foundation.Metadata.DefaultOverload]
720+
public static Pressure FromMicrobars(double microbars)
721+
#else
722+
public static Pressure FromMicrobars(QuantityValue microbars)
723+
#endif
724+
{
725+
double value = (double) microbars;
726+
return new Pressure(value, PressureUnit.Microbar);
727+
}
728+
686729
/// <summary>
687730
/// Get Pressure from Micropascals.
688731
/// </summary>
@@ -809,6 +852,20 @@ public static Pressure FromPoundsForcePerSquareInch(QuantityValue poundsforceper
809852
return new Pressure(value, PressureUnit.PoundForcePerSquareInch);
810853
}
811854

855+
/// <summary>
856+
/// Get Pressure from PoundsPerInchSecondSquared.
857+
/// </summary>
858+
#if WINDOWS_UWP
859+
[Windows.Foundation.Metadata.DefaultOverload]
860+
public static Pressure FromPoundsPerInchSecondSquared(double poundsperinchsecondsquared)
861+
#else
862+
public static Pressure FromPoundsPerInchSecondSquared(QuantityValue poundsperinchsecondsquared)
863+
#endif
864+
{
865+
double value = (double) poundsperinchsecondsquared;
866+
return new Pressure(value, PressureUnit.PoundPerInchSecondSquared);
867+
}
868+
812869
/// <summary>
813870
/// Get Pressure from Psi.
814871
/// </summary>
@@ -1071,6 +1128,7 @@ private double AsBaseUnit()
10711128
case PressureUnit.Centibar: return (_value*1e5) * 1e-2d;
10721129
case PressureUnit.Decapascal: return (_value) * 1e1d;
10731130
case PressureUnit.Decibar: return (_value*1e5) * 1e-1d;
1131+
case PressureUnit.DynePerSquareCentimeter: return _value*1.0e-1;
10741132
case PressureUnit.FootOfHead: return _value*2989.0669;
10751133
case PressureUnit.Gigapascal: return (_value) * 1e9d;
10761134
case PressureUnit.Hectopascal: return (_value) * 1e2d;
@@ -1089,6 +1147,7 @@ private double AsBaseUnit()
10891147
case PressureUnit.MeganewtonPerSquareMeter: return (_value) * 1e6d;
10901148
case PressureUnit.Megapascal: return (_value) * 1e6d;
10911149
case PressureUnit.MeterOfHead: return _value*9804.139432;
1150+
case PressureUnit.Microbar: return (_value*1e5) * 1e-6d;
10921151
case PressureUnit.Micropascal: return (_value) * 1e-6d;
10931152
case PressureUnit.Millibar: return (_value*1e5) * 1e-3d;
10941153
case PressureUnit.MillimeterOfMercury: return _value/7.50061561302643e-3;
@@ -1098,6 +1157,7 @@ private double AsBaseUnit()
10981157
case PressureUnit.Pascal: return _value;
10991158
case PressureUnit.PoundForcePerSquareFoot: return _value*4.788025898033584e1;
11001159
case PressureUnit.PoundForcePerSquareInch: return _value*6.894757293168361e3;
1160+
case PressureUnit.PoundPerInchSecondSquared: return _value*1.785796732283465e1;
11011161
case PressureUnit.Psi: return _value*6.894757293168361e3;
11021162
case PressureUnit.TechnicalAtmosphere: return _value*9.80680592331*1e4;
11031163
case PressureUnit.TonneForcePerSquareCentimeter: return _value*9.80665e7;
@@ -1123,6 +1183,7 @@ private double AsBaseNumericType(PressureUnit unit)
11231183
case PressureUnit.Centibar: return (baseUnitValue/1e5) / 1e-2d;
11241184
case PressureUnit.Decapascal: return (baseUnitValue) / 1e1d;
11251185
case PressureUnit.Decibar: return (baseUnitValue/1e5) / 1e-1d;
1186+
case PressureUnit.DynePerSquareCentimeter: return baseUnitValue/1.0e-1;
11261187
case PressureUnit.FootOfHead: return baseUnitValue*0.000334552565551;
11271188
case PressureUnit.Gigapascal: return (baseUnitValue) / 1e9d;
11281189
case PressureUnit.Hectopascal: return (baseUnitValue) / 1e2d;
@@ -1141,6 +1202,7 @@ private double AsBaseNumericType(PressureUnit unit)
11411202
case PressureUnit.MeganewtonPerSquareMeter: return (baseUnitValue) / 1e6d;
11421203
case PressureUnit.Megapascal: return (baseUnitValue) / 1e6d;
11431204
case PressureUnit.MeterOfHead: return baseUnitValue*0.0001019977334;
1205+
case PressureUnit.Microbar: return (baseUnitValue/1e5) / 1e-6d;
11441206
case PressureUnit.Micropascal: return (baseUnitValue) / 1e-6d;
11451207
case PressureUnit.Millibar: return (baseUnitValue/1e5) / 1e-3d;
11461208
case PressureUnit.MillimeterOfMercury: return baseUnitValue*7.50061561302643e-3;
@@ -1150,6 +1212,7 @@ private double AsBaseNumericType(PressureUnit unit)
11501212
case PressureUnit.Pascal: return baseUnitValue;
11511213
case PressureUnit.PoundForcePerSquareFoot: return baseUnitValue/4.788025898033584e1;
11521214
case PressureUnit.PoundForcePerSquareInch: return baseUnitValue/6.894757293168361e3;
1215+
case PressureUnit.PoundPerInchSecondSquared: return baseUnitValue/1.785796732283465e1;
11531216
case PressureUnit.Psi: return baseUnitValue/6.894757293168361e3;
11541217
case PressureUnit.TechnicalAtmosphere: return baseUnitValue/(9.80680592331*1e4);
11551218
case PressureUnit.TonneForcePerSquareCentimeter: return baseUnitValue/9.80665e7;

Common/UnitDefinitions/Pressure.json

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
"PluralName": "Bars",
4848
"FromUnitToBaseFunc": "x*1e5",
4949
"FromBaseToUnitFunc": "x/1e5",
50-
"Prefixes": [ "Milli", "Centi", "Deci", "Kilo", "Mega" ],
50+
"Prefixes": [ "Micro", "Milli", "Centi", "Deci", "Kilo", "Mega" ],
5151
"Localization": [
5252
{
5353
"Culture": "en-US",
@@ -321,6 +321,30 @@
321321
"Abbreviations": [ "inHg" ]
322322
}
323323
]
324+
},
325+
{
326+
"SingularName": "DynePerSquareCentimeter",
327+
"PluralName": "DynesPerSquareCentimeter",
328+
"FromUnitToBaseFunc": "x*1.0e-1",
329+
"FromBaseToUnitFunc": "x/1.0e-1",
330+
"Localization": [
331+
{
332+
"Culture": "en-US",
333+
"Abbreviations": [ "dyn/cm²" ]
334+
}
335+
]
336+
},
337+
{
338+
"SingularName": "PoundPerInchSecondSquared",
339+
"PluralName": "PoundsPerInchSecondSquared",
340+
"FromUnitToBaseFunc": "x*1.785796732283465e1",
341+
"FromBaseToUnitFunc": "x/1.785796732283465e1",
342+
"Localization": [
343+
{
344+
"Culture": "en-US",
345+
"Abbreviations": [ "lbm/(in·s²)", "lb/(in·s²)" ]
346+
}
347+
]
324348
}
325349
]
326350
}

UnitsNet.Tests/CustomCode/PressureTests.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,16 @@ public class PressureTests : PressureTestsBase
9797

9898
protected override double MillibarsInOnePascal => 1e-2;
9999

100+
protected override double MicrobarsInOnePascal => 1.0e1;
101+
100102
protected override double MillimetersOfMercuryInOnePascal => 7.50061561302643e-3;
101103

102104
protected override double InchesOfMercuryInOnePascal => 2.95299830714159e-4;
103105

106+
protected override double DynesPerSquareCentimeterInOnePascal => 1.0e1;
107+
108+
protected override double PoundsPerInchSecondSquaredInOnePascal => 5.599741459495891e-2;
109+
104110
[Fact]
105111
public void AreaTimesPressureEqualsForce()
106112
{

0 commit comments

Comments
 (0)