Flux Across a Plane Surface

Flux Across a Plane Surface
Loading the math board and drawing, please wait…
2016-04-13 12:58
This example demonstrates how to calculate the flux across a plane surface. Key mathematical concepts include vectors and coordinate geometry. Using GeoGebra commands such as CurveCartesian, PointIn, Vector, etc., a dynamic model of the plane surface is constructed, and the flux is calculated. Suitable for high school and above students to learn about flux in calculus.

GeoGebra Commands & Parameters

  1. CurveCartesian((2 * t) - 4, 0, 0, t, 0, 10) → Pathline
  2. Sphere(FluidPt_2, 1) → a_1
  3. PointIn(a_1) → S_4
  4. PointIn(a_1) → S_5
  5. PointIn(a_1) → S_2
  6. PointIn(a_1) → S_1
  7. PointIn(a_1) → S_6
  8. PointIn(a_1) → S_7
  9. PointIn(a_1) → S_3
  10. OrthogonalLine(A, xOyPlane) → i_1
  11. Rotate(B, (-angle), A) → B'
  12. Line(A, B') → b
  13. OrthogonalLine(B', b, xOyPlane) → d
  14. Point(d) → G_1
  15. Vector(B', G_1) → v_1
  16. Circle(A, 2, normalvectorplane) → s_1
  17. Intersect(xOyPlane, s_1) → J_1, K_1
  18. Line(K_1, J_1) → a_2
  19. OrthogonalLine(J_1, xOyPlane) → t_1
  20. OrthogonalLine(K_1, xOyPlane) → j_1
  21. Intersect(i_1, s_1) → H_1, I_1
  22. Line(I_1, a_2) → c_2
  23. Intersect(j_1, c_2) → Cuadro3
  24. Intersect(t_1, c_2) → Cuadro4
  25. Line(H_1, a_2) → b_2
  26. Intersect(b_2, t_1) → Cuadro2
  27. Intersect(b_2, j_1) → Cuadro1
  28. Polygon(Cuadro3, Cuadro4, Cuadro2, Cuadro1) → poly3, o_2, n_2, m_2, l_2
  29. OrthogonalPlane(B', d) → e
  30. OrthogonalPlane(FluidPt, yAxis) → m
  31. OrthogonalLine(FluidPt, xOyPlane) → l
  32. Point(l) → F
  33. OrthogonalLine(F, m) → r
  34. OrthogonalLine(FluidPt, xAxis, xOyPlane) → h
  35. Point(h) → E
  36. OrthogonalLine(E, xOyPlane) → q
  37. Intersect(r, q) → K
  38. Line(E, xAxis) → i
  39. Line(K, i) → Container3
  40. Intersect(Container3, e) → P
  41. Circle(FluidPt, E, xOyPlane) → k
  42. Intersect(h, k) → H, J
  43. OrthogonalLine(H, xOyPlane) → n
  44. Intersect(r, n) → L
  45. Line(H, xAxis) → j
  46. Line(L, j) → Container4
  47. Intersect(Container4, e) → O
  48. Circle(h, F) → p
  49. Intersect(l, p) → G, I
  50. Line(I, h) → s
  51. Intersect(s, q) → N
  52. Line(N, i) → Container2
  53. Intersect(Container2, e) → Q
  54. Intersect(s, n) → M
  55. Line(M, j) → Container1
  56. Intersect(Container1, e) → R
  57. Intersect(xAxis, yAxis) → Z
  58. Vector(D_1, Z) → u_1
  59. OrthogonalLine(A, xAxis, xOyPlane) → a
  60. Angle(B', A, B, xOyPlane) → α
  61. OrthogonalPlane(A, xAxis) → c
  62. Segment(A, B') → g
  63. Point(h) → D
  64. Polygon(L, K, N, M) → poly1, l_1, k_1, n_1, m_1
  65. Segment(O, P) → d_1
  66. Segment(P, Q) → e_1
  67. Segment(R, Q) → f_1
  68. Segment(R, O) → g_1
  69. PointIn(poly1) → T
  70. PointIn(poly1) → U
  71. PointIn(poly1) → V
  72. PointIn(poly1) → W
  73. Sequence(Sequence[Sequence[Vector[(j, k, l), (j + (scale * F_1(j, k, l)), k + (scale * F_2(j, k, l)), l + (scale * F_3(j, k, l)))], j, (-extent) - 2, extent + 2, step], k, (-extent), extent, step], l, (-extent), extent, step) → VField, {{{(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}, {(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}, {(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}, {(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}}, {{(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}, {(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}, {(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}, {(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}}, {{(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}, {(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}, {(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}, {(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}}, {{(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}, {(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}, {(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}, {(1, 0, 0), (1, 0, 0), (1, 0, 0), (1, 0, 0), (0.9999999999999998, 0, 0), (1, 0, 0), (1, 0, 0)}}}
  74. Point(xAxis) → A_1
  75. Vector(A_1, Z) → v
  76. Intersect(yAxis, xAxis) → C_1
  77. Vector(B_1, Z) → w
  78. Vector(S, E_1) → u
  79. Element(list2, faces) → Selectedvector
  80. Line(S, E_1) → direction1
  81. Area(poly3) → AreaNet
  82. Sequence(Segment[Cuadro1 + (i * (Cuadro3 - Cuadro1) / net), Cuadro2 + (i * (Cuadro4 - Cuadro2) / net)], i, 0, net) → neth
  83. Sequence(Segment[Cuadro1 + (i * (Cuadro2 - Cuadro1) / net), Cuadro3 + (i * (Cuadro4 - Cuadro3) / net)], i, 0, net) → netv
  84. If(-4 ≤ x(FluidPt) ≤ 1, 0, Flux) → Fluxcondition
  85. Point(VField) → C
  86. Point(Container4) → O_1
  87. Prism(poly1, O_1) → t, L_1, edge1, edge3, edge4, edge5, edge7, edge8, edge6, M_1, N_1, face1, face2, face4, face3, face5, edge2
  88. Sequence(Vector[Element[motionvectors, i], (x(Element[motionvectors, i]) + (scale * F_1(x(Element[motionvectors, i]), y(Element[motionvectors, i]), z(Element[motionvectors, i]))), y(Element[motionvectors, i]) + (scale * F_2(x(Element[motionvectors, i]), y(Element[motionvectors, i]), z(Element[motionvectors, i]))), z(Element[motionvectors, i]) + (scale * F_3(x(Element[motionvectors, i]), y(Element[motionvectors, i]), z(Element[motionvectors, i]))))], i, 1, 8) → vectorParticles