Base: Units: add units for thermomechanical analysis
This commit is contained in:
parent
984e7994a4
commit
f9c5661096
|
@ -467,6 +467,11 @@ QString Unit::getTypeString(void) const
|
|||
if(*this == Unit::Force ) return QString::fromLatin1("Force"); else
|
||||
if(*this == Unit::Work ) return QString::fromLatin1("Work"); else
|
||||
if(*this == Unit::Power ) return QString::fromLatin1("Power"); else
|
||||
if(*this == Unit::ThermalConductivity ) return QString::fromLatin1("ThermalConductivity"); else
|
||||
if(*this == Unit::ThermalExpansionCoefficient ) return QString::fromLatin1("ThermalExpansionCoefficient"); else
|
||||
if(*this == Unit::SpecificHeat ) return QString::fromLatin1("SpecificHeat"); else
|
||||
if(*this == Unit::ThermalTransferCoefficient ) return QString::fromLatin1("ThermalTransferCoefficient"); else
|
||||
|
||||
return QString();
|
||||
|
||||
}
|
||||
|
@ -493,3 +498,8 @@ Unit Unit::Pressure(-1,1,-2); // kg/m*s^2 or N/m^2 or PSI
|
|||
Unit Unit::Force (1,1,-2);
|
||||
Unit Unit::Work (2,1,-2);
|
||||
Unit Unit::Power (2,1,-3);
|
||||
|
||||
Unit Unit::ThermalConductivity (1,1,-3,0,-1);
|
||||
Unit Unit::ThermalExpansionCoefficient (0,0,0,0,-1);
|
||||
Unit Unit::SpecificHeat (2,0,-2,0,-1);
|
||||
Unit Unit::ThermalTransferCoefficient (0,1,-3,0,-1);
|
||||
|
|
|
@ -116,6 +116,10 @@ public:
|
|||
static Unit Work;
|
||||
static Unit Power;
|
||||
|
||||
static Unit ThermalConductivity;
|
||||
static Unit ThermalExpansionCoefficient;
|
||||
static Unit SpecificHeat;
|
||||
static Unit ThermalTransferCoefficient;
|
||||
|
||||
//@}
|
||||
protected:
|
||||
|
|
|
@ -92,6 +92,28 @@ QString UnitsSchemaInternal::schemaTranslate(Base::Quantity quant,double &factor
|
|||
unitString = QString::fromLatin1("kg/mm^3");
|
||||
factor = 1.0;
|
||||
}
|
||||
}else if (unit == Unit::ThermalConductivity){
|
||||
if (UnitValue < 1000){
|
||||
unitString = QString::fromLatin1("W/mm/K");
|
||||
factor = 1.0;
|
||||
}else{
|
||||
unitString = QString::fromLatin1("W/m/K");
|
||||
factor = 1000.0;
|
||||
}
|
||||
}else if (unit == Unit::ThermalExpansionCoefficient){
|
||||
if(UnitValue < 0.001){
|
||||
unitString = QString::fromLatin1("um/m/K");
|
||||
factor = 0.000001;
|
||||
}else{
|
||||
unitString = QString::fromLatin1("mm/mm/K");
|
||||
factor = 1.0;
|
||||
}
|
||||
}else if (unit == Unit::SpecificHeat){
|
||||
unitString = QString::fromLatin1("J/kg/K");
|
||||
factor = 1000000.0;
|
||||
}else if (unit == Unit::ThermalTransferCoefficient){
|
||||
unitString = QString::fromLatin1("W/m^2/K");
|
||||
factor = 1.0;
|
||||
}else if ((unit == Unit::Pressure) || (unit == Unit::Stress)){
|
||||
if(UnitValue < 10.0){// Pa is the smallest
|
||||
unitString = QString::fromLatin1("Pa");
|
||||
|
|
|
@ -109,6 +109,28 @@ QString UnitsSchemaMKS::schemaTranslate(Base::Quantity quant,double &factor,QStr
|
|||
unitString = QString::fromLatin1("Pa");
|
||||
factor = 1.0;
|
||||
}
|
||||
}else if (unit == Unit::ThermalConductivity){
|
||||
if (UnitValue < 1000){
|
||||
unitString = QString::fromLatin1("W/mm/K");
|
||||
factor = 1.0;
|
||||
}else{
|
||||
unitString = QString::fromLatin1("W/m/K");
|
||||
factor = 1000.0;
|
||||
}
|
||||
}else if (unit == Unit::ThermalExpansionCoefficient){
|
||||
if(UnitValue < 0.001){
|
||||
unitString = QString::fromLatin1("um/m/K");
|
||||
factor = 0.000001;
|
||||
}else{
|
||||
unitString = QString::fromLatin1("m/m/K");
|
||||
factor = 1.0;
|
||||
}
|
||||
}else if (unit == Unit::SpecificHeat){
|
||||
unitString = QString::fromLatin1("J/kg/K");
|
||||
factor = 1000000.0;
|
||||
}else if (unit == Unit::ThermalTransferCoefficient){
|
||||
unitString = QString::fromLatin1("W/m^2/K");
|
||||
factor = 1.0;
|
||||
}else{
|
||||
// default action for all cases without special treatment:
|
||||
unitString = quant.getUnit().getString();
|
||||
|
|
Loading…
Reference in New Issue
Block a user