Leider habe ich bis jetzt anderem beschaftigt. Ich google mal Byref oder Array .Ich gehe davon aus dass ich gerade VBA lerne... Falls jemand lust hat (Sehr dankbar) könnten mein code anzuschauen (Blödsinn formatierung) um mit diese multiple Ergebnisse zu kriegen.. Momentan bin ich bei Newtons numerical method um gleiche Iteration zu machen.
Vielen Dank im Voraus.
Function ISA_1932_RohrID_mm_gegeben_Qm_Beta_DP_P1_T1(Qm_kg_s As Double, Beta As Double, DP_Pa As Double, P1_barA As Double, T1_C As Double, T°C As Double) As Double
Dim Kd, Meu1, Kappa, Rho_1, Tow, A, B, C, D, Exp_E, RE_D As Double, C_Ite, RohrID_Tc, Drossel_Tc As Double, An As Double, Returnvalue()
Kd = Coeff_Exp_upto_5_2(T°C)
Meu1 = H2O_eta_PT(P1_barA, T1_C) * 0.000001 ' Pas or kg/ms
Kappa = H2o_kappa_pt(P1_barA, T1_C)
Rho_1 = H2o_rho_PT(P1_barA, T1_C)
Tow = (P1_barA - DP_Pa * 0.00001) / P1_barA
'Hilfsfunction for Expansionfaktor.
A = (Kappa * Tow ^ (2 / Kappa)) / (Kappa - 1)
B = (1 - Beta ^ 4) / (1 - Beta ^ 4 * Tow ^ (2 / Kappa))
D = (1 - Tow ^ ((Kappa - 1) / Kappa)) / (1 - Tow)
Exp_E = (A * B * D) ^ 0.5
'.... Invariant
An = Qm_kg_s * (1 - Beta ^ 4) ^ 0.5 * (4 / 3.1414) * (1 / Exp_E) * (2 * DP_Pa * Rho_1) ^ -0.5
C_Ite = 1 '..First guess
Iteration:
Drossel_Tc = (An / C_Ite) ^ 0.5
RohrID_Tc = Drossel_Tc / Beta
RE_D = 4 * Qm_kg_s / (3.14 * Meu1 * RohrID_Tc)
C = ISA_1932_Durchflusscoeff(Beta, RE_D)
If Abs(C - C_Ite) / C < 0.00001 Then
ISA_1932_RohrID_mm_gegeben_Qm_Beta_DP_P1_T1 = RohrID_Tc / (0.001 * (((T1_C - 20) * (Kd * 0.000001)) + 1)) '..... in mm
'Returnvalue(1, 1) = C
Else
C_Ite = C
GoTo Iteration
End If
End Function
|