Base: add VolExpansionCoeff and complete KinematicViscosity unit
This commit is contained in:
committed by
Bernd Hahnebach
parent
6074ffa69a
commit
5da01ab8b0
@@ -456,6 +456,7 @@ QString Unit::getTypeString(void) const
|
||||
if(*this == Unit::SpecificEnergy ) return QString::fromLatin1("SpecificEnergy");
|
||||
if(*this == Unit::ThermalConductivity ) return QString::fromLatin1("ThermalConductivity");
|
||||
if(*this == Unit::ThermalExpansionCoefficient ) return QString::fromLatin1("ThermalExpansionCoefficient");
|
||||
if(*this == Unit::VolumetricThermalExpansionCoefficient ) return QString::fromLatin1("VolumetricThermalExpansionCoefficient");
|
||||
if(*this == Unit::SpecificHeat ) return QString::fromLatin1("SpecificHeat");
|
||||
if(*this == Unit::ThermalTransferCoefficient ) return QString::fromLatin1("ThermalTransferCoefficient");
|
||||
if(*this == Unit::HeatFlux ) return QString::fromLatin1("HeatFlux");
|
||||
@@ -513,6 +514,7 @@ Unit Unit::Power (2,1,-3);
|
||||
Unit Unit::SpecificEnergy (2,0,-2);
|
||||
Unit Unit::ThermalConductivity (1,1,-3,0,-1);
|
||||
Unit Unit::ThermalExpansionCoefficient (0,0,0,0,-1);
|
||||
Unit Unit::VolumetricThermalExpansionCoefficient (0,0,0,0,-1);
|
||||
Unit Unit::SpecificHeat (2,0,-2,0,-1);
|
||||
Unit Unit::ThermalTransferCoefficient (0,1,-3,0,-1);
|
||||
Unit Unit::HeatFlux (0,1,-3,0,0);
|
||||
|
||||
@@ -137,6 +137,7 @@ public:
|
||||
static Unit SpecificEnergy;
|
||||
static Unit ThermalConductivity;
|
||||
static Unit ThermalExpansionCoefficient;
|
||||
static Unit VolumetricThermalExpansionCoefficient;
|
||||
static Unit SpecificHeat;
|
||||
static Unit ThermalTransferCoefficient;
|
||||
static Unit HeatFlux;
|
||||
|
||||
@@ -161,7 +161,7 @@ QString UnitsSchemaInternal::schemaTranslate(const Quantity &quant, double &fact
|
||||
else if (unit == Unit::ThermalConductivity) {
|
||||
if (UnitValue > 1000000) {
|
||||
unitString = QString::fromLatin1("W/mm/K");
|
||||
factor = 1000000.0;
|
||||
factor = 1e6;
|
||||
}
|
||||
else {
|
||||
unitString = QString::fromLatin1("W/m/K");
|
||||
@@ -170,7 +170,7 @@ QString UnitsSchemaInternal::schemaTranslate(const Quantity &quant, double &fact
|
||||
}
|
||||
else if (unit == Unit::ThermalExpansionCoefficient) {
|
||||
if (UnitValue < 0.001) {
|
||||
unitString = QString::fromUtf8("\xC2\xB5m/m/K");
|
||||
unitString = QString::fromUtf8("\xC2\xB5m/m/K"); // micro-meter/meter/K
|
||||
factor = 0.000001;
|
||||
}
|
||||
else {
|
||||
@@ -178,9 +178,19 @@ QString UnitsSchemaInternal::schemaTranslate(const Quantity &quant, double &fact
|
||||
factor = 1.0;
|
||||
}
|
||||
}
|
||||
else if (unit == Unit::VolumetricThermalExpansionCoefficient) {
|
||||
if (UnitValue < 0.001) {
|
||||
unitString = QString::fromUtf8("mm^3/m^3/K");
|
||||
factor = 1e-9;
|
||||
}
|
||||
else {
|
||||
unitString = QString::fromLatin1("m^3/m^3/K");
|
||||
factor = 1.0;
|
||||
}
|
||||
}
|
||||
else if (unit == Unit::SpecificHeat) {
|
||||
unitString = QString::fromLatin1("J/kg/K");
|
||||
factor = 1000000.0;
|
||||
factor = 1e6;
|
||||
}
|
||||
else if (unit == Unit::ThermalTransferCoefficient) {
|
||||
unitString = QString::fromLatin1("W/m^2/K");
|
||||
@@ -298,7 +308,7 @@ QString UnitsSchemaInternal::schemaTranslate(const Quantity &quant, double &fact
|
||||
}
|
||||
else if (unit == Unit::HeatFlux) {
|
||||
unitString = QString::fromLatin1("W/m^2");
|
||||
factor = 1.0;
|
||||
factor = 1; // unit signiture (0,1,-3,0,0) is length independent
|
||||
}
|
||||
else if (unit == Unit::ElectricCharge) {
|
||||
unitString = QString::fromLatin1("C");
|
||||
@@ -417,8 +427,18 @@ QString UnitsSchemaInternal::schemaTranslate(const Quantity &quant, double &fact
|
||||
factor = 1.0;
|
||||
}
|
||||
else if (unit == Unit::DynamicViscosity) {
|
||||
unitString = QString::fromLatin1("kg/(m*s)");
|
||||
factor = 0.001;
|
||||
unitString = QString::fromLatin1("kg/(mm*s)");
|
||||
factor = 1.0;
|
||||
}
|
||||
else if (unit == Unit::KinematicViscosity) {
|
||||
if (UnitValue < 1e3) {
|
||||
unitString = QString::fromLatin1("mm^2/s");
|
||||
factor = 1.0;
|
||||
}
|
||||
else {
|
||||
unitString = QString::fromLatin1("m^2/s");
|
||||
factor = 1e6;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// default action for all cases without special treatment:
|
||||
|
||||
@@ -203,6 +203,16 @@ QString UnitsSchemaMKS::schemaTranslate(const Quantity &quant, double &factor, Q
|
||||
factor = 1.0;
|
||||
}
|
||||
}
|
||||
else if (unit == Unit::VolumetricThermalExpansionCoefficient) {
|
||||
if (UnitValue < 0.001) {
|
||||
unitString = QString::fromUtf8("mm^3/m^3/K");
|
||||
factor = 1e-9;
|
||||
}
|
||||
else {
|
||||
unitString = QString::fromLatin1("m^3/m^3/K");
|
||||
factor = 1.0;
|
||||
}
|
||||
}
|
||||
else if (unit == Unit::SpecificHeat) {
|
||||
unitString = QString::fromLatin1("J/kg/K");
|
||||
factor = 1000000.0;
|
||||
@@ -423,6 +433,10 @@ QString UnitsSchemaMKS::schemaTranslate(const Quantity &quant, double &factor, Q
|
||||
unitString = QString::fromLatin1("kg/(m*s)");
|
||||
factor = 0.001;
|
||||
}
|
||||
else if (unit == Unit::KinematicViscosity) {
|
||||
unitString = QString::fromLatin1("m^2/s)");
|
||||
factor = 1e6;
|
||||
}
|
||||
else {
|
||||
// default action for all cases without special treatment:
|
||||
unitString = quant.getUnit().getString();
|
||||
|
||||
Reference in New Issue
Block a user