Base: Units for FEM, new heat and heat flux functions
This commit is contained in:
@@ -485,7 +485,7 @@ QString Unit::getTypeString(void) const
|
||||
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
|
||||
if(*this == Unit::HeatFluxDensity ) return QString::fromLatin1("HeatFluxDensity"); else
|
||||
if(*this == Unit::HeatFlux ) return QString::fromLatin1("HeatFlux"); else
|
||||
|
||||
return QString();
|
||||
|
||||
@@ -518,4 +518,4 @@ 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);
|
||||
Unit Unit::HeatFluxDensity (0,1,-3,0,0);
|
||||
Unit Unit::HeatFlux (0,1,-3,0,0);
|
||||
|
||||
@@ -120,7 +120,7 @@ public:
|
||||
static Unit ThermalExpansionCoefficient;
|
||||
static Unit SpecificHeat;
|
||||
static Unit ThermalTransferCoefficient;
|
||||
static Unit HeatFluxDensity;
|
||||
static Unit HeatFlux;
|
||||
|
||||
//@}
|
||||
protected:
|
||||
|
||||
@@ -54,6 +54,14 @@ QString UnitsSchemaCentimeters::schemaTranslate(const Base::Quantity& quant, dou
|
||||
unitString = QString::fromLatin1("m^3");
|
||||
factor = 1000000000.0;
|
||||
}
|
||||
else if (unit == Unit::Power) {
|
||||
unitString = QString::fromLatin1("W");
|
||||
factor = 1000000;
|
||||
}
|
||||
else if (unit == Unit::HeatFlux) {
|
||||
unitString = QString::fromLatin1("W/m^2");
|
||||
factor = 1.0;
|
||||
}
|
||||
else {
|
||||
// default action for all cases without special treatment:
|
||||
unitString = quant.getUnit().getString();
|
||||
|
||||
@@ -155,6 +155,14 @@ QString UnitsSchemaInternal::schemaTranslate(const Quantity &quant, double &fact
|
||||
factor = 0.001;
|
||||
}
|
||||
}
|
||||
else if (unit == Unit::Power) {
|
||||
unitString = QString::fromLatin1("W");
|
||||
factor = 1000000;
|
||||
}
|
||||
else if (unit == Unit::HeatFlux) {
|
||||
unitString = QString::fromLatin1("W/m^2");
|
||||
factor = 1.0;
|
||||
}
|
||||
else {
|
||||
// default action for all cases without special treatment:
|
||||
unitString = quant.getUnit().getString();
|
||||
|
||||
@@ -156,6 +156,14 @@ QString UnitsSchemaMKS::schemaTranslate(const Quantity &quant, double &factor, Q
|
||||
unitString = QString::fromLatin1("W/m^2/K");
|
||||
factor = 1.0;
|
||||
}
|
||||
else if (unit == Unit::Power) {
|
||||
unitString = QString::fromLatin1("W");
|
||||
factor = 1000000;
|
||||
}
|
||||
else if (unit == Unit::HeatFlux) {
|
||||
unitString = QString::fromLatin1("W/m^2");
|
||||
factor = 1.0;
|
||||
}
|
||||
else {
|
||||
// default action for all cases without special treatment:
|
||||
unitString = quant.getUnit().getString();
|
||||
|
||||
@@ -71,7 +71,7 @@ DlgUnitsCalculator::DlgUnitsCalculator( QWidget* parent, Qt::WindowFlags fl )
|
||||
<< Base::Unit::AmountOfSubstance << Base::Unit::LuminoseIntensity << Base::Unit::Stress
|
||||
<< Base::Unit::Pressure << Base::Unit::Force << Base::Unit::Work << Base::Unit::Power
|
||||
<< Base::Unit::ThermalConductivity << Base::Unit::ThermalExpansionCoefficient
|
||||
<< Base::Unit::SpecificHeat << Base::Unit::ThermalTransferCoefficient <<Base::Unit::HeatFluxDensity;
|
||||
<< Base::Unit::SpecificHeat << Base::Unit::ThermalTransferCoefficient <<Base::Unit::HeatFlux;
|
||||
for (QList<Base::Unit>::iterator it = units.begin(); it != units.end(); ++it) {
|
||||
ui->unitsBox->addItem(it->getTypeString());
|
||||
}
|
||||
|
||||
@@ -110,7 +110,7 @@ TaskFemConstraintHeatflux::TaskFemConstraintHeatflux(ViewProviderFemConstraintHe
|
||||
} else if (constraint_type == "DFlux") {
|
||||
ui->rb_dflux->setChecked(1);
|
||||
ui->sw_heatflux->setCurrentIndex(1);
|
||||
Base::Quantity c = Base::Quantity(pcConstraint->DFlux.getValue(), Base::Unit::HeatFluxDensity);
|
||||
Base::Quantity c = Base::Quantity(pcConstraint->DFlux.getValue(), Base::Unit::HeatFlux);
|
||||
ui->if_heatflux->setValue(c);
|
||||
}
|
||||
|
||||
@@ -196,7 +196,7 @@ void TaskFemConstraintHeatflux::Flux()
|
||||
Fem::ConstraintHeatflux* pcConstraint = static_cast<Fem::ConstraintHeatflux*>(ConstraintView->getObject());
|
||||
std::string name = ConstraintView->getObject()->getNameInDocument();
|
||||
Gui::Command::doCommand(Gui::Command::Doc,"App.ActiveDocument.%s.ConstraintType = %s",name.c_str(), get_constraint_type().c_str());
|
||||
Base::Quantity c = Base::Quantity(0, Base::Unit::HeatFluxDensity);
|
||||
Base::Quantity c = Base::Quantity(0, Base::Unit::HeatFlux);
|
||||
ui->if_heatflux->setValue(c);
|
||||
pcConstraint->DFlux.setValue(0);
|
||||
ui->sw_heatflux->setCurrentIndex(1);
|
||||
|
||||
Reference in New Issue
Block a user