#include "precharge.h" #include "QDebug" Precharge::Precharge() : maximumVoltage(0), preChargeTime(0), preChargePercentage(100), chosenResistance(0), systemCapacitance(0) { } void Precharge::setMaximumVoltage(double voltage) { maximumVoltage = voltage; } void Precharge::setPreChargeTime(double time) { preChargeTime = time; } void Precharge::setPreChargePercentage(double percentage) { preChargePercentage = percentage; } void Precharge::setSystemCapacitance(float capacitance) { systemCapacitance = capacitance*std::pow(10,-6); //uF qDebug() << systemCapacitance; } void Precharge::setChosenResistance(double resistance) { chosenResistance = resistance; } void Precharge::calculate() { emit calculation(); } double Precharge::maximumResistance(void) { return preChargeTime/(-std::log(1-(preChargePercentage*0.01))*systemCapacitance); } double Precharge::actualPreChargeTime(void) { return (-std::log(1-(preChargePercentage*0.01)))*chosenResistance*systemCapacitance; } double Precharge::peakInRushCurrent(void) { return maximumVoltage/chosenResistance; } double Precharge::averagePower(void) { return (((systemCapacitance*std::pow(maximumVoltage,2))/2)*(1-exp((-2*actualPreChargeTime())/(chosenResistance*systemCapacitance))))/actualPreChargeTime(); }