/// <summary> /// Beräknare flödet genom värmeväxlaren /// </summary> public override void dynamik() { //anger det gamla flow-värdet till strängen old_flow this.old_str_flow = this.flow.ToString("0.0"); //hämtar trycket från noderna double inNodPressure, outNodPressure; inNodPressure = this.input.getPressure(); outNodPressure = this.output.getPressure(); double calc = 0; if (inNodPressure >= outNodPressure) { calc = this.admittans * ventPos * (Math.Sqrt(inNodPressure - outNodPressure)); this.flow = calc; } else { calc = (-1 * this.admittans) * ventPos * (Math.Sqrt(outNodPressure - inNodPressure)); this.flow = calc; } //skickar flödet till in-noden input.add_summaflode(-flow); //skickar flödet till ut-noden output.add_summaflode(flow); }
/// <summary> /// Beräknar flödet /// </summary> public override void dynamik() { this.old_str_flow = this.flow.ToString("0.0"); //k begränsar flödet double k = input.getPressure(); if (k > 1.0) { k = 1.0; } double calc = 0; double inPressure, outPressure; inPressure = input.getPressure(); outPressure = output.getPressure(); if (inPressure >= outPressure) { calc = k * varv * a * (b + (Math.Sqrt(inPressure - outPressure))); } else { calc = k * varv * a * (b - (Math.Sqrt(outPressure - inPressure))); } this.flow = calc; //skickar flödet till in-noden input.add_summaflode(-flow); //skickar flödet till ut-noden output.add_summaflode(flow); }