# No. 461 (Brown 1868): Pendulums or swinging gutters for raising water by their pendulous motions. Terminations at bottom are scoops, and at top open pipes; intermediate angles are formed with boxes (and flap valve), each connected with two branches of pipe.
# Model (cm, gravity on, Brown's view from in front, the boxes' and gutters' near sides cut away). The gutters are one frame
# rocked on a pivot in the water 0.42 rad either way at 0.3 Hz (the only drive). Seven boxes stand alternately right and left, each
# joined to the next above by a gutter sloping 15 deg up across the frame, and the top box by an open pipe; the lowest box is the
# scoop. Each box's water is a tank the frame carries (its weight on the frame where it is). While the frame is tipped past a gutter's
# slope, that gutter falls toward the next box and the box below empties into it; a flap at each mouth stops it back. Tipped the other
# way the other gutters run, so each stroke carries every box's water one stage up, the scoop filling from the pond as it dips, and the
# top pipe pours into the trough on the bank, which runs off over its edge.
# Generator: opencode-runs/water/gen461.py.
number: 461
slug: pendulums-swinging-gutters
name: "Pendulums or swinging gutters"
brown: "Pendulums or swinging gutters for raising water by their pendulous motions. Terminations at bottom are scoops, and at top open pipes; intermediate angles are formed with boxes (and flap valve), each connected with two branches of pipe."
units: cm
sim:
  timestep: 0.0001
  integrator: implicitfast
  iterations: 60
  duration_s: 16
  floor: false
bodies:
  - id: gutters
    shape: part
    pos: [0, 0, -5]
    mass: 0.4
    color: "#a8875a"
    pieces:
      - {kind: loft, a: [[7.2, 3.3, -4.2], [4.8, 3.3, -4.2], [4.8, 3.3, -4.5], [7.2, 3.3, -4.5]], b: [[7.2, -0.3, -4.2], [4.8, -0.3, -4.2], [4.8, -0.3, -4.5], [7.2, -0.3, -4.5]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, -1.8], [7.2, 3.3, -1.8], [7.2, 3.3, -1.5], [4.8, 3.3, -1.5]], b: [[4.8, -0.3, -1.8], [7.2, -0.3, -1.8], [7.2, -0.3, -1.5], [4.8, -0.3, -1.5]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, -4.2], [7.2, 3.3, -4.2], [7.2, 3.3, -1.8], [4.8, 3.3, -1.8]], b: [[4.8, 3, -4.2], [7.2, 3, -4.2], [7.2, 3, -1.8], [4.8, 3, -1.8]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[-4.8, 3.3, -0.9846], [-7.2, 3.3, -0.9846], [-7.2, 3.3, -1.2846], [-4.8, 3.3, -1.2846]], b: [[-4.8, -0.3, -0.9846], [-7.2, -0.3, -0.9846], [-7.2, -0.3, -1.2846], [-4.8, -0.3, -1.2846]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[-7.2, 3.3, 1.4154], [-4.8, 3.3, 1.4154], [-4.8, 3.3, 1.7154], [-7.2, 3.3, 1.7154]], b: [[-7.2, -0.3, 1.4154], [-4.8, -0.3, 1.4154], [-4.8, -0.3, 1.7154], [-7.2, -0.3, 1.7154]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[-7.2, 3.3, -1.2846], [-7.2, 3.3, 1.4154], [-7.5, 3.3, 1.4154], [-7.5, 3.3, -1.2846]], b: [[-7.2, -0.3, -1.2846], [-7.2, -0.3, 1.4154], [-7.5, -0.3, 1.4154], [-7.5, -0.3, -1.2846]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[-7.2, 3.3, -0.9846], [-4.8, 3.3, -0.9846], [-4.8, 3.3, 1.4154], [-7.2, 3.3, 1.4154]], b: [[-7.2, 3, -0.9846], [-4.8, 3, -0.9846], [-4.8, 3, 1.4154], [-7.2, 3, 1.4154]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[7.2, 3.3, 2.2308], [4.8, 3.3, 2.2308], [4.8, 3.3, 1.9308], [7.2, 3.3, 1.9308]], b: [[7.2, -0.3, 2.2308], [4.8, -0.3, 2.2308], [4.8, -0.3, 1.9308], [7.2, -0.3, 1.9308]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, 4.6308], [7.2, 3.3, 4.6308], [7.2, 3.3, 4.9308], [4.8, 3.3, 4.9308]], b: [[4.8, -0.3, 4.6308], [7.2, -0.3, 4.6308], [7.2, -0.3, 4.9308], [4.8, -0.3, 4.9308]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[7.2, 3.3, 4.6308], [7.2, 3.3, 1.9308], [7.5, 3.3, 1.9308], [7.5, 3.3, 4.6308]], b: [[7.2, -0.3, 4.6308], [7.2, -0.3, 1.9308], [7.5, -0.3, 1.9308], [7.5, -0.3, 4.6308]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, 2.2308], [7.2, 3.3, 2.2308], [7.2, 3.3, 4.6308], [4.8, 3.3, 4.6308]], b: [[4.8, 3, 2.2308], [7.2, 3, 2.2308], [7.2, 3, 4.6308], [4.8, 3, 4.6308]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[-4.8, 3.3, 5.4462], [-7.2, 3.3, 5.4462], [-7.2, 3.3, 5.1462], [-4.8, 3.3, 5.1462]], b: [[-4.8, -0.3, 5.4462], [-7.2, -0.3, 5.4462], [-7.2, -0.3, 5.1462], [-4.8, -0.3, 5.1462]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[-7.2, 3.3, 7.8462], [-4.8, 3.3, 7.8462], [-4.8, 3.3, 8.1462], [-7.2, 3.3, 8.1462]], b: [[-7.2, -0.3, 7.8462], [-4.8, -0.3, 7.8462], [-4.8, -0.3, 8.1462], [-7.2, -0.3, 8.1462]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[-7.2, 3.3, 5.1462], [-7.2, 3.3, 7.8462], [-7.5, 3.3, 7.8462], [-7.5, 3.3, 5.1462]], b: [[-7.2, -0.3, 5.1462], [-7.2, -0.3, 7.8462], [-7.5, -0.3, 7.8462], [-7.5, -0.3, 5.1462]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[-7.2, 3.3, 5.4462], [-4.8, 3.3, 5.4462], [-4.8, 3.3, 7.8462], [-7.2, 3.3, 7.8462]], b: [[-7.2, 3, 5.4462], [-4.8, 3, 5.4462], [-4.8, 3, 7.8462], [-7.2, 3, 7.8462]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[7.2, 3.3, 8.6616], [4.8, 3.3, 8.6616], [4.8, 3.3, 8.3616], [7.2, 3.3, 8.3616]], b: [[7.2, -0.3, 8.6616], [4.8, -0.3, 8.6616], [4.8, -0.3, 8.3616], [7.2, -0.3, 8.3616]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, 11.0616], [7.2, 3.3, 11.0616], [7.2, 3.3, 11.3616], [4.8, 3.3, 11.3616]], b: [[4.8, -0.3, 11.0616], [7.2, -0.3, 11.0616], [7.2, -0.3, 11.3616], [4.8, -0.3, 11.3616]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[7.2, 3.3, 11.0616], [7.2, 3.3, 8.3616], [7.5, 3.3, 8.3616], [7.5, 3.3, 11.0616]], b: [[7.2, -0.3, 11.0616], [7.2, -0.3, 8.3616], [7.5, -0.3, 8.3616], [7.5, -0.3, 11.0616]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, 8.6616], [7.2, 3.3, 8.6616], [7.2, 3.3, 11.0616], [4.8, 3.3, 11.0616]], b: [[4.8, 3, 8.6616], [7.2, 3, 8.6616], [7.2, 3, 11.0616], [4.8, 3, 11.0616]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[-4.8, 3.3, 11.877], [-7.2, 3.3, 11.877], [-7.2, 3.3, 11.577], [-4.8, 3.3, 11.577]], b: [[-4.8, -0.3, 11.877], [-7.2, -0.3, 11.877], [-7.2, -0.3, 11.577], [-4.8, -0.3, 11.577]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[-7.2, 3.3, 14.277], [-4.8, 3.3, 14.277], [-4.8, 3.3, 14.577], [-7.2, 3.3, 14.577]], b: [[-7.2, -0.3, 14.277], [-4.8, -0.3, 14.277], [-4.8, -0.3, 14.577], [-7.2, -0.3, 14.577]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[-7.2, 3.3, 11.577], [-7.2, 3.3, 14.277], [-7.5, 3.3, 14.277], [-7.5, 3.3, 11.577]], b: [[-7.2, -0.3, 11.577], [-7.2, -0.3, 14.277], [-7.5, -0.3, 14.277], [-7.5, -0.3, 11.577]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[-7.2, 3.3, 11.877], [-4.8, 3.3, 11.877], [-4.8, 3.3, 14.277], [-7.2, 3.3, 14.277]], b: [[-7.2, 3, 11.877], [-4.8, 3, 11.877], [-4.8, 3, 14.277], [-7.2, 3, 14.277]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[7.2, 3.3, 15.0923], [4.8, 3.3, 15.0923], [4.8, 3.3, 14.7923], [7.2, 3.3, 14.7923]], b: [[7.2, -0.3, 15.0923], [4.8, -0.3, 15.0923], [4.8, -0.3, 14.7923], [7.2, -0.3, 14.7923]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, 17.4923], [7.2, 3.3, 17.4923], [7.2, 3.3, 17.7923], [4.8, 3.3, 17.7923]], b: [[4.8, -0.3, 17.4923], [7.2, -0.3, 17.4923], [7.2, -0.3, 17.7923], [4.8, -0.3, 17.7923]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[7.2, 3.3, 17.4923], [7.2, 3.3, 14.7923], [7.5, 3.3, 14.7923], [7.5, 3.3, 17.4923]], b: [[7.2, -0.3, 17.4923], [7.2, -0.3, 14.7923], [7.5, -0.3, 14.7923], [7.5, -0.3, 17.4923]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, 15.0923], [7.2, 3.3, 15.0923], [7.2, 3.3, 17.4923], [4.8, 3.3, 17.4923]], b: [[4.8, 3, 15.0923], [7.2, 3, 15.0923], [7.2, 3, 17.4923], [4.8, 3, 17.4923]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, -2.4], [-4.8, 3.3, -0.3846], [-4.8514, 3.3, -0.6293], [4.7486, 3.3, -2.6447]], b: [[4.8, -0.3, -2.4], [-4.8, -0.3, -0.3846], [-4.8514, -0.3, -0.6293], [4.7486, -0.3, -2.6447]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[4.8, 3.3, -1.5], [-4.8, 3.3, 0.5154], [-4.7486, 3.3, 0.7601], [4.8514, 3.3, -1.2553]], b: [[4.8, -0.3, -1.5], [-4.8, -0.3, 0.5154], [-4.7486, -0.3, 0.7601], [4.8514, -0.3, -1.2553]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[4.8, 3.25, -2.4], [-4.8, 3.25, -0.3846], [-4.8, 3.25, 0.5154], [4.8, 3.25, -1.5]], b: [[4.8, 3, -2.4], [-4.8, 3, -0.3846], [-4.8, 3, 0.5154], [4.8, 3, -1.5]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, 2.8308], [-4.8, 3.3, 0.8154], [-4.7486, 3.3, 0.5707], [4.8514, 3.3, 2.5861]], b: [[4.8, -0.3, 2.8308], [-4.8, -0.3, 0.8154], [-4.7486, -0.3, 0.5707], [4.8514, -0.3, 2.5861]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[4.8, 3.3, 3.7308], [-4.8, 3.3, 1.7154], [-4.8514, 3.3, 1.9601], [4.7486, 3.3, 3.9754]], b: [[4.8, -0.3, 3.7308], [-4.8, -0.3, 1.7154], [-4.8514, -0.3, 1.9601], [4.7486, -0.3, 3.9754]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[-4.8, 3.25, 0.8154], [4.8, 3.25, 2.8308], [4.8, 3.25, 3.7308], [-4.8, 3.25, 1.7154]], b: [[-4.8, 3, 0.8154], [4.8, 3, 2.8308], [4.8, 3, 3.7308], [-4.8, 3, 1.7154]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, 4.0308], [-4.8, 3.3, 6.0462], [-4.8514, 3.3, 5.8015], [4.7486, 3.3, 3.7861]], b: [[4.8, -0.3, 4.0308], [-4.8, -0.3, 6.0462], [-4.8514, -0.3, 5.8015], [4.7486, -0.3, 3.7861]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[4.8, 3.3, 4.9308], [-4.8, 3.3, 6.9462], [-4.7486, 3.3, 7.1908], [4.8514, 3.3, 5.1754]], b: [[4.8, -0.3, 4.9308], [-4.8, -0.3, 6.9462], [-4.7486, -0.3, 7.1908], [4.8514, -0.3, 5.1754]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[4.8, 3.25, 4.0308], [-4.8, 3.25, 6.0462], [-4.8, 3.25, 6.9462], [4.8, 3.25, 4.9308]], b: [[4.8, 3, 4.0308], [-4.8, 3, 6.0462], [-4.8, 3, 6.9462], [4.8, 3, 4.9308]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, 9.2616], [-4.8, 3.3, 7.2462], [-4.7486, 3.3, 7.0015], [4.8514, 3.3, 9.0169]], b: [[4.8, -0.3, 9.2616], [-4.8, -0.3, 7.2462], [-4.7486, -0.3, 7.0015], [4.8514, -0.3, 9.0169]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[4.8, 3.3, 10.1616], [-4.8, 3.3, 8.1462], [-4.8514, 3.3, 8.3908], [4.7486, 3.3, 10.4062]], b: [[4.8, -0.3, 10.1616], [-4.8, -0.3, 8.1462], [-4.8514, -0.3, 8.3908], [4.7486, -0.3, 10.4062]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[-4.8, 3.25, 7.2462], [4.8, 3.25, 9.2616], [4.8, 3.25, 10.1616], [-4.8, 3.25, 8.1462]], b: [[-4.8, 3, 7.2462], [4.8, 3, 9.2616], [4.8, 3, 10.1616], [-4.8, 3, 8.1462]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, 10.4616], [-4.8, 3.3, 12.477], [-4.8514, 3.3, 12.2323], [4.7486, 3.3, 10.2169]], b: [[4.8, -0.3, 10.4616], [-4.8, -0.3, 12.477], [-4.8514, -0.3, 12.2323], [4.7486, -0.3, 10.2169]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[4.8, 3.3, 11.3616], [-4.8, 3.3, 13.377], [-4.7486, 3.3, 13.6216], [4.8514, 3.3, 11.6062]], b: [[4.8, -0.3, 11.3616], [-4.8, -0.3, 13.377], [-4.7486, -0.3, 13.6216], [4.8514, -0.3, 11.6062]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[4.8, 3.25, 10.4616], [-4.8, 3.25, 12.477], [-4.8, 3.25, 13.377], [4.8, 3.25, 11.3616]], b: [[4.8, 3, 10.4616], [-4.8, 3, 12.477], [-4.8, 3, 13.377], [4.8, 3, 11.3616]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, 15.6923], [-4.8, 3.3, 13.677], [-4.7486, 3.3, 13.4323], [4.8514, 3.3, 15.4477]], b: [[4.8, -0.3, 15.6923], [-4.8, -0.3, 13.677], [-4.7486, -0.3, 13.4323], [4.8514, -0.3, 15.4477]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[4.8, 3.3, 16.5923], [-4.8, 3.3, 14.577], [-4.8514, 3.3, 14.8216], [4.7486, 3.3, 16.837]], b: [[4.8, -0.3, 16.5923], [-4.8, -0.3, 14.577], [-4.8514, -0.3, 14.8216], [4.7486, -0.3, 16.837]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[-4.8, 3.25, 13.677], [4.8, 3.25, 15.6923], [4.8, 3.25, 16.5923], [-4.8, 3.25, 14.577]], b: [[-4.8, 3, 13.677], [4.8, 3, 15.6923], [4.8, 3, 16.5923], [-4.8, 3, 14.577]], collide: 0, color: "#8c7350"}
      - {kind: loft, a: [[4.8, 3.3, 16.8923], [-9.5, 3.3, 20.724], [-9.5647, 3.3, 20.4825], [4.7353, 3.3, 16.6509]], b: [[4.8, -0.3, 16.8923], [-9.5, -0.3, 20.724], [-9.5647, -0.3, 20.4825], [4.7353, -0.3, 16.6509]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[4.8, 3.3, 17.7923], [-9.5, 3.3, 21.624], [-9.4353, 3.3, 21.8655], [4.8647, 3.3, 18.0338]], b: [[4.8, -0.3, 17.7923], [-9.5, -0.3, 21.624], [-9.4353, -0.3, 21.8655], [4.8647, -0.3, 18.0338]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[4.8, 3.25, 16.8923], [-9.5, 3.25, 20.724], [-9.5, 3.25, 21.624], [4.8, 3.25, 17.7923]], b: [[4.8, 3, 16.8923], [-9.5, 3, 20.724], [-9.5, 3, 21.624], [4.8, 3, 17.7923]], collide: 0, color: "#8c7350"}
      - {kind: rod, from: [0, -0.6, -5.5], to: [0, -0.6, 18.2923], radius: 0.3, collide: 0, color: "#5f5a52"}
      - {kind: rod, from: [-6, -0.6, 18.2923], to: [6, -0.6, 18.2923], radius: 0.25, collide: 0, color: "#5f5a52"}
      - {kind: rod, from: [0, -0.6, -5], to: [0, -0.6, -4.99], radius: 0.55, collide: 0, color: "#3d3a35"}
  - id: frame
    shape: part
    pos: [0, 0, 0]
    fixed: true
    color: "#d6cdb8"
    pieces:
      - {kind: loft, a: [[-0.8, 3, -5.3], [0.8, 3, -5.3], [0.8, 3, -8], [-0.8, 3, -8]], b: [[-0.8, 0, -5.3], [0.8, 0, -5.3], [0.8, 0, -8], [-0.8, 0, -8]], collide: 0, color: "#7a6f60"}
      - {kind: rod, from: [0, -1.2, -5], to: [0, 3.6, -5], radius: 0.3, collide: 0, color: "#3d3a35"}
      - {kind: loft, a: [[-29, 7, -8], [14, 7, -8], [14, 7, -9], [-29, 7, -9]], b: [[-29, -1, -8], [14, -1, -8], [14, -1, -9], [-29, -1, -9]], collide: 0, color: "#8b7d66"}
      - {kind: loft, a: [[-25, 3, 6.5], [-24, 3, 6.5], [-24, 3, -8], [-25, 3, -8]], b: [[-25, 2, 6.5], [-24, 2, 6.5], [-24, 2, -8], [-25, 2, -8]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[-18.5, 3, 6.5], [-17.5, 3, 6.5], [-17.5, 3, -8], [-18.5, 3, -8]], b: [[-18.5, 2, 6.5], [-17.5, 2, 6.5], [-17.5, 2, -8], [-18.5, 2, -8]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[-27, 6, 7], [-15.5, 6, 7], [-15.5, 6, 6.5], [-27, 6, 6.5]], b: [[-27, -0.6, 7], [-15.5, -0.6, 7], [-15.5, -0.6, 6.5], [-27, -0.6, 6.5]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[-27.5, 6, 9.5], [-27, 6, 9.5], [-27, 6, 6.5], [-27.5, 6, 6.5]], b: [[-27.5, -0.6, 9.5], [-27, -0.6, 9.5], [-27, -0.6, 6.5], [-27.5, -0.6, 6.5]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[-15.5, 6, 9.5], [-15, 6, 9.5], [-15, 6, 6.5], [-15.5, 6, 6.5]], b: [[-15.5, -0.6, 9.5], [-15, -0.6, 9.5], [-15, -0.6, 6.5], [-15.5, -0.6, 6.5]], collide: 0, color: "#a8875a"}
      - {kind: loft, a: [[-27, 6.3, 9.5], [-15.5, 6.3, 9.5], [-15.5, 6.3, 6.5], [-27, 6.3, 6.5]], b: [[-27, 6, 9.5], [-15.5, 6, 9.5], [-15.5, 6, 6.5], [-27, 6, 6.5]], collide: 0, color: "#a8875a"}
joints:
  - {id: j_g, type: hinge, body: gutters, axis: [0, 1, 0], damping: 0.005}   # the frame on its pivot; + tips it clockwise (the right side down)
vessels:
  substeps: 4
  nodes:
    - {id: stream, kind: source, p: 343.35}
    - {id: pond, kind: tank, area: 400, z: -8, level: 3.5, draw: {section: [[-29, -8], [14, -8], [14, -3.5], [-29, -3.5]], y: [0.05, 7]}}
    - {id: b0, kind: tank, area: 7.2, z: -7.2054, level: 2, body: gutters, pos: [6, 1.5, -3], draw: {section: [[4.8, -4.2], [7.2, -4.2], [7.2, -1.8], [4.8, -1.8]], y: [0, 3]}}
    - {id: b1, kind: tank, area: 7.2, z: 0, level: 0, body: gutters, pos: [-6, 1.5, 0.2154], draw: {section: [[-7.2, -0.9846], [-4.8, -0.9846], [-4.8, 1.4154], [-7.2, 1.4154]], y: [0, 3]}}
    - {id: b2, kind: tank, area: 7.2, z: 0, level: 2, body: gutters, pos: [6, 1.5, 3.4308], draw: {section: [[4.8, 2.2308], [7.2, 2.2308], [7.2, 4.6308], [4.8, 4.6308]], y: [0, 3]}}
    - {id: b3, kind: tank, area: 7.2, z: 0, level: 0, body: gutters, pos: [-6, 1.5, 6.6462], draw: {section: [[-7.2, 5.4462], [-4.8, 5.4462], [-4.8, 7.8462], [-7.2, 7.8462]], y: [0, 3]}}
    - {id: b4, kind: tank, area: 7.2, z: 0, level: 2, body: gutters, pos: [6, 1.5, 9.8616], draw: {section: [[4.8, 8.6616], [7.2, 8.6616], [7.2, 11.0616], [4.8, 11.0616]], y: [0, 3]}}
    - {id: b5, kind: tank, area: 7.2, z: 0, level: 0, body: gutters, pos: [-6, 1.5, 13.077], draw: {section: [[-7.2, 11.877], [-4.8, 11.877], [-4.8, 14.277], [-7.2, 14.277]], y: [0, 3]}}
    - {id: b6, kind: tank, area: 7.2, z: 0, level: 2, body: gutters, pos: [6, 1.5, 16.2923], draw: {section: [[4.8, 15.0923], [7.2, 15.0923], [7.2, 17.4923], [4.8, 17.4923]], y: [0, 3]}}
    - {id: trough, kind: tank, area: 69, z: 7, level: 0.4, max: 1.2, draw: {section: [[-27, 7], [-15.5, 7], [-15.5, 9.5], [-27, 9.5]], y: [-0.6, 6]}}
    - {id: air, kind: source, p: 0}
  links:
    - {id: spring, from: stream, to: pond, area: 10, cd: 0.62, z: -8}
    - {id: dip, from: pond, to: b0, area: 2, cd: 0.62, z: -7.2054, zTo: -7.2054, check: true, open: {joint: j_g, q: [0.2793, 0.3665], frac: [0, 1]}}   # in at the scoop's mouth, past its flap
    - {id: g0, from: b0, to: b1, area: 1.2, cd: 0.62, z: -7.2054, zTo: 99, check: true, open: {joint: j_g, q: [-0.3665, -0.2793], frac: [1, 0]},
       draw: {from: [4.8, 1.2, -2.2], fromBody: gutters, to: [-4.8, 1.2, -0.1846], toBody: gutters, width: 0.7, flow: 0.02}}
    - {id: g1, from: b1, to: b2, area: 1.2, cd: 0.62, z: 0, zTo: 99, check: true, open: {joint: j_g, q: [0.2793, 0.3665], frac: [0, 1]},
       draw: {from: [-4.8, 1.2, 1.0154], fromBody: gutters, to: [4.8, 1.2, 3.0308], toBody: gutters, width: 0.7, flow: 0.02}}
    - {id: g2, from: b2, to: b3, area: 1.2, cd: 0.62, z: 0, zTo: 99, check: true, open: {joint: j_g, q: [-0.3665, -0.2793], frac: [1, 0]},
       draw: {from: [4.8, 1.2, 4.2308], fromBody: gutters, to: [-4.8, 1.2, 6.2462], toBody: gutters, width: 0.7, flow: 0.02}}
    - {id: g3, from: b3, to: b4, area: 1.2, cd: 0.62, z: 0, zTo: 99, check: true, open: {joint: j_g, q: [0.2793, 0.3665], frac: [0, 1]},
       draw: {from: [-4.8, 1.2, 7.4462], fromBody: gutters, to: [4.8, 1.2, 9.4616], toBody: gutters, width: 0.7, flow: 0.02}}
    - {id: g4, from: b4, to: b5, area: 1.2, cd: 0.62, z: 0, zTo: 99, check: true, open: {joint: j_g, q: [-0.3665, -0.2793], frac: [1, 0]},
       draw: {from: [4.8, 1.2, 10.6616], fromBody: gutters, to: [-4.8, 1.2, 12.677], toBody: gutters, width: 0.7, flow: 0.02}}
    - {id: g5, from: b5, to: b6, area: 1.2, cd: 0.62, z: 0, zTo: 99, check: true, open: {joint: j_g, q: [0.2793, 0.3665], frac: [0, 1]},
       draw: {from: [-4.8, 1.2, 13.877], fromBody: gutters, to: [4.8, 1.2, 15.8923], toBody: gutters, width: 0.7, flow: 0.02}}
    - {id: g6, from: b6, to: trough, area: 1.2, cd: 0.62, z: 0, zTo: 99, check: true, open: {joint: j_g, q: [-0.3665, -0.2793], frac: [1, 0]},
       draw: {from: [4.8, 1.2, 17.0923], fromBody: gutters, to: [-9.5, 1.2, 20.924], toBody: gutters, width: 0.7, flow: 0.02, fall: {dir: [-1, 0, -0.4], floor: 7.5}}}
    - {id: runoff, from: trough, to: air, area: 3, cd: 0.62, z: 8.2}
driver: {joint: j_g, kind: velocity, rpm: 0, swing: {amplitude: 0.42, hz: 0.3}, kv: 300, max_torque: 50}
checks:
  - {type: amplitude, joint: j_g, min: 0.378, max: 0.462, settle_s: 1.0, window_s: 14.5}
  - {type: penetration, max: 0.003}
camera: {target: [-6.5, 0, 6], position: [-6.5, -200, 9], fov: 12.5}
display:
  output: j_g
  labels: {j_g: "Gutters (driver)"}
