Flux and Circulation: Circle & Square

Flux and Circulation: Circle & Square
Loading the math board and drawing, please wait…
2016-05-09 13:17
This example demonstrates the concepts of flux and circulation on a circle and a square. Key mathematical concepts include vectors, derivatives, and integrals. Using GeoGebra commands such as CurveCartesian, Circle, Derivative, and Sum, dynamic geometric figures are constructed to illustrate the changes in flux and circulation. Suitable for high school math education and students learning calculus.

GeoGebra Commands & Parameters

  1. CurveCartesian((Radius * cos(((2 * π) * t))) + x(Drag), (Radius * sin(((2 * π) * t))) + y(Drag), t, 0, 1) → path_c
  2. Sequence(Sequence[Vector[(j, k), (j + (scale * F_1(j, k)), k + (scale * F_2(j, k)))], j, xmin, xmax, xstep], k, ymin, ymax, ystep) → vField
  3. Line(I, xAxis) → f
  4. Line(J, xAxis) → g
  5. Line(K, xAxis) → h
  6. Sequence(Segment[Rotate[curlPt - (0.2, 0), k + curlAngle, curlPt], Rotate[curlPt + (0.2, 0), k + curlAngle, curlPt]], k, 0, 2.0944, 1.0472) → spokes
  7. Circle(divPt, 0.2) → divGlowCircle
  8. CurveCartesian((t * x(Drag)) + ((1 - t) * x(Drag)), (t * (y(Drag) + Side)) + ((1 - t) * y(Drag)), t, 0, 1) → path_{s1}
  9. CurveCartesian((t * (x(Drag) - Side)) + ((1 - t) * x(Drag)), (t * (y(Drag) + Side)) + ((1 - t) * (y(Drag) + Side)), t, 0, 1) → path_{s2}
  10. CurveCartesian((t * (x(Drag) - Side)) + ((1 - t) * (x(Drag) - Side)), (t * y(Drag)) + ((1 - t) * (y(Drag) + Side)), t, 0, 1) → path_{s3}
  11. CurveCartesian((t * x(Drag)) + ((1 - t) * (x(Drag) - Side)), (t * y(Drag)) + ((1 - t) * y(Drag)), t, 0, 1) → path_{s4}
  12. Derivative(path_{s1}) → Dpath_{s1}
  13. Derivative(path_{s2}) → Dpath_{s2}
  14. Derivative(path_{s3}) → Dpath_{s3}
  15. Derivative(path_{s4}) → Dpath_{s4}
  16. Sum(Sequence[(((F_1(x(path_{s1}(i + dS / 2)), y(path_{s1}(i + dS / 2))), F_2(x(path_{s1}(i + dS / 2)), y(path_{s1}(i + dS / 2)))) * (y(Dpath_{s1}(i + dS / 2)), (-x(Dpath_{s1}(i + dS / 2))))) * dS), i, 0, 1 - dS, dS]) → Flux_{s1}
  17. Sum(Sequence[(((F_1(x(path_{s2}(i + dS / 2)), y(path_{s2}(i + dS / 2))), F_2(x(path_{s2}(i + dS / 2)), y(path_{s2}(i + dS / 2)))) * (y(Dpath_{s2}(i + dS / 2)), (-x(Dpath_{s2}(i + dS / 2))))) * dS), i, 0, 1 - dS, dS]) → Flux_{s2}
  18. Sum(Sequence[(((F_1(x(path_{s3}(i + dS / 2)), y(path_{s3}(i + dS / 2))), F_2(x(path_{s3}(i + dS / 2)), y(path_{s3}(i + dS / 2)))) * (y(Dpath_{s3}(i + dS / 2)), (-x(Dpath_{s3}(i + dS / 2))))) * dS), i, 0, 1 - dS, dS]) → Flux_{s3}
  19. Sum(Sequence[(((F_1(x(path_{s4}(i + dS / 2)), y(path_{s4}(i + dS / 2))), F_2(x(path_{s4}(i + dS / 2)), y(path_{s4}(i + dS / 2)))) * (y(Dpath_{s4}(i + dS / 2)), (-x(Dpath_{s4}(i + dS / 2))))) * dS), i, 0, 1 - dS, dS]) → Flux_{s4}
  20. Sum(list1, (s * 4)) → TT
  21. Sum(Sequence[((path_{s1}(i + dS) - path_{s1}(i)) * (F_1(x(path_{s1}(i + dS / 2)), y(path_{s1}(i + dS / 2))), F_2(x(path_{s1}(i + dS / 2)), y(path_{s1}(i + dS / 2))))), i, 0, s - dS, dS]) → Circ_1
  22. Sum(Sequence[((path_{s2}(i + dS) - path_{s2}(i)) * (F_1(x(path_{s2}(i + dS / 2)), y(path_{s2}(i + dS / 2))), F_2(x(path_{s2}(i + dS / 2)), y(path_{s2}(i + dS / 2))))), i, 0, s - dS, dS]) → Circ_2
  23. Sum(Sequence[((path_{s3}(i + dS) - path_{s3}(i)) * (F_1(x(path_{s3}(i + dS / 2)), y(path_{s3}(i + dS / 2))), F_2(x(path_{s3}(i + dS / 2)), y(path_{s3}(i + dS / 2))))), i, 0, s - dS, dS]) → Circ_3
  24. Sum(Sequence[((path_{s4}(i + dS) - path_{s4}(i)) * (F_1(x(path_{s4}(i + dS / 2)), y(path_{s4}(i + dS / 2))), F_2(x(path_{s4}(i + dS / 2)), y(path_{s4}(i + dS / 2))))), i, 0, s - dS, dS]) → Circ_4
  25. Sum(list2, (4 * s)) → TT_2
  26. Segment(path_{s1}(0.5), path_{s1}(0.5 + 0.01)) → arrw01
  27. Segment(path_{s2}(0.5), path_{s2}(0.5 + 0.01)) → arrw02
  28. Segment(path_{s3}(0.5), path_{s3}(0.5 + 0.01)) → arrw03
  29. Segment(path_{s4}(0.5), path_{s4}(0.5 + 0.01)) → arrw04
  30. Distance(Drag, (0, 0)) → cond
  31. Polygon(Drag, M, 4) → poly1, i, j, k, l, N, O
  32. Sum(Sequence[((path_c(i + dS) - path_c(i)) * (F_1(x(path_c(i + dS / 2)), y(path_c(i + dS / 2))), F_2(x(path_c(i + dS / 2)), y(path_c(i + dS / 2))))), i, 0, s2 - dS, dS]) → Circ
  33. Derivative(path_c) → Dpath_c
  34. Sum(Sequence[(((F_1(x(path_c(i + dS / 2)), y(path_c(i + dS / 2))), F_2(x(path_c(i + dS / 2)), y(path_c(i + dS / 2)))) * (y(Dpath_c(i + dS / 2)), (-x(Dpath_c(i + dS / 2))))) * dS), i, 0, s2 - dS, dS]) → Flux
  35. Segment(path_c(0.3), path_c(0.3 + 0.01)) → arrow01
  36. Segment(path_c(0.6), path_c(0.6 + 0.01)) → arrow02
  37. CurveCartesian((Radius * cos(((2 * π) * t))) + x(Drag), (Radius * sin(((2 * π) * t))) + y(Drag), t, 0, s2) → partPath_c

AI Drawing Prompt Reference

Draw a circle centered at the draggable point and a square with sides parallel to the x-axis. Add a vector field on the circle to show the direction and strength of the flow. Calculate and draw circulation and flux on the circle and square boundaries, using arrows to indicate.
The prompt above was compiled from the original drawing commands and is for reference only.