-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathventurimeter.py
130 lines (113 loc) · 5.02 KB
/
venturimeter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
from manimlib.imports import *
class nice(Scene):
def construct(self):
l=Line([-5,2,0],[-2,2,0],color=YELLOW)
self.add(l)
l1=Line([-5,0,0],[-2,0,0],color=YELLOW)
self.add(l1)
l2=Line([-2,2,0],[-1,1.5,0],color=YELLOW)
self.add(l2)
l3=Line([-2,0,0],[-1,.5,0],color=YELLOW)
self.add(l3)
l4=Line([-1,1.5,0],[1,1.5,0],color=YELLOW)
self.add(l4)
l5=Line([-1,.5,0],[1,.5,0],color=YELLOW)
self.add(l5)
l6=Line([1,.5,0],[2,0,0],color=YELLOW)
self.add(l6)
l7=Line([1,1.5,0],[2,2,0],color=YELLOW)
self.add(l7)
l8=Line([2,2,0],[5,2,0],color=YELLOW)
self.add(l8)
l9=Line([2,0,0],[5,0,0],color=YELLOW)
self.add(l9)
l10=Line([-1,.5,0],[-1,1.5,0],color=YELLOW)
self.add(l10)
l11=Line([1,.5,0],[1,1.5,0],color=YELLOW)
self.add(l11)
l12=Line([-2.5,0,0],[-2.5,-1,0],color=YELLOW)
self.add(l12)
l13=Line([-.5,.5,0],[-.5,-1,0],color=YELLOW)
self.add(l13)
l14=Line([-2.6,0,0],[-2.6,-1,0],color=YELLOW)
self.add(l14)
l15=Line([-.4,.5,0],[-.4,-1,0],color=YELLOW)
self.add(l15)
c1=Arc(angle=-PI,color=YELLOW).shift(DOWN).shift(1.5 * LEFT)
self.add(c1)
c2=Arc(radius=1.1,angle=-PI,color=YELLOW).shift(DOWN).shift(1.5*LEFT)
self.add(c2)
l16=Line([-2,2,0],[-2,0,0],color=YELLOW)
self.add(l16)
l17=Line([2,2,0],[2,0,0],color=YELLOW)
self.add(l17)
vm=VGroup(l,l1,l2,l3,l4,l5,l6,l7,l8,l9,l10,l11,l12,l13,l14,l15,l16,l17,c1,c2)
self.add(vm.shift(UL))
animations=[FadeInFromDown(vm)]
self.play(AnimationGroup(*animations,lag_ratio=.5))
self.wait(2)
a1=Arrow(start=LEFT,end=RIGHT,color=BLUE).shift(6.5*LEFT).shift(2*UP)
anime=[FadeInFromPoint(a1,[-6.5,2,0])]
self.play(AnimationGroup(*anime,lag_ratio=.4))
arrowwriting1=TextMobject("Fluid Entry",color=BLUE,slant=ITALIC).shift(6*LEFT).shift(1.5 *UP).scale(.5)
self.play(Write(arrowwriting1))
self.wait()
a2=Arrow(start=LEFT,end=RIGHT,color=BLUE).shift(3.5* RIGHT).shift(2*UP)
anime2=[FadeInFromPoint(a2,[3.5,2,0])]
self.play(AnimationGroup(*anime2,lag_ratio=.4))
arrowwriting2=TextMobject("Fluid Exit",color=BLUE,slant=ITALIC).shift(3.5*RIGHT).shift(1.5 *UP).scale(.5)
self.play(Write(arrowwriting2))
self.wait(3)
dl=DashedLine([-3.8,0,0],[-.5,0,0])
self.add(dl)
dl2=DashedLine([-1.7,.5,0],[-.5,.5,0])
self.add(dl2)
self.wait(3)
distance=Line([-.5,0,0],[-.5,.5,0])
b=Brace(distance,buff=.1)
t=b.get_text("Head").next_to(b).scale(.7)
self.add(b)
self.play(Write(t))
self.wait(3)
venturimeter=Group(vm,a1,a2,dl,dl2,b,t,arrowwriting1,arrowwriting2)
anim=[FadeToColor(venturimeter.set_color(),PINK)]
self.play(AnimationGroup(*anim,lag_ratio=.5))
self.wait(3)
self.add(venturimeter.shift(LEFT).scale(.7))
self.wait(3)
writing=TextMobject("Applying Bernoulli's Equation,").shift(3*RIGHT).scale(.8)
self.play(Write(writing))
writings=TexMobject("\\frac {P_1}{\\rho g} +\\frac{v_1^2}{2g}+z_1 =\\frac{P_2}{\\rho g} +\\frac{v_2^2}{2g}+ z_2 ").shift(2*RIGHT).shift(DOWN).scale(.8)
self.play(Write(writings))
self.wait(3)
h=TexMobject("Here, z_1 =z_2 ").shift(3*RIGHT).shift(2*DOWN).scale(.8)
self.play(Write(h))
i=TexMobject("So, \\frac {P_1}{\\rho g} +\\frac{v_1^2}{2g}=\\frac{P_2}{\\rho g} +\\frac{v_2^2}{2g}").shift(2*RIGHT).shift(3*DOWN).scale(.8)
self.play(Write(i))
self.wait(2)
self.play(FadeOut(writing))
self.play(FadeOut(writings))
self.play(FadeOut(h))
self.add(i.shift(3*UP))
self.wait(3)
a=TexMobject("\\frac{P_1-P_2}{\\rho g} =\\frac{v_2^2 - v_1^2}{2g}=h(say)").shift(2*RIGHT).shift(1.5*DOWN).scale(.7)
self.play(Write(a))
self.wait(3)
b=TexMobject("P_1-P_2=\\delta P=\\rho gh").shift(2*RIGHT).shift(2.5*DOWN).scale(.7)
self.play(Write(b))
c=TexMobject("v_1=\\frac{A_2 v_2}{A_1} (from\\ continuity\\ equation)").shift(2*RIGHT).shift(3.5*DOWN).scale(.7)
self.play(Write(c))
self.wait(3)
self.play(FadeOut(i))
self.play(FadeOut(a))
self.play(FadeOut(b))
self.play(FadeOut(c))
d=TexMobject("Substituiting, \\frac{v_2^2-(\\frac{A_2 v_2}{A_1})^2}{2g}=h").shift(3*RIGHT)
self.play(Write(d))
self.wait(3)
e=TexMobject("\\frac{A_1 v_2^2 - A_2 v_1^2}{2g A_1^2}=h").shift(2*RIGHT).shift(DOWN)
self.play(Write(e))
self.wait()
f=TexMobject("v_2^2=2gh \\times \\frac{A_1^2}{A_1^2-A_2^2}").shift(2*RIGHT).shift(2*DOWN)
self.play(Transform(e,f))
self.wait(5)