Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- import numpy as np
- Q = []
- dP = []
- ro = 0.805 * 10**(-3) / 10**(-6)
- g = 9.81
- """
- """
- 1 tube
- dV = np.array([0.0005]*7)
- dT = np.array([11,12.3,13.2,16.2,20,27,36.5])
- print(np.round(dV/dT * 10**5, 2))
- Q
- #[4.55 4.07 3.79 3.09 2.5 1.85 1.37]
- #[4.55, 4.07, 3.79, 3.09, 2.5, 1.85, 1.37]
- dh = np.array([12, 10.7, 9.8, 8.2, 6.8, 5.2, 3.6])
- dh /= 100
- dP = ro * g * dh
- print(dP)
- #[947.646 844.98435 773.9109 647.5581 536.9994 410.6466 284.2938 ]
- #[947.646, 844.98435, 773.9109, 647.5581, 536.9994, 410.6466, 284.2938 ]
- """
- """
- 2 tube
- dV = np.array([0.0005]*7)
- dT = np.array([6.1, 5.7, 6.1, 6.2, 16.2, 6.6, 7.4])
- dT = np.round(dV/dT * 10**5, 2)
- dT[-3] = 8.06
- print(dT)
- #[8.2 8.77 8.2 8.06 8.06 7.58 6.76]
- dh = np.array([6, 5.9, 5.4, 4.7, 0, 4, 3.2])
- dh /= 100
- dP = ro * g * dh
- dP[-3] = 339.227
- print(np.round(dP, 2))
- #[473.82 465.93 426.44 371.16 339.23 315.88 252.71]
- """
- """
- 3 tube
- dV = np.array([0.001]*7)
- dT = np.array([10.8, 10.3, 10.5, 10.5, 10.5, 11.2, 11.1])
- print(np.round(dV/dT * 10**5, 2))
- #[9.26 9.71 9.52 9.52 9.52 8.93 9.01]
- dh = np.array([9.8, 10, 10, 9.6, 8.9, 8.5, 7.7])
- dh /= 100
- dP = ro * g * dh
- print(np.round(dP, 2))
- #[773.91 789.71 789.71 758.12 702.84 671.25 608.07]
- """
- import numpy as np
- from numbers import Real
- from visualize import visualize_lsm
- class ShapeMismatchError(BaseException):
- pass
- def get_lsm_coefficients(
- abscissa: np.ndarray,
- ordinates: np.ndarray,
- ) -> tuple[Real, Real]:
- x = abscissa
- y = ordinates
- if x.shape != y.shape:
- raise ShapeMismatchError()
- x_mean = np.mean(x)
- y_mean = np.mean(y)
- x_squared_mean = np.mean(x ** 2)
- xy_mean = np.mean(x * y)
- a = (xy_mean - x_mean * y_mean) / (x_squared_mean - x_mean ** 2)
- b = y_mean - a * x_mean
- return a, b
- #tube1
- #abscissa = np.array([4.55, 4.07, 3.79, 3.09, 2.5, 1.85, 1.37])
- #ordinates = np.array([947.646, 844.98435, 773.9109, 647.5581, 536.9994, 410.6466, 284.2938 ]) * 10**(-5)
- #incline = 202.1854583810828
- #tube2
- #abscissa = np.array([8.2, 8.77, 8.2, 8.06, 8.06, 7.58, 6.76])
- #ordinates = np.array([473.82, 465.93, 426.44, 371.16, 339.23, 315.88, 252.71]) * 10**(-5)
- #incline = 115.90762733277586
- #tube3
- #abscissa = np.array([9.26, 9.71, 9.52, 9.52, 9.52, 8.93, 9.01])
- #ordinates = np.array([773.91, 789.71, 789.71, 758.12, 702.84, 671.25, 608.07]) * 10**(-5)
- #incline = 182.1185812306331
- def draw(abscissa, ordinates):
- incline, shift = get_lsm_coefficients(abscissa, ordinates)
- print("incline", incline)
- visualize_lsm(
- abscissa=abscissa,
- ordinates_experiment=ordinates,
- ordinates_computed=incline * abscissa + shift,
- )
- #draw(abscissa, ordinates)
- """
- #tube1
- incline1 = 202.1854583810828
- incline1 = 0.0020218545838108196
- r1 = 10**(-4) * 1
- #l1 = 40 * 0.01
- l1 = 1
- nu1 = np.pi * r1**4 / (8 * l1) * incline1
- print("nu1", nu1)
- #nu1 1.984951095977171e-14
- #tube2
- #incline2 = 115.90762733277586
- incline2 = 0.001159076273327769
- r2 = 10**(-4) * 1.5
- l2 = 40 * 0.01
- nu2 = np.pi * r2**4 / (8 * l2) * incline2
- print("nu2", nu2)
- #tube3
- #incline3 = 182.1185812306331
- incline3 = 0.0018211858123059585
- r3 = 10**(-4) * 2
- l3 = 40 * 0.01
- nu3 = np.pi * r3**4 / (8 * l3) * incline3
- print("nu3", nu3)
- """
- r1 = 2*10**-3
- Q1 = np.array([4.5,4.0,3.8,3.1,2.5,1.9,1.4]) * 10**(-5)
- P1 = np.array([946.7,844.1,773.1,646.9,536.5,410.2,280.0])
- Q2 = np.array([8.2,8.8,8.2,8.0,8.0,7.6,6.8]) * 10**(-5)
- P2 = np.array([473.3,465.5,426.0,370.7,339.2,315.6,252.4])
- Q3 = np.array([9.3,9.7,9.5,9.5,9.5,8.9,8.9]) * 10**(-5)
- P3 = np.array([773.1,788.9,788.9,753.3,702.1,670.6,607.4])
- Q = np.mean(Q1)
- P = np.mean(P1)
- nu1 = np.pi*r1**4*P/(8*Q)
- print("nu1", nu1)
- r2 = 3*10**-3
- Q = np.mean(Q2)
- P = np.mean(P2)
- nu2 = np.pi*r2**4*P/(8*Q)
- print("nu2", nu2)
- r3 = 4*10**-3
- Q = np.mean(Q3)
- P = np.mean(P3)
- nu3 = np.pi*r3**4*P/(8*Q)
- print("nu3", nu3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement