Base: Add electromagnetic potential unit

This commit is contained in:
marioalexis
2024-12-09 13:56:38 -03:00
committed by Chris Hennes
parent 70ec5a7583
commit 51c0faff62
7 changed files with 38 additions and 0 deletions

View File

@@ -2060,6 +2060,7 @@ void Application::initTypes()
App::PropertyElectricCharge ::init();
App::PropertyElectricCurrent ::init();
App::PropertyElectricPotential ::init();
App::PropertyElectromagneticPotential ::init();
App::PropertyFrequency ::init();
App::PropertyForce ::init();
App::PropertyHeatFlux ::init();

View File

@@ -554,6 +554,17 @@ PropertyMagnetization::PropertyMagnetization()
setUnit(Base::Unit::Magnetization);
}
//**************************************************************************
// PropertyElectromagneticPotential
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
TYPESYSTEM_SOURCE(App::PropertyElectromagneticPotential, App::PropertyQuantity)
PropertyElectromagneticPotential::PropertyElectromagneticPotential()
{
setUnit(Base::Unit::ElectromagneticPotential);
}
//**************************************************************************
// PropertyMass
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

View File

@@ -546,6 +546,19 @@ public:
~PropertyMagnetization() override = default;
};
/** ElectromagneticPotential property
* This is a property for representing electromagnetic potentials. It is basically a float
* property. On the Gui it has a quantity like Wb/m.
*/
class AppExport PropertyElectromagneticPotential: public PropertyQuantity
{
TYPESYSTEM_HEADER_WITH_OVERRIDE();
public:
PropertyElectromagneticPotential();
~PropertyElectromagneticPotential() override = default;
};
/** Mass property
* This is a property for representing mass. It is basically a float
* property. On the Gui it has a quantity like kg.

View File

@@ -515,6 +515,9 @@ QString Unit::getTypeString() const
if (*this == Unit::ElectricPotential) {
return QString::fromLatin1("ElectricPotential");
}
if (*this == Unit::ElectromagneticPotential) {
return QString::fromLatin1("ElectromagneticPotential");
}
if (*this == Unit::Frequency) {
return QString::fromLatin1("Frequency");
}
@@ -656,6 +659,7 @@ const Unit Unit::ElectricalInductance (2, 1, -2, -2);
const Unit Unit::ElectricalResistance (2, 1, -3, -2);
const Unit Unit::ElectricCharge (0, 0, 1, 1);
const Unit Unit::ElectricPotential (2, 1, -3, -1);
const Unit Unit::ElectromagneticPotential (1, 1, -2, -1);
const Unit Unit::Force (1, 1, -2);
const Unit Unit::Frequency (0, 0, -1);
const Unit Unit::HeatFlux (0, 1, -3, 0, 0);

View File

@@ -137,6 +137,7 @@ public:
static const Unit ElectricalConductance;
static const Unit ElectricalResistance;
static const Unit ElectricalConductivity;
static const Unit ElectromagneticPotential;
static const Unit AmountOfSubstance;
static const Unit LuminousIntensity;

View File

@@ -400,6 +400,10 @@ UnitsSchemaInternal::schemaTranslate(const Quantity& quant, double& factor, QStr
unitString = QString::fromLatin1("A/m");
factor = 1e-3;
}
else if (unit == Unit::ElectromagneticPotential) {
unitString = QString::fromLatin1("Wb/m");
factor = 1e3;
}
else if (unit == Unit::ElectricalConductance) {
if (UnitValue < 1e-9) {
unitString = QString::fromUtf8("\xC2\xB5S");

View File

@@ -347,6 +347,10 @@ QString UnitsSchemaMKS::schemaTranslate(const Quantity& quant, double& factor, Q
unitString = QString::fromLatin1("A/m");
factor = 1e-3;
}
else if (unit == Unit::ElectromagneticPotential) {
unitString = QString::fromLatin1("Wb/m");
factor = 1e3;
}
else if (unit == Unit::ElectricalConductance) {
if (UnitValue < 1e-9) {
unitString = QString::fromUtf8("\xC2\xB5S");