[Core] add current density

- necessary to implement electromagnetic features to the FEM WB
This commit is contained in:
Uwe
2023-02-04 03:34:05 +01:00
committed by Chris Hennes
parent d33005d14e
commit 2880a5ca2a
6 changed files with 27 additions and 0 deletions

View File

@@ -859,6 +859,7 @@ App.Units.Velocity = App.Units.Unit(1,0,-1)
App.Units.Acceleration = App.Units.Unit(1,0,-2)
App.Units.Temperature = App.Units.Unit(0,0,0,0,1)
App.Units.CurrentDensity = App.Units.Unit(-2,0,0,1)
App.Units.ElectricCurrent = App.Units.Unit(0,0,0,1)
App.Units.ElectricPotential = App.Units.Unit(2,1,-3,-1)
App.Units.ElectricCharge = App.Units.Unit(0,0,1,1)
@@ -868,6 +869,7 @@ App.Units.ElectricalInductance = App.Units.Unit(2,1,-2,-2)
App.Units.ElectricalConductance = App.Units.Unit(-2,-1,3,2)
App.Units.ElectricalResistance = App.Units.Unit(2,1,-3,-2)
App.Units.ElectricalConductivity = App.Units.Unit(-3,-1,3,2)
App.Units.AmountOfSubstance = App.Units.Unit(0,0,0,0,0,1)
App.Units.LuminousIntensity = App.Units.Unit(0,0,0,0,0,0,1)

View File

@@ -448,6 +448,8 @@ QString Unit::getTypeString() const
return QString::fromLatin1("Acceleration");
if(*this == Unit::Temperature )
return QString::fromLatin1("Temperature");
if (*this == Unit::CurrentDensity)
return QString::fromLatin1("CurrentDensity");
if(*this == Unit::ElectricCurrent )
return QString::fromLatin1("ElectricCurrent");
if(*this == Unit::ElectricPotential )
@@ -526,6 +528,7 @@ Unit Unit::Velocity(1,0,-1);
Unit Unit::Acceleration(1,0,-2);
Unit Unit::Temperature(0,0,0,0,1);
Unit Unit::CurrentDensity(-2,0,0,1);
Unit Unit::ElectricCurrent(0,0,0,1);
Unit Unit::ElectricPotential(2,1,-3,-1);
Unit Unit::ElectricCharge(0,0,1,1);

View File

@@ -107,6 +107,7 @@ public:
static Unit Acceleration;
static Unit Temperature;
static Unit CurrentDensity;
static Unit ElectricCurrent;
static Unit ElectricPotential;
static Unit ElectricCharge;

View File

@@ -331,6 +331,16 @@ QString UnitsSchemaInternal::schemaTranslate(const Quantity &quant, double &fact
unitString = QString::fromLatin1("C");
factor = 1.0;
}
else if (unit == Unit::CurrentDensity) {
if (UnitValue <= 1e3) {
unitString = QString::fromLatin1("A/m^2");
factor = 1e-6;
}
else {
unitString = QString::fromLatin1("A/mm^2");
factor = 1;
}
}
else if (unit == Unit::MagneticFluxDensity) {
if (UnitValue <= 1e-3) {
unitString = QString::fromLatin1("G");

View File

@@ -279,6 +279,16 @@ QString UnitsSchemaMKS::schemaTranslate(const Quantity &quant, double &factor, Q
unitString = QString::fromLatin1("C");
factor = 1.0;
}
else if (unit == Unit::CurrentDensity) {
if (UnitValue <= 1e3) {
unitString = QString::fromLatin1("A/m^2");
factor = 1e-6;
}
else {
unitString = QString::fromLatin1("A/mm^2");
factor = 1;
}
}
else if (unit == Unit::MagneticFluxDensity) {
if (UnitValue <= 1e-3) {
unitString = QString::fromLatin1("G");

View File

@@ -77,6 +77,7 @@ DlgUnitsCalculator::DlgUnitsCalculator( QWidget* parent, Qt::WindowFlags fl )
<< Base::Unit::Angle
<< Base::Unit::Area
<< Base::Unit::Density
<< Base::Unit::CurrentDensity
<< Base::Unit::ElectricalCapacitance
<< Base::Unit::ElectricalInductance
<< Base::Unit::ElectricalConductance