# No. 451 (Brown 1868): "Force pump, same as above, with addition of air-chamber to the outlet, to produce a constant flow. The outlet
# from air-chamber is shown at two places, from either of which water may be taken. The air is compressed by the water during the
# downward stroke of the piston, and expands and presses out the water from the chamber during the up-stroke."
# Model (cm, gravity on, Brown's view from in front, the pump cut away in half section). The handle turns on a fixed standard rising
# from the barrel's rim; a rod hinged on the piston is pinned to it a little way along, and the hand swings the handle (the only
# drive). A poppet closes the suction hole in the barrel's floor; a passage from the barrel's foot rises to the outlet flap under the
# air chamber. The water is lumped vessels (src/fluid/vessels.c): the barrel under the piston with the passage is a chamber the
# piston sweeps (28.2743 cm^2), primed; the suction pipe draws from the well at -2.6 Pa. The air chamber is a closed chamber of
# revolution, water under air (its air's pressure the state that keeps the flow on). Two outlets leave it as in the figure: the dip
# pipe from its mouth inside up through the crown, and a leg from the chamber's foot rising on the left; each is a pipe with inertia
# (length) delivering against its own lift, so each flows as fast as the air's pressure over that lift drives it. Both valves are
# real (poppet on a slide, flap on a hinge), shut by their weight and moved only by the pressures on their faces; each passes water
# as its curtain opens (the poppet fully at a lift of half its hole's radius, the flap at 0.4 rad).
# Generator: opencode-runs/water/gen451.py.
number: 451
slug: force-pump-with-air-chamber
name: Force pump with air chamber
brown: "Force pump, same as above, with addition of air-chamber to the outlet, to produce a constant flow. The outlet from air-chamber is shown at two places, from either of which water may be taken. The air is compressed by the water during the downward stroke of the piston, and expands and presses out the water from the chamber during the up-stroke."
units: cm
sim:
  timestep: 0.0001
  integrator: implicitfast
  iterations: 60
  duration_s: 12
  floor: false
bodies:
  - id: handle
    shape: part
    pos: [-6, 0, 30.5]
    mass: 0.15
    color: "#5f5a52"
    pieces:
      - {kind: rod, from: [-6, 0, 30.5], to: [-0.2, 0, 30], radius: 0.5, capsule: true, collide: 0}
      - {kind: rod, from: [-0.2, 0, 30], to: [5, 0, 29.6], radius: 0.5, capsule: true, collide: 0}
      - {kind: rod, from: [5, 0, 29.6], to: [10.5, 0, 26.4], radius: 0.4, capsule: true, collide: 0}
      - {kind: rod, from: [10.5, 0, 26.4], to: [14.5, 0, 20], radius: 0.4, capsule: true, collide: 0}
      - {kind: rod, from: [14.5, 0, 20], to: [16.8, 0, 14], radius: 0.4, capsule: true, collide: 0}
      - {kind: rod, from: [16.8, 0, 14], to: [18, 0, 11.2], radius: 0.4, capsule: true, collide: 0}
      - {kind: rod, from: [-6, -0.7, 30.5], to: [-6, 0.7, 30.5], radius: 0.65, collide: 0}
      - {kind: rod, from: [-0.2, -0.8, 30], to: [-0.2, 0.8, 30], radius: 0.65, collide: 0}
      - {kind: rod, from: [18, -0.6, 11.2], to: [18, 0.6, 11.2], radius: 0.95, capsule: true, collide: 0}
  - id: piston
    shape: part
    pos: [0, 0, 14.5]
    mass: 0.1
    color: "#8a8478"
    pieces:
      - {kind: loft, a: [[2.95, 0, 18], [2.7254, 1.1289, 18], [2.086, 2.086, 18], [1.1289, 2.7254, 18], [0, 2.95, 18], [-1.1289, 2.7254, 18], [-2.086, 2.086, 18], [-2.7254, 1.1289, 18], [-2.95, 0, 18], [-2.7254, -1.1289, 18], [-2.086, -2.086, 18], [-1.1289, -2.7254, 18], [-0, -2.95, 18], [1.1289, -2.7254, 18], [2.086, -2.086, 18], [2.7254, -1.1289, 18]], b: [[2.95, 0, 14.5], [2.7254, 1.1289, 14.5], [2.086, 2.086, 14.5], [1.1289, 2.7254, 14.5], [0, 2.95, 14.5], [-1.1289, 2.7254, 14.5], [-2.086, 2.086, 14.5], [-2.7254, 1.1289, 14.5], [-2.95, 0, 14.5], [-2.7254, -1.1289, 14.5], [-2.086, -2.086, 14.5], [-1.1289, -2.7254, 14.5], [-0, -2.95, 14.5], [1.1289, -2.7254, 14.5], [2.086, -2.086, 14.5], [2.7254, -1.1289, 14.5]], collide: 0, color: "#8a8478"}
      - {kind: loft, a: [[2.98, 0, 17.2], [2.7532, 1.1404, 17.2], [2.1072, 2.1072, 17.2], [1.1404, 2.7532, 17.2], [0, 2.98, 17.2], [-1.1404, 2.7532, 17.2], [-2.1072, 2.1072, 17.2], [-2.7532, 1.1404, 17.2], [-2.98, 0, 17.2], [-2.7532, -1.1404, 17.2], [-2.1072, -2.1072, 17.2], [-1.1404, -2.7532, 17.2], [-0, -2.98, 17.2], [1.1404, -2.7532, 17.2], [2.1072, -2.1072, 17.2], [2.7532, -1.1404, 17.2]], b: [[2.98, 0, 15.3], [2.7532, 1.1404, 15.3], [2.1072, 2.1072, 15.3], [1.1404, 2.7532, 15.3], [0, 2.98, 15.3], [-1.1404, 2.7532, 15.3], [-2.1072, 2.1072, 15.3], [-2.7532, 1.1404, 15.3], [-2.98, 0, 15.3], [-2.7532, -1.1404, 15.3], [-2.1072, -2.1072, 15.3], [-1.1404, -2.7532, 15.3], [-0, -2.98, 15.3], [1.1404, -2.7532, 15.3], [2.1072, -2.1072, 15.3], [2.7532, -1.1404, 15.3]], collide: 0, color: "#3d2e20"}
      - {kind: rod, from: [0, -0.7, 18.4], to: [0, 0.7, 18.4], radius: 0.45, collide: 0}
  - id: rod
    shape: part
    mount: piston
    pos: [0, 0, 18.4]
    mass: 0.02
    color: "#6d675c"
    pieces:
      - {kind: rod, from: [0, 0, 18.4], to: [-0.2, 0, 30], radius: 0.35, collide: 0}
      - {kind: rod, from: [-0.2, -0.5, 30], to: [-0.2, 0.5, 30], radius: 0.5, collide: 0}
  - id: spoppet
    shape: part
    pos: [0, 0, 0]
    mass: 0.006
    color: "#e0a030"
    pieces:
      - {kind: loft, a: [[1.7, 0, 0.3], [1.5706, 0.6506, 0.3], [1.2021, 1.2021, 0.3], [0.6506, 1.5706, 0.3], [0, 1.7, 0.3], [-0.6506, 1.5706, 0.3], [-1.2021, 1.2021, 0.3], [-1.5706, 0.6506, 0.3], [-1.7, 0, 0.3], [-1.5706, -0.6506, 0.3], [-1.2021, -1.2021, 0.3], [-0.6506, -1.5706, 0.3], [-0, -1.7, 0.3], [0.6506, -1.5706, 0.3], [1.2021, -1.2021, 0.3], [1.5706, -0.6506, 0.3]], b: [[1.7, 0, 0], [1.5706, 0.6506, 0], [1.2021, 1.2021, 0], [0.6506, 1.5706, 0], [0, 1.7, 0], [-0.6506, 1.5706, 0], [-1.2021, 1.2021, 0], [-1.5706, 0.6506, 0], [-1.7, 0, 0], [-1.5706, -0.6506, 0], [-1.2021, -1.2021, 0], [-0.6506, -1.5706, 0], [-0, -1.7, 0], [0.6506, -1.5706, 0], [1.2021, -1.2021, 0], [1.5706, -0.6506, 0]], collide: 0}
      - {kind: loft, a: [[0.3, 0, 1], [0.2598, 0.15, 1], [0.15, 0.2598, 1], [0, 0.3, 1], [-0.15, 0.2598, 1], [-0.2598, 0.15, 1], [-0.3, 0, 1], [-0.2598, -0.15, 1], [-0.15, -0.2598, 1], [-0, -0.3, 1], [0.15, -0.2598, 1], [0.2598, -0.15, 1]], b: [[1.5, 0, 0.3], [1.299, 0.75, 0.3], [0.75, 1.299, 0.3], [0, 1.5, 0.3], [-0.75, 1.299, 0.3], [-1.299, 0.75, 0.3], [-1.5, 0, 0.3], [-1.299, -0.75, 0.3], [-0.75, -1.299, 0.3], [-0, -1.5, 0.3], [0.75, -1.299, 0.3], [1.299, -0.75, 0.3]], collide: 0}
  - id: oflap
    shape: part
    pos: [-17.05, 0, 12.15]
    mass: 0.006
    color: "#e0a030"
    pieces:
      - {kind: loft, a: [[-12.45, 0, 12.3], [-12.6251, 0.8802, 12.3], [-13.1237, 1.6263, 12.3], [-13.8698, 2.1249, 12.3], [-14.75, 2.3, 12.3], [-15.6302, 2.1249, 12.3], [-16.3763, 1.6263, 12.3], [-16.8749, 0.8802, 12.3], [-17.05, 0, 12.3], [-16.8749, -0.8802, 12.3], [-16.3763, -1.6263, 12.3], [-15.6302, -2.1249, 12.3], [-14.75, -2.3, 12.3], [-13.8698, -2.1249, 12.3], [-13.1237, -1.6263, 12.3], [-12.6251, -0.8802, 12.3]], b: [[-12.45, 0, 12], [-12.6251, 0.8802, 12], [-13.1237, 1.6263, 12], [-13.8698, 2.1249, 12], [-14.75, 2.3, 12], [-15.6302, 2.1249, 12], [-16.3763, 1.6263, 12], [-16.8749, 0.8802, 12], [-17.05, 0, 12], [-16.8749, -0.8802, 12], [-16.3763, -1.6263, 12], [-15.6302, -2.1249, 12], [-14.75, -2.3, 12], [-13.8698, -2.1249, 12], [-13.1237, -1.6263, 12], [-12.6251, -0.8802, 12]], collide: 0}
      - {kind: loft, a: [[-14.45, 0, 13], [-14.4902, 0.15, 13], [-14.6, 0.2598, 13], [-14.75, 0.3, 13], [-14.9, 0.2598, 13], [-15.0098, 0.15, 13], [-15.05, 0, 13], [-15.0098, -0.15, 13], [-14.9, -0.2598, 13], [-14.75, -0.3, 13], [-14.6, -0.2598, 13], [-14.4902, -0.15, 13]], b: [[-13.55, 0, 12.3], [-13.7108, 0.6, 12.3], [-14.15, 1.0392, 12.3], [-14.75, 1.2, 12.3], [-15.35, 1.0392, 12.3], [-15.7892, 0.6, 12.3], [-15.95, 0, 12.3], [-15.7892, -0.6, 12.3], [-15.35, -1.0392, 12.3], [-14.75, -1.2, 12.3], [-14.15, -1.0392, 12.3], [-13.7108, -0.6, 12.3]], collide: 0}
      - {kind: rod, from: [-17.05, -0.9, 12.15], to: [-17.05, 0.9, 12.15], radius: 0.2, collide: 0}
  - id: frame
    shape: part
    pos: [0, 0, 0]
    fixed: true
    color: "#d6cdb8"
    pieces:
      - {kind: loft, a: [[3, 0, 22.5], [2.7716, 1.1481, 22.5], [3.6955, 1.5307, 22.5], [4, 0, 22.5]], b: [[3, 0, 0], [2.7716, 1.1481, 0], [3.6955, 1.5307, 0], [4, 0, 0]], collide: 0}
      - {kind: loft, a: [[2.7716, 1.1481, 22.5], [2.1213, 2.1213, 22.5], [2.8284, 2.8284, 22.5], [3.6955, 1.5307, 22.5]], b: [[2.7716, 1.1481, 0], [2.1213, 2.1213, 0], [2.8284, 2.8284, 0], [3.6955, 1.5307, 0]], collide: 0}
      - {kind: loft, a: [[2.1213, 2.1213, 22.5], [1.1481, 2.7716, 22.5], [1.5307, 3.6955, 22.5], [2.8284, 2.8284, 22.5]], b: [[2.1213, 2.1213, 0], [1.1481, 2.7716, 0], [1.5307, 3.6955, 0], [2.8284, 2.8284, 0]], collide: 0}
      - {kind: loft, a: [[1.1481, 2.7716, 22.5], [0, 3, 22.5], [0, 4, 22.5], [1.5307, 3.6955, 22.5]], b: [[1.1481, 2.7716, 0], [0, 3, 0], [0, 4, 0], [1.5307, 3.6955, 0]], collide: 0}
      - {kind: loft, a: [[0, 3, 22.5], [-1.1481, 2.7716, 22.5], [-1.5307, 3.6955, 22.5], [0, 4, 22.5]], b: [[0, 3, 0], [-1.1481, 2.7716, 0], [-1.5307, 3.6955, 0], [0, 4, 0]], collide: 0}
      - {kind: loft, a: [[-1.1481, 2.7716, 22.5], [-2.1213, 2.1213, 22.5], [-2.8284, 2.8284, 22.5], [-1.5307, 3.6955, 22.5]], b: [[-1.1481, 2.7716, 0], [-2.1213, 2.1213, 0], [-2.8284, 2.8284, 0], [-1.5307, 3.6955, 0]], collide: 0}
      - {kind: loft, a: [[-2.1213, 2.1213, 22.5], [-3, 0, 22.5], [-4, 0, 22.5], [-2.8284, 2.8284, 22.5]], b: [[-2.1213, 2.1213, 2.9], [-3, 0, 2.9], [-4, 0, 2.9], [-2.8284, 2.8284, 2.9]], collide: 0}
      - {kind: loft, a: [[-2.1213, 2.1213, 1.25], [-3, 0, 1.25], [-4, 0, 1.25], [-2.8284, 2.8284, 1.25]], b: [[-2.1213, 2.1213, 0], [-3, 0, 0], [-4, 0, 0], [-2.8284, 2.8284, 0]], collide: 0}
      - {kind: loft, a: [[4, 0, 22.5], [3.6955, 1.5307, 22.5], [4.1575, 1.7221, 22.5], [4.5, 0, 22.5]], b: [[4, 0, 21.9], [3.6955, 1.5307, 21.9], [4.1575, 1.7221, 21.9], [4.5, 0, 21.9]], collide: 0}
      - {kind: loft, a: [[3.6955, 1.5307, 22.5], [2.8284, 2.8284, 22.5], [3.182, 3.182, 22.5], [4.1575, 1.7221, 22.5]], b: [[3.6955, 1.5307, 21.9], [2.8284, 2.8284, 21.9], [3.182, 3.182, 21.9], [4.1575, 1.7221, 21.9]], collide: 0}
      - {kind: loft, a: [[2.8284, 2.8284, 22.5], [1.5307, 3.6955, 22.5], [1.7221, 4.1575, 22.5], [3.182, 3.182, 22.5]], b: [[2.8284, 2.8284, 21.9], [1.5307, 3.6955, 21.9], [1.7221, 4.1575, 21.9], [3.182, 3.182, 21.9]], collide: 0}
      - {kind: loft, a: [[1.5307, 3.6955, 22.5], [0, 4, 22.5], [0, 4.5, 22.5], [1.7221, 4.1575, 22.5]], b: [[1.5307, 3.6955, 21.9], [0, 4, 21.9], [0, 4.5, 21.9], [1.7221, 4.1575, 21.9]], collide: 0}
      - {kind: loft, a: [[0, 4, 22.5], [-1.5307, 3.6955, 22.5], [-1.7221, 4.1575, 22.5], [0, 4.5, 22.5]], b: [[0, 4, 21.9], [-1.5307, 3.6955, 21.9], [-1.7221, 4.1575, 21.9], [0, 4.5, 21.9]], collide: 0}
      - {kind: loft, a: [[-1.5307, 3.6955, 22.5], [-2.8284, 2.8284, 22.5], [-3.182, 3.182, 22.5], [-1.7221, 4.1575, 22.5]], b: [[-1.5307, 3.6955, 21.9], [-2.8284, 2.8284, 21.9], [-3.182, 3.182, 21.9], [-1.7221, 4.1575, 21.9]], collide: 0}
      - {kind: loft, a: [[-2.8284, 2.8284, 22.5], [-3.6955, 1.5307, 22.5], [-4.1575, 1.7221, 22.5], [-3.182, 3.182, 22.5]], b: [[-2.8284, 2.8284, 21.9], [-3.6955, 1.5307, 21.9], [-4.1575, 1.7221, 21.9], [-3.182, 3.182, 21.9]], collide: 0}
      - {kind: loft, a: [[-3.6955, 1.5307, 22.5], [-4, 0, 22.5], [-4.5, 0, 22.5], [-4.1575, 1.7221, 22.5]], b: [[-3.6955, 1.5307, 21.9], [-4, 0, 21.9], [-4.5, 0, 21.9], [-4.1575, 1.7221, 21.9]], collide: 0}
      - {kind: loft, a: [[1.2, 0, 0], [1.1087, 0.4592, 0], [4.9889, 2.0665, 0], [5.4, 0, 0]], b: [[1.2, 0, -0.9], [1.1087, 0.4592, -0.9], [4.9889, 2.0665, -0.9], [5.4, 0, -0.9]], collide: 0}
      - {kind: loft, a: [[1.1087, 0.4592, 0], [0.8485, 0.8485, 0], [3.8184, 3.8184, 0], [4.9889, 2.0665, 0]], b: [[1.1087, 0.4592, -0.9], [0.8485, 0.8485, -0.9], [3.8184, 3.8184, -0.9], [4.9889, 2.0665, -0.9]], collide: 0}
      - {kind: loft, a: [[0.8485, 0.8485, 0], [0.4592, 1.1087, 0], [2.0665, 4.9889, 0], [3.8184, 3.8184, 0]], b: [[0.8485, 0.8485, -0.9], [0.4592, 1.1087, -0.9], [2.0665, 4.9889, -0.9], [3.8184, 3.8184, -0.9]], collide: 0}
      - {kind: loft, a: [[0.4592, 1.1087, 0], [0, 1.2, 0], [0, 5.4, 0], [2.0665, 4.9889, 0]], b: [[0.4592, 1.1087, -0.9], [0, 1.2, -0.9], [0, 5.4, -0.9], [2.0665, 4.9889, -0.9]], collide: 0}
      - {kind: loft, a: [[0, 1.2, 0], [-0.4592, 1.1087, 0], [-2.0665, 4.9889, 0], [0, 5.4, 0]], b: [[0, 1.2, -0.9], [-0.4592, 1.1087, -0.9], [-2.0665, 4.9889, -0.9], [0, 5.4, -0.9]], collide: 0}
      - {kind: loft, a: [[-0.4592, 1.1087, 0], [-0.8485, 0.8485, 0], [-3.8184, 3.8184, 0], [-2.0665, 4.9889, 0]], b: [[-0.4592, 1.1087, -0.9], [-0.8485, 0.8485, -0.9], [-3.8184, 3.8184, -0.9], [-2.0665, 4.9889, -0.9]], collide: 0}
      - {kind: loft, a: [[-0.8485, 0.8485, 0], [-1.1087, 0.4592, 0], [-4.9889, 2.0665, 0], [-3.8184, 3.8184, 0]], b: [[-0.8485, 0.8485, -0.9], [-1.1087, 0.4592, -0.9], [-4.9889, 2.0665, -0.9], [-3.8184, 3.8184, -0.9]], collide: 0}
      - {kind: loft, a: [[-1.1087, 0.4592, 0], [-1.2, 0, 0], [-5.4, 0, 0], [-4.9889, 2.0665, 0]], b: [[-1.1087, 0.4592, -0.9], [-1.2, 0, -0.9], [-5.4, 0, -0.9], [-4.9889, 2.0665, -0.9]], collide: 0}
      - {kind: loft, a: [[1.8, 0, -0.9], [1.663, 0.6888, -0.9], [2.3097, 0.9567, -0.9], [2.5, 0, -0.9]], b: [[1.8, 0, -15], [1.663, 0.6888, -15], [2.3097, 0.9567, -15], [2.5, 0, -15]], collide: 0}
      - {kind: loft, a: [[1.663, 0.6888, -0.9], [1.2728, 1.2728, -0.9], [1.7678, 1.7678, -0.9], [2.3097, 0.9567, -0.9]], b: [[1.663, 0.6888, -15], [1.2728, 1.2728, -15], [1.7678, 1.7678, -15], [2.3097, 0.9567, -15]], collide: 0}
      - {kind: loft, a: [[1.2728, 1.2728, -0.9], [0.6888, 1.663, -0.9], [0.9567, 2.3097, -0.9], [1.7678, 1.7678, -0.9]], b: [[1.2728, 1.2728, -15], [0.6888, 1.663, -15], [0.9567, 2.3097, -15], [1.7678, 1.7678, -15]], collide: 0}
      - {kind: loft, a: [[0.6888, 1.663, -0.9], [0, 1.8, -0.9], [0, 2.5, -0.9], [0.9567, 2.3097, -0.9]], b: [[0.6888, 1.663, -15], [0, 1.8, -15], [0, 2.5, -15], [0.9567, 2.3097, -15]], collide: 0}
      - {kind: loft, a: [[0, 1.8, -0.9], [-0.6888, 1.663, -0.9], [-0.9567, 2.3097, -0.9], [0, 2.5, -0.9]], b: [[0, 1.8, -15], [-0.6888, 1.663, -15], [-0.9567, 2.3097, -15], [0, 2.5, -15]], collide: 0}
      - {kind: loft, a: [[-0.6888, 1.663, -0.9], [-1.2728, 1.2728, -0.9], [-1.7678, 1.7678, -0.9], [-0.9567, 2.3097, -0.9]], b: [[-0.6888, 1.663, -15], [-1.2728, 1.2728, -15], [-1.7678, 1.7678, -15], [-0.9567, 2.3097, -15]], collide: 0}
      - {kind: loft, a: [[-1.2728, 1.2728, -0.9], [-1.663, 0.6888, -0.9], [-2.3097, 0.9567, -0.9], [-1.7678, 1.7678, -0.9]], b: [[-1.2728, 1.2728, -15], [-1.663, 0.6888, -15], [-2.3097, 0.9567, -15], [-1.7678, 1.7678, -15]], collide: 0}
      - {kind: loft, a: [[-1.663, 0.6888, -0.9], [-1.8, 0, -0.9], [-2.5, 0, -0.9], [-2.3097, 0.9567, -0.9]], b: [[-1.663, 0.6888, -15], [-1.8, 0, -15], [-2.5, 0, -15], [-2.3097, 0.9567, -15]], collide: 0}
      - {kind: loft, a: [[2.5, 0, -2.6], [2.3097, 0.9567, -2.6], [4.9889, 2.0665, -2.6], [5.4, 0, -2.6]], b: [[2.5, 0, -3.5], [2.3097, 0.9567, -3.5], [4.9889, 2.0665, -3.5], [5.4, 0, -3.5]], collide: 0}
      - {kind: loft, a: [[2.3097, 0.9567, -2.6], [1.7678, 1.7678, -2.6], [3.8184, 3.8184, -2.6], [4.9889, 2.0665, -2.6]], b: [[2.3097, 0.9567, -3.5], [1.7678, 1.7678, -3.5], [3.8184, 3.8184, -3.5], [4.9889, 2.0665, -3.5]], collide: 0}
      - {kind: loft, a: [[1.7678, 1.7678, -2.6], [0.9567, 2.3097, -2.6], [2.0665, 4.9889, -2.6], [3.8184, 3.8184, -2.6]], b: [[1.7678, 1.7678, -3.5], [0.9567, 2.3097, -3.5], [2.0665, 4.9889, -3.5], [3.8184, 3.8184, -3.5]], collide: 0}
      - {kind: loft, a: [[0.9567, 2.3097, -2.6], [0, 2.5, -2.6], [0, 5.4, -2.6], [2.0665, 4.9889, -2.6]], b: [[0.9567, 2.3097, -3.5], [0, 2.5, -3.5], [0, 5.4, -3.5], [2.0665, 4.9889, -3.5]], collide: 0}
      - {kind: loft, a: [[0, 2.5, -2.6], [-0.9567, 2.3097, -2.6], [-2.0665, 4.9889, -2.6], [0, 5.4, -2.6]], b: [[0, 2.5, -3.5], [-0.9567, 2.3097, -3.5], [-2.0665, 4.9889, -3.5], [0, 5.4, -3.5]], collide: 0}
      - {kind: loft, a: [[-0.9567, 2.3097, -2.6], [-1.7678, 1.7678, -2.6], [-3.8184, 3.8184, -2.6], [-2.0665, 4.9889, -2.6]], b: [[-0.9567, 2.3097, -3.5], [-1.7678, 1.7678, -3.5], [-3.8184, 3.8184, -3.5], [-2.0665, 4.9889, -3.5]], collide: 0}
      - {kind: loft, a: [[-1.7678, 1.7678, -2.6], [-2.3097, 0.9567, -2.6], [-4.9889, 2.0665, -2.6], [-3.8184, 3.8184, -2.6]], b: [[-1.7678, 1.7678, -3.5], [-2.3097, 0.9567, -3.5], [-4.9889, 2.0665, -3.5], [-3.8184, 3.8184, -3.5]], collide: 0}
      - {kind: loft, a: [[-2.3097, 0.9567, -2.6], [-2.5, 0, -2.6], [-5.4, 0, -2.6], [-4.9889, 2.0665, -2.6]], b: [[-2.3097, 0.9567, -3.5], [-2.5, 0, -3.5], [-5.4, 0, -3.5], [-4.9889, 2.0665, -3.5]], collide: 0}
      - {kind: loft, a: [[-7.6, 0, -18], [7.6, 0, -18], [7.6, 6.6, -18], [-7.6, 6.6, -18]], b: [[-7.6, 0, -18.6], [7.6, 0, -18.6], [7.6, 6.6, -18.6], [-7.6, 6.6, -18.6]], collide: 0, color: "#9c9282"}
      - {kind: loft, a: [[-7.6, 6, -8], [7.6, 6, -8], [7.6, 6.6, -8], [-7.6, 6.6, -8]], b: [[-7.6, 6, -18], [7.6, 6, -18], [7.6, 6.6, -18], [-7.6, 6.6, -18]], collide: 0, color: "#9c9282"}
      - {kind: loft, a: [[-7.6, 0, -8], [-7, 0, -8], [-7, 6, -8], [-7.6, 6, -8]], b: [[-7.6, 0, -18], [-7, 0, -18], [-7, 6, -18], [-7.6, 6, -18]], collide: 0, color: "#9c9282"}
      - {kind: loft, a: [[7, 0, -8], [7.6, 0, -8], [7.6, 6, -8], [7, 6, -8]], b: [[7, 0, -18], [7.6, 0, -18], [7.6, 6, -18], [7, 6, -18]], collide: 0, color: "#9c9282"}
      - {kind: loft, a: [[-30, 0, -8], [-7.6, 0, -8], [-7.6, 8, -8], [-30, 8, -8]], b: [[-30, 0, -9.2], [-7.6, 0, -9.2], [-7.6, 8, -9.2], [-30, 8, -9.2]], collide: 0, color: "#8b7d66"}
      - {kind: loft, a: [[7.6, 0, -8], [24, 0, -8], [24, 8, -8], [7.6, 8, -8]], b: [[7.6, 0, -9.2], [24, 0, -9.2], [24, 8, -9.2], [7.6, 8, -9.2]], collide: 0, color: "#8b7d66"}
      - {kind: loft, a: [[-17.25, 0, 1.25], [-3, 0, 1.25], [-3, 1.6, 1.25], [-17.25, 1.6, 1.25]], b: [[-17.25, 0, 0.55], [-3, 0, 0.55], [-3, 1.6, 0.55], [-17.25, 1.6, 0.55]], collide: 0, color: "#b9ae98"}
      - {kind: loft, a: [[-12.95, 0.85, 2.9], [-3.1, 0.85, 2.9], [-3.1, 1.6, 2.9], [-12.95, 1.6, 2.9]], b: [[-12.95, 0.85, 1.25], [-3.1, 0.85, 1.25], [-3.1, 1.6, 1.25], [-12.95, 1.6, 1.25]], collide: 0, color: "#b9ae98"}
      - {kind: loft, a: [[-12.95, 0, 3.6], [-3.1, 0, 3.6], [-3.1, 1.6, 3.6], [-12.95, 1.6, 3.6]], b: [[-12.95, 0, 2.9], [-3.1, 0, 2.9], [-3.1, 1.6, 2.9], [-12.95, 1.6, 2.9]], collide: 0, color: "#b9ae98"}
      - {kind: loft, a: [[-14.75, 1.8, 11.5], [-15.4388, 1.663, 11.5], [-15.7067, 2.3097, 11.5], [-14.75, 2.5, 11.5]], b: [[-14.75, 1.8, 1.25], [-15.4388, 1.663, 1.25], [-15.7067, 2.3097, 1.25], [-14.75, 2.5, 1.25]], collide: 0}
      - {kind: loft, a: [[-15.4388, 1.663, 11.5], [-16.0228, 1.2728, 11.5], [-16.5178, 1.7678, 11.5], [-15.7067, 2.3097, 11.5]], b: [[-15.4388, 1.663, 1.25], [-16.0228, 1.2728, 1.25], [-16.5178, 1.7678, 1.25], [-15.7067, 2.3097, 1.25]], collide: 0}
      - {kind: loft, a: [[-16.0228, 1.2728, 11.5], [-16.413, 0.6888, 11.5], [-17.0597, 0.9567, 11.5], [-16.5178, 1.7678, 11.5]], b: [[-16.0228, 1.2728, 1.25], [-16.413, 0.6888, 1.25], [-17.0597, 0.9567, 1.25], [-16.5178, 1.7678, 1.25]], collide: 0}
      - {kind: loft, a: [[-16.413, 0.6888, 11.5], [-16.55, 0, 11.5], [-17.25, 0, 11.5], [-17.0597, 0.9567, 11.5]], b: [[-16.413, 0.6888, 1.25], [-16.55, 0, 1.25], [-17.25, 0, 1.25], [-17.0597, 0.9567, 1.25]], collide: 0}
      - {kind: loft, a: [[-12.95, 0, 11.5], [-13.087, 0.6888, 11.5], [-12.4403, 0.9567, 11.5], [-12.25, 0, 11.5]], b: [[-12.95, 0, 2.9], [-13.087, 0.6888, 2.9], [-12.4403, 0.9567, 2.9], [-12.25, 0, 2.9]], collide: 0}
      - {kind: loft, a: [[-13.087, 0.6888, 11.5], [-13.4772, 1.2728, 11.5], [-12.9822, 1.7678, 11.5], [-12.4403, 0.9567, 11.5]], b: [[-13.087, 0.6888, 2.9], [-13.4772, 1.2728, 2.9], [-12.9822, 1.7678, 2.9], [-12.4403, 0.9567, 2.9]], collide: 0}
      - {kind: loft, a: [[-13.4772, 1.2728, 11.5], [-14.0612, 1.663, 11.5], [-13.7933, 2.3097, 11.5], [-12.9822, 1.7678, 11.5]], b: [[-13.4772, 1.2728, 2.9], [-14.0612, 1.663, 2.9], [-13.7933, 2.3097, 2.9], [-12.9822, 1.7678, 2.9]], collide: 0}
      - {kind: loft, a: [[-14.0612, 1.663, 11.5], [-14.75, 1.8, 11.5], [-14.75, 2.5, 11.5], [-13.7933, 2.3097, 11.5]], b: [[-14.0612, 1.663, 2.9], [-14.75, 1.8, 2.9], [-14.75, 2.5, 2.9], [-13.7933, 2.3097, 2.9]], collide: 0}
      - {kind: loft, a: [[-12.95, 0, 12], [-13.087, 0.6888, 12], [-9.2991, 2.2578, 12], [-8.85, 0, 12]], b: [[-12.95, 0, 11.5], [-13.087, 0.6888, 11.5], [-9.2991, 2.2578, 11.5], [-8.85, 0, 11.5]], collide: 0}
      - {kind: loft, a: [[-13.087, 0.6888, 12], [-13.4772, 1.2728, 12], [-10.5781, 4.1719, 12], [-9.2991, 2.2578, 12]], b: [[-13.087, 0.6888, 11.5], [-13.4772, 1.2728, 11.5], [-10.5781, 4.1719, 11.5], [-9.2991, 2.2578, 11.5]], collide: 0}
      - {kind: loft, a: [[-13.4772, 1.2728, 12], [-14.0612, 1.663, 12], [-12.4922, 5.4509, 12], [-10.5781, 4.1719, 12]], b: [[-13.4772, 1.2728, 11.5], [-14.0612, 1.663, 11.5], [-12.4922, 5.4509, 11.5], [-10.5781, 4.1719, 11.5]], collide: 0}
      - {kind: loft, a: [[-14.0612, 1.663, 12], [-14.75, 1.8, 12], [-14.75, 5.9, 12], [-12.4922, 5.4509, 12]], b: [[-14.0612, 1.663, 11.5], [-14.75, 1.8, 11.5], [-14.75, 5.9, 11.5], [-12.4922, 5.4509, 11.5]], collide: 0}
      - {kind: loft, a: [[-14.75, 1.8, 12], [-15.4388, 1.663, 12], [-17.0078, 5.4509, 12], [-14.75, 5.9, 12]], b: [[-14.75, 1.8, 11.5], [-15.4388, 1.663, 11.5], [-17.0078, 5.4509, 11.5], [-14.75, 5.9, 11.5]], collide: 0}
      - {kind: loft, a: [[-15.4388, 1.663, 12], [-16.0228, 1.2728, 12], [-18.9219, 4.1719, 12], [-17.0078, 5.4509, 12]], b: [[-15.4388, 1.663, 11.5], [-16.0228, 1.2728, 11.5], [-18.9219, 4.1719, 11.5], [-17.0078, 5.4509, 11.5]], collide: 0}
      - {kind: loft, a: [[-16.0228, 1.2728, 12], [-16.413, 0.6888, 12], [-20.2009, 2.2578, 12], [-18.9219, 4.1719, 12]], b: [[-16.0228, 1.2728, 11.5], [-16.413, 0.6888, 11.5], [-20.2009, 2.2578, 11.5], [-18.9219, 4.1719, 11.5]], collide: 0}
      - {kind: loft, a: [[-16.413, 0.6888, 12], [-16.55, 0, 12], [-20.65, 0, 12], [-20.2009, 2.2578, 12]], b: [[-16.413, 0.6888, 11.5], [-16.55, 0, 11.5], [-20.65, 0, 11.5], [-20.2009, 2.2578, 11.5]], collide: 0}
      - {kind: loft, a: [[-10.75, 0, 14.5], [-11.0545, 1.5307, 14.5], [-10.4078, 1.7986, 14.5], [-10.05, 0, 14.5]], b: [[-10.75, 0, 12], [-11.0545, 1.5307, 12], [-10.4078, 1.7986, 12], [-10.05, 0, 12]], collide: 0}
      - {kind: loft, a: [[-11.0545, 1.5307, 14.5], [-11.9216, 2.8284, 14.5], [-11.4266, 3.3234, 14.5], [-10.4078, 1.7986, 14.5]], b: [[-11.0545, 1.5307, 12], [-11.9216, 2.8284, 12], [-11.4266, 3.3234, 12], [-10.4078, 1.7986, 12]], collide: 0}
      - {kind: loft, a: [[-11.9216, 2.8284, 14.5], [-13.2193, 3.6955, 14.5], [-12.9514, 4.3422, 14.5], [-11.4266, 3.3234, 14.5]], b: [[-11.9216, 2.8284, 12], [-13.2193, 3.6955, 12], [-12.9514, 4.3422, 12], [-11.4266, 3.3234, 12]], collide: 0}
      - {kind: loft, a: [[-13.2193, 3.6955, 14.5], [-14.75, 4, 14.5], [-14.75, 4.7, 14.5], [-12.9514, 4.3422, 14.5]], b: [[-13.2193, 3.6955, 12], [-14.75, 4, 12], [-14.75, 4.7, 12], [-12.9514, 4.3422, 12]], collide: 0}
      - {kind: loft, a: [[-14.75, 4, 14.5], [-16.2807, 3.6955, 14.5], [-16.5486, 4.3422, 14.5], [-14.75, 4.7, 14.5]], b: [[-14.75, 4, 12], [-16.2807, 3.6955, 12], [-16.5486, 4.3422, 12], [-14.75, 4.7, 12]], collide: 0}
      - {kind: loft, a: [[-16.2807, 3.6955, 14.5], [-17.5784, 2.8284, 14.5], [-18.0734, 3.3234, 14.5], [-16.5486, 4.3422, 14.5]], b: [[-16.2807, 3.6955, 12], [-17.5784, 2.8284, 12], [-18.0734, 3.3234, 12], [-16.5486, 4.3422, 12]], collide: 0}
      - {kind: loft, a: [[-17.5784, 2.8284, 14.5], [-18.4455, 1.5307, 14.5], [-19.0922, 1.7986, 14.5], [-18.0734, 3.3234, 14.5]], b: [[-17.5784, 2.8284, 12], [-18.4455, 1.5307, 12], [-19.0922, 1.7986, 12], [-18.0734, 3.3234, 12]], collide: 0}
      - {kind: loft, a: [[-18.4455, 1.5307, 14.5], [-18.75, 0, 14.5], [-19.45, 0, 14.5], [-19.0922, 1.7986, 14.5]], b: [[-18.4455, 1.5307, 12], [-18.75, 0, 12], [-19.45, 0, 12], [-19.0922, 1.7986, 12]], collide: 0}
      - {kind: loft, a: [[-11.75, 0, 17], [-11.9784, 1.1481, 17], [-11.3316, 1.4159, 17], [-11.05, 0, 17]], b: [[-10.75, 0, 14.5], [-11.0545, 1.5307, 14.5], [-10.4078, 1.7986, 14.5], [-10.05, 0, 14.5]], collide: 0}
      - {kind: loft, a: [[-11.9784, 1.1481, 17], [-12.6287, 2.1213, 17], [-12.1337, 2.6163, 17], [-11.3316, 1.4159, 17]], b: [[-11.0545, 1.5307, 14.5], [-11.9216, 2.8284, 14.5], [-11.4266, 3.3234, 14.5], [-10.4078, 1.7986, 14.5]], collide: 0}
      - {kind: loft, a: [[-12.6287, 2.1213, 17], [-13.6019, 2.7716, 17], [-13.3341, 3.4184, 17], [-12.1337, 2.6163, 17]], b: [[-11.9216, 2.8284, 14.5], [-13.2193, 3.6955, 14.5], [-12.9514, 4.3422, 14.5], [-11.4266, 3.3234, 14.5]], collide: 0}
      - {kind: loft, a: [[-13.6019, 2.7716, 17], [-14.75, 3, 17], [-14.75, 3.7, 17], [-13.3341, 3.4184, 17]], b: [[-13.2193, 3.6955, 14.5], [-14.75, 4, 14.5], [-14.75, 4.7, 14.5], [-12.9514, 4.3422, 14.5]], collide: 0}
      - {kind: loft, a: [[-14.75, 3, 17], [-15.8981, 2.7716, 17], [-16.1659, 3.4184, 17], [-14.75, 3.7, 17]], b: [[-14.75, 4, 14.5], [-16.2807, 3.6955, 14.5], [-16.5486, 4.3422, 14.5], [-14.75, 4.7, 14.5]], collide: 0}
      - {kind: loft, a: [[-15.8981, 2.7716, 17], [-16.8713, 2.1213, 17], [-17.3663, 2.6163, 17], [-16.1659, 3.4184, 17]], b: [[-16.2807, 3.6955, 14.5], [-17.5784, 2.8284, 14.5], [-18.0734, 3.3234, 14.5], [-16.5486, 4.3422, 14.5]], collide: 0}
      - {kind: loft, a: [[-16.8713, 2.1213, 17], [-17.5216, 1.1481, 17], [-18.1684, 1.4159, 17], [-17.3663, 2.6163, 17]], b: [[-17.5784, 2.8284, 14.5], [-18.4455, 1.5307, 14.5], [-19.0922, 1.7986, 14.5], [-18.0734, 3.3234, 14.5]], collide: 0}
      - {kind: loft, a: [[-17.5216, 1.1481, 17], [-17.75, 0, 17], [-18.45, 0, 17], [-18.1684, 1.4159, 17]], b: [[-18.4455, 1.5307, 14.5], [-18.75, 0, 14.5], [-19.45, 0, 14.5], [-19.0922, 1.7986, 14.5]], collide: 0}
      - {kind: loft, a: [[-10.75, 0, 20], [-11.0545, 1.5307, 20], [-10.4078, 1.7986, 20], [-10.05, 0, 20]], b: [[-11.75, 0, 17], [-11.9784, 1.1481, 17], [-11.3316, 1.4159, 17], [-11.05, 0, 17]], collide: 0}
      - {kind: loft, a: [[-11.0545, 1.5307, 20], [-11.9216, 2.8284, 20], [-11.4266, 3.3234, 20], [-10.4078, 1.7986, 20]], b: [[-11.9784, 1.1481, 17], [-12.6287, 2.1213, 17], [-12.1337, 2.6163, 17], [-11.3316, 1.4159, 17]], collide: 0}
      - {kind: loft, a: [[-11.9216, 2.8284, 20], [-13.2193, 3.6955, 20], [-12.9514, 4.3422, 20], [-11.4266, 3.3234, 20]], b: [[-12.6287, 2.1213, 17], [-13.6019, 2.7716, 17], [-13.3341, 3.4184, 17], [-12.1337, 2.6163, 17]], collide: 0}
      - {kind: loft, a: [[-13.2193, 3.6955, 20], [-14.75, 4, 20], [-14.75, 4.7, 20], [-12.9514, 4.3422, 20]], b: [[-13.6019, 2.7716, 17], [-14.75, 3, 17], [-14.75, 3.7, 17], [-13.3341, 3.4184, 17]], collide: 0}
      - {kind: loft, a: [[-14.75, 4, 20], [-16.2807, 3.6955, 20], [-16.5486, 4.3422, 20], [-14.75, 4.7, 20]], b: [[-14.75, 3, 17], [-15.8981, 2.7716, 17], [-16.1659, 3.4184, 17], [-14.75, 3.7, 17]], collide: 0}
      - {kind: loft, a: [[-16.2807, 3.6955, 20], [-17.5784, 2.8284, 20], [-18.0734, 3.3234, 20], [-16.5486, 4.3422, 20]], b: [[-15.8981, 2.7716, 17], [-16.8713, 2.1213, 17], [-17.3663, 2.6163, 17], [-16.1659, 3.4184, 17]], collide: 0}
      - {kind: loft, a: [[-17.5784, 2.8284, 20], [-18.4455, 1.5307, 20], [-19.0922, 1.7986, 20], [-18.0734, 3.3234, 20]], b: [[-16.8713, 2.1213, 17], [-17.5216, 1.1481, 17], [-18.1684, 1.4159, 17], [-17.3663, 2.6163, 17]], collide: 0}
      - {kind: loft, a: [[-18.4455, 1.5307, 20], [-18.75, 0, 20], [-19.45, 0, 20], [-19.0922, 1.7986, 20]], b: [[-17.5216, 1.1481, 17], [-17.75, 0, 17], [-18.45, 0, 17], [-18.1684, 1.4159, 17]], collide: 0}
      - {kind: loft, a: [[-9.55, 0, 24], [-9.9458, 1.99, 24], [-9.2991, 2.2578, 24], [-8.85, 0, 24]], b: [[-10.75, 0, 20], [-11.0545, 1.5307, 20], [-10.4078, 1.7986, 20], [-10.05, 0, 20]], collide: 0}
      - {kind: loft, a: [[-9.9458, 1.99, 24], [-11.073, 3.677, 24], [-10.5781, 4.1719, 24], [-9.2991, 2.2578, 24]], b: [[-11.0545, 1.5307, 20], [-11.9216, 2.8284, 20], [-11.4266, 3.3234, 20], [-10.4078, 1.7986, 20]], collide: 0}
      - {kind: loft, a: [[-11.073, 3.677, 24], [-12.76, 4.8042, 24], [-12.4922, 5.4509, 24], [-10.5781, 4.1719, 24]], b: [[-11.9216, 2.8284, 20], [-13.2193, 3.6955, 20], [-12.9514, 4.3422, 20], [-11.4266, 3.3234, 20]], collide: 0}
      - {kind: loft, a: [[-12.76, 4.8042, 24], [-14.75, 5.2, 24], [-14.75, 5.9, 24], [-12.4922, 5.4509, 24]], b: [[-13.2193, 3.6955, 20], [-14.75, 4, 20], [-14.75, 4.7, 20], [-12.9514, 4.3422, 20]], collide: 0}
      - {kind: loft, a: [[-14.75, 5.2, 24], [-16.74, 4.8042, 24], [-17.0078, 5.4509, 24], [-14.75, 5.9, 24]], b: [[-14.75, 4, 20], [-16.2807, 3.6955, 20], [-16.5486, 4.3422, 20], [-14.75, 4.7, 20]], collide: 0}
      - {kind: loft, a: [[-16.74, 4.8042, 24], [-18.427, 3.677, 24], [-18.9219, 4.1719, 24], [-17.0078, 5.4509, 24]], b: [[-16.2807, 3.6955, 20], [-17.5784, 2.8284, 20], [-18.0734, 3.3234, 20], [-16.5486, 4.3422, 20]], collide: 0}
      - {kind: loft, a: [[-18.427, 3.677, 24], [-19.5542, 1.99, 24], [-20.2009, 2.2578, 24], [-18.9219, 4.1719, 24]], b: [[-17.5784, 2.8284, 20], [-18.4455, 1.5307, 20], [-19.0922, 1.7986, 20], [-18.0734, 3.3234, 20]], collide: 0}
      - {kind: loft, a: [[-19.5542, 1.99, 24], [-19.95, 0, 24], [-20.65, 0, 24], [-20.2009, 2.2578, 24]], b: [[-18.4455, 1.5307, 20], [-18.75, 0, 20], [-19.45, 0, 20], [-19.0922, 1.7986, 20]], collide: 0}
      - {kind: loft, a: [[-9.55, 0, 30], [-9.9458, 1.99, 30], [-9.2991, 2.2578, 30], [-8.85, 0, 30]], b: [[-9.55, 0, 24], [-9.9458, 1.99, 24], [-9.2991, 2.2578, 24], [-8.85, 0, 24]], collide: 0}
      - {kind: loft, a: [[-9.9458, 1.99, 30], [-11.073, 3.677, 30], [-10.5781, 4.1719, 30], [-9.2991, 2.2578, 30]], b: [[-9.9458, 1.99, 24], [-11.073, 3.677, 24], [-10.5781, 4.1719, 24], [-9.2991, 2.2578, 24]], collide: 0}
      - {kind: loft, a: [[-11.073, 3.677, 30], [-12.76, 4.8042, 30], [-12.4922, 5.4509, 30], [-10.5781, 4.1719, 30]], b: [[-11.073, 3.677, 24], [-12.76, 4.8042, 24], [-12.4922, 5.4509, 24], [-10.5781, 4.1719, 24]], collide: 0}
      - {kind: loft, a: [[-12.76, 4.8042, 30], [-14.75, 5.2, 30], [-14.75, 5.9, 30], [-12.4922, 5.4509, 30]], b: [[-12.76, 4.8042, 24], [-14.75, 5.2, 24], [-14.75, 5.9, 24], [-12.4922, 5.4509, 24]], collide: 0}
      - {kind: loft, a: [[-14.75, 5.2, 30], [-16.74, 4.8042, 30], [-17.0078, 5.4509, 30], [-14.75, 5.9, 30]], b: [[-14.75, 5.2, 24], [-16.74, 4.8042, 24], [-17.0078, 5.4509, 24], [-14.75, 5.9, 24]], collide: 0}
      - {kind: loft, a: [[-16.74, 4.8042, 30], [-18.427, 3.677, 30], [-18.9219, 4.1719, 30], [-17.0078, 5.4509, 30]], b: [[-16.74, 4.8042, 24], [-18.427, 3.677, 24], [-18.9219, 4.1719, 24], [-17.0078, 5.4509, 24]], collide: 0}
      - {kind: loft, a: [[-18.427, 3.677, 30], [-19.5542, 1.99, 30], [-20.2009, 2.2578, 30], [-18.9219, 4.1719, 30]], b: [[-18.427, 3.677, 24], [-19.5542, 1.99, 24], [-20.2009, 2.2578, 24], [-18.9219, 4.1719, 24]], collide: 0}
      - {kind: loft, a: [[-19.5542, 1.99, 30], [-19.95, 0, 30], [-20.65, 0, 30], [-20.2009, 2.2578, 30]], b: [[-19.5542, 1.99, 24], [-19.95, 0, 24], [-20.65, 0, 24], [-20.2009, 2.2578, 24]], collide: 0}
      - {kind: loft, a: [[-10.55, 0, 33], [-10.8697, 1.6073, 33], [-10.223, 1.8751, 33], [-9.85, 0, 33]], b: [[-9.55, 0, 30], [-9.9458, 1.99, 30], [-9.2991, 2.2578, 30], [-8.85, 0, 30]], collide: 0}
      - {kind: loft, a: [[-10.8697, 1.6073, 33], [-11.7802, 2.9698, 33], [-11.2852, 3.4648, 33], [-10.223, 1.8751, 33]], b: [[-9.9458, 1.99, 30], [-11.073, 3.677, 30], [-10.5781, 4.1719, 30], [-9.2991, 2.2578, 30]], collide: 0}
      - {kind: loft, a: [[-11.7802, 2.9698, 33], [-13.1427, 3.8803, 33], [-12.8749, 4.527, 33], [-11.2852, 3.4648, 33]], b: [[-11.073, 3.677, 30], [-12.76, 4.8042, 30], [-12.4922, 5.4509, 30], [-10.5781, 4.1719, 30]], collide: 0}
      - {kind: loft, a: [[-13.1427, 3.8803, 33], [-14.75, 4.2, 33], [-14.75, 4.9, 33], [-12.8749, 4.527, 33]], b: [[-12.76, 4.8042, 30], [-14.75, 5.2, 30], [-14.75, 5.9, 30], [-12.4922, 5.4509, 30]], collide: 0}
      - {kind: loft, a: [[-14.75, 4.2, 33], [-16.3573, 3.8803, 33], [-16.6251, 4.527, 33], [-14.75, 4.9, 33]], b: [[-14.75, 5.2, 30], [-16.74, 4.8042, 30], [-17.0078, 5.4509, 30], [-14.75, 5.9, 30]], collide: 0}
      - {kind: loft, a: [[-16.3573, 3.8803, 33], [-17.7198, 2.9698, 33], [-18.2148, 3.4648, 33], [-16.6251, 4.527, 33]], b: [[-16.74, 4.8042, 30], [-18.427, 3.677, 30], [-18.9219, 4.1719, 30], [-17.0078, 5.4509, 30]], collide: 0}
      - {kind: loft, a: [[-17.7198, 2.9698, 33], [-18.6303, 1.6073, 33], [-19.277, 1.8751, 33], [-18.2148, 3.4648, 33]], b: [[-18.427, 3.677, 30], [-19.5542, 1.99, 30], [-20.2009, 2.2578, 30], [-18.9219, 4.1719, 30]], collide: 0}
      - {kind: loft, a: [[-18.6303, 1.6073, 33], [-18.95, 0, 33], [-19.65, 0, 33], [-19.277, 1.8751, 33]], b: [[-19.5542, 1.99, 30], [-19.95, 0, 30], [-20.65, 0, 30], [-20.2009, 2.2578, 30]], collide: 0}
      - {kind: loft, a: [[-12.15, 0, 34.6], [-12.3479, 0.995, 34.6], [-11.7012, 1.2629, 34.6], [-11.45, 0, 34.6]], b: [[-10.55, 0, 33], [-10.8697, 1.6073, 33], [-10.223, 1.8751, 33], [-9.85, 0, 33]], collide: 0}
      - {kind: loft, a: [[-12.3479, 0.995, 34.6], [-12.9115, 1.8385, 34.6], [-12.4165, 2.3335, 34.6], [-11.7012, 1.2629, 34.6]], b: [[-10.8697, 1.6073, 33], [-11.7802, 2.9698, 33], [-11.2852, 3.4648, 33], [-10.223, 1.8751, 33]], collide: 0}
      - {kind: loft, a: [[-12.9115, 1.8385, 34.6], [-13.755, 2.4021, 34.6], [-13.4871, 3.0488, 34.6], [-12.4165, 2.3335, 34.6]], b: [[-11.7802, 2.9698, 33], [-13.1427, 3.8803, 33], [-12.8749, 4.527, 33], [-11.2852, 3.4648, 33]], collide: 0}
      - {kind: loft, a: [[-13.755, 2.4021, 34.6], [-14.75, 2.6, 34.6], [-14.75, 3.3, 34.6], [-13.4871, 3.0488, 34.6]], b: [[-13.1427, 3.8803, 33], [-14.75, 4.2, 33], [-14.75, 4.9, 33], [-12.8749, 4.527, 33]], collide: 0}
      - {kind: loft, a: [[-14.75, 2.6, 34.6], [-15.745, 2.4021, 34.6], [-16.0129, 3.0488, 34.6], [-14.75, 3.3, 34.6]], b: [[-14.75, 4.2, 33], [-16.3573, 3.8803, 33], [-16.6251, 4.527, 33], [-14.75, 4.9, 33]], collide: 0}
      - {kind: loft, a: [[-15.745, 2.4021, 34.6], [-16.5885, 1.8385, 34.6], [-17.0835, 2.3335, 34.6], [-16.0129, 3.0488, 34.6]], b: [[-16.3573, 3.8803, 33], [-17.7198, 2.9698, 33], [-18.2148, 3.4648, 33], [-16.6251, 4.527, 33]], collide: 0}
      - {kind: loft, a: [[-16.5885, 1.8385, 34.6], [-17.1521, 0.995, 34.6], [-17.7988, 1.2629, 34.6], [-17.0835, 2.3335, 34.6]], b: [[-17.7198, 2.9698, 33], [-18.6303, 1.6073, 33], [-19.277, 1.8751, 33], [-18.2148, 3.4648, 33]], collide: 0}
      - {kind: loft, a: [[-17.1521, 0.995, 34.6], [-17.35, 0, 34.6], [-18.05, 0, 34.6], [-17.7988, 1.2629, 34.6]], b: [[-18.6303, 1.6073, 33], [-18.95, 0, 33], [-19.65, 0, 33], [-19.277, 1.8751, 33]], collide: 0}
      - {kind: loft, a: [[-13.35, 0, 35.5], [-13.4566, 0.5358, 35.5], [-11.7012, 1.2629, 35.5], [-11.45, 0, 35.5]], b: [[-13.35, 0, 34.6], [-13.4566, 0.5358, 34.6], [-11.7012, 1.2629, 34.6], [-11.45, 0, 34.6]], collide: 0}
      - {kind: loft, a: [[-13.4566, 0.5358, 35.5], [-13.7601, 0.9899, 35.5], [-12.4165, 2.3335, 35.5], [-11.7012, 1.2629, 35.5]], b: [[-13.4566, 0.5358, 34.6], [-13.7601, 0.9899, 34.6], [-12.4165, 2.3335, 34.6], [-11.7012, 1.2629, 34.6]], collide: 0}
      - {kind: loft, a: [[-13.7601, 0.9899, 35.5], [-14.2142, 1.2934, 35.5], [-13.4871, 3.0488, 35.5], [-12.4165, 2.3335, 35.5]], b: [[-13.7601, 0.9899, 34.6], [-14.2142, 1.2934, 34.6], [-13.4871, 3.0488, 34.6], [-12.4165, 2.3335, 34.6]], collide: 0}
      - {kind: loft, a: [[-14.2142, 1.2934, 35.5], [-14.75, 1.4, 35.5], [-14.75, 3.3, 35.5], [-13.4871, 3.0488, 35.5]], b: [[-14.2142, 1.2934, 34.6], [-14.75, 1.4, 34.6], [-14.75, 3.3, 34.6], [-13.4871, 3.0488, 34.6]], collide: 0}
      - {kind: loft, a: [[-14.75, 1.4, 35.5], [-15.2858, 1.2934, 35.5], [-16.0129, 3.0488, 35.5], [-14.75, 3.3, 35.5]], b: [[-14.75, 1.4, 34.6], [-15.2858, 1.2934, 34.6], [-16.0129, 3.0488, 34.6], [-14.75, 3.3, 34.6]], collide: 0}
      - {kind: loft, a: [[-15.2858, 1.2934, 35.5], [-15.7399, 0.9899, 35.5], [-17.0835, 2.3335, 35.5], [-16.0129, 3.0488, 35.5]], b: [[-15.2858, 1.2934, 34.6], [-15.7399, 0.9899, 34.6], [-17.0835, 2.3335, 34.6], [-16.0129, 3.0488, 34.6]], collide: 0}
      - {kind: loft, a: [[-15.7399, 0.9899, 35.5], [-16.0434, 0.5358, 35.5], [-17.7988, 1.2629, 35.5], [-17.0835, 2.3335, 35.5]], b: [[-15.7399, 0.9899, 34.6], [-16.0434, 0.5358, 34.6], [-17.7988, 1.2629, 34.6], [-17.0835, 2.3335, 34.6]], collide: 0}
      - {kind: loft, a: [[-16.0434, 0.5358, 35.5], [-16.15, 0, 35.5], [-18.05, 0, 35.5], [-17.7988, 1.2629, 35.5]], b: [[-16.0434, 0.5358, 34.6], [-16.15, 0, 34.6], [-18.05, 0, 34.6], [-17.7988, 1.2629, 34.6]], collide: 0}
      - {kind: loft, a: [[-13.85, 0, 38.5], [-13.9185, 0.3444, 38.5], [-13.4566, 0.5358, 38.5], [-13.35, 0, 38.5]], b: [[-13.85, 0, 18], [-13.9185, 0.3444, 18], [-13.4566, 0.5358, 18], [-13.35, 0, 18]], collide: 0}
      - {kind: loft, a: [[-13.9185, 0.3444, 38.5], [-14.1136, 0.6364, 38.5], [-13.7601, 0.9899, 38.5], [-13.4566, 0.5358, 38.5]], b: [[-13.9185, 0.3444, 18], [-14.1136, 0.6364, 18], [-13.7601, 0.9899, 18], [-13.4566, 0.5358, 18]], collide: 0}
      - {kind: loft, a: [[-14.1136, 0.6364, 38.5], [-14.4056, 0.8315, 38.5], [-14.2142, 1.2934, 38.5], [-13.7601, 0.9899, 38.5]], b: [[-14.1136, 0.6364, 18], [-14.4056, 0.8315, 18], [-14.2142, 1.2934, 18], [-13.7601, 0.9899, 18]], collide: 0}
      - {kind: loft, a: [[-14.4056, 0.8315, 38.5], [-14.75, 0.9, 38.5], [-14.75, 1.4, 38.5], [-14.2142, 1.2934, 38.5]], b: [[-14.4056, 0.8315, 18], [-14.75, 0.9, 18], [-14.75, 1.4, 18], [-14.2142, 1.2934, 18]], collide: 0}
      - {kind: loft, a: [[-14.75, 0.9, 38.5], [-15.0944, 0.8315, 38.5], [-15.2858, 1.2934, 38.5], [-14.75, 1.4, 38.5]], b: [[-14.75, 0.9, 18], [-15.0944, 0.8315, 18], [-15.2858, 1.2934, 18], [-14.75, 1.4, 18]], collide: 0}
      - {kind: loft, a: [[-15.0944, 0.8315, 38.5], [-15.3864, 0.6364, 38.5], [-15.7399, 0.9899, 38.5], [-15.2858, 1.2934, 38.5]], b: [[-15.0944, 0.8315, 18], [-15.3864, 0.6364, 18], [-15.7399, 0.9899, 18], [-15.2858, 1.2934, 18]], collide: 0}
      - {kind: loft, a: [[-15.3864, 0.6364, 38.5], [-15.5815, 0.3444, 38.5], [-16.0434, 0.5358, 38.5], [-15.7399, 0.9899, 38.5]], b: [[-15.3864, 0.6364, 18], [-15.5815, 0.3444, 18], [-16.0434, 0.5358, 18], [-15.7399, 0.9899, 18]], collide: 0}
      - {kind: loft, a: [[-15.5815, 0.3444, 38.5], [-15.65, 0, 38.5], [-16.15, 0, 38.5], [-16.0434, 0.5358, 38.5]], b: [[-15.5815, 0.3444, 18], [-15.65, 0, 18], [-16.15, 0, 18], [-16.0434, 0.5358, 18]], collide: 0}
      - {kind: loft, a: [[-24.65, 0, 12], [-18.75, 0, 12], [-18.75, 1.6, 12], [-24.65, 1.6, 12]], b: [[-24.65, 0, 11.3], [-18.75, 0, 11.3], [-18.75, 1.6, 11.3], [-24.65, 1.6, 11.3]], collide: 0, color: "#b9ae98"}
      - {kind: loft, a: [[-21.55, 0.85, 14.4], [-18.65, 0.85, 14.4], [-18.65, 1.6, 14.4], [-21.55, 1.6, 14.4]], b: [[-21.55, 0.85, 12], [-18.65, 0.85, 12], [-18.65, 1.6, 12], [-21.55, 1.6, 12]], collide: 0, color: "#b9ae98"}
      - {kind: loft, a: [[-21.55, 0, 15.1], [-18.65, 0, 15.1], [-18.65, 1.6, 15.1], [-21.55, 1.6, 15.1]], b: [[-21.55, 0, 14.4], [-18.65, 0, 14.4], [-18.65, 1.6, 14.4], [-21.55, 1.6, 14.4]], collide: 0, color: "#b9ae98"}
      - {kind: loft, a: [[-21.55, 0, 27.5], [-21.6413, 0.4592, 27.5], [-20.9946, 0.7271, 27.5], [-20.85, 0, 27.5]], b: [[-21.55, 0, 15.1], [-21.6413, 0.4592, 15.1], [-20.9946, 0.7271, 15.1], [-20.85, 0, 15.1]], collide: 0}
      - {kind: loft, a: [[-21.6413, 0.4592, 27.5], [-21.9015, 0.8485, 27.5], [-21.4065, 1.3435, 27.5], [-20.9946, 0.7271, 27.5]], b: [[-21.6413, 0.4592, 15.1], [-21.9015, 0.8485, 15.1], [-21.4065, 1.3435, 15.1], [-20.9946, 0.7271, 15.1]], collide: 0}
      - {kind: loft, a: [[-21.9015, 0.8485, 27.5], [-22.2908, 1.1087, 27.5], [-22.0229, 1.7554, 27.5], [-21.4065, 1.3435, 27.5]], b: [[-21.9015, 0.8485, 15.1], [-22.2908, 1.1087, 15.1], [-22.0229, 1.7554, 15.1], [-21.4065, 1.3435, 15.1]], collide: 0}
      - {kind: loft, a: [[-22.2908, 1.1087, 27.5], [-22.75, 1.2, 27.5], [-22.75, 1.9, 27.5], [-22.0229, 1.7554, 27.5]], b: [[-22.2908, 1.1087, 15.1], [-22.75, 1.2, 15.1], [-22.75, 1.9, 15.1], [-22.0229, 1.7554, 15.1]], collide: 0}
      - {kind: loft, a: [[-22.75, 1.2, 27.5], [-23.2092, 1.1087, 27.5], [-23.4771, 1.7554, 27.5], [-22.75, 1.9, 27.5]], b: [[-22.75, 1.2, 15.1], [-23.2092, 1.1087, 15.1], [-23.4771, 1.7554, 15.1], [-22.75, 1.9, 15.1]], collide: 0}
      - {kind: loft, a: [[-23.2092, 1.1087, 27.5], [-23.5985, 0.8485, 27.5], [-24.0935, 1.3435, 27.5], [-23.4771, 1.7554, 27.5]], b: [[-23.2092, 1.1087, 15.1], [-23.5985, 0.8485, 15.1], [-24.0935, 1.3435, 15.1], [-23.4771, 1.7554, 15.1]], collide: 0}
      - {kind: loft, a: [[-23.5985, 0.8485, 27.5], [-23.8587, 0.4592, 27.5], [-24.5054, 0.7271, 27.5], [-24.0935, 1.3435, 27.5]], b: [[-23.5985, 0.8485, 15.1], [-23.8587, 0.4592, 15.1], [-24.5054, 0.7271, 15.1], [-24.0935, 1.3435, 15.1]], collide: 0}
      - {kind: loft, a: [[-23.8587, 0.4592, 27.5], [-23.95, 0, 27.5], [-24.65, 0, 27.5], [-24.5054, 0.7271, 27.5]], b: [[-23.8587, 0.4592, 15.1], [-23.95, 0, 15.1], [-24.65, 0, 15.1], [-24.5054, 0.7271, 15.1]], collide: 0}
      - {kind: loft, a: [[-22.75, 1.2, 15.1], [-23.2092, 1.1087, 15.1], [-23.4771, 1.7554, 15.1], [-22.75, 1.9, 15.1]], b: [[-22.75, 1.2, 11.3], [-23.2092, 1.1087, 11.3], [-23.4771, 1.7554, 11.3], [-22.75, 1.9, 11.3]], collide: 0}
      - {kind: loft, a: [[-23.2092, 1.1087, 15.1], [-23.5985, 0.8485, 15.1], [-24.0935, 1.3435, 15.1], [-23.4771, 1.7554, 15.1]], b: [[-23.2092, 1.1087, 11.3], [-23.5985, 0.8485, 11.3], [-24.0935, 1.3435, 11.3], [-23.4771, 1.7554, 11.3]], collide: 0}
      - {kind: loft, a: [[-23.5985, 0.8485, 15.1], [-23.8587, 0.4592, 15.1], [-24.5054, 0.7271, 15.1], [-24.0935, 1.3435, 15.1]], b: [[-23.5985, 0.8485, 11.3], [-23.8587, 0.4592, 11.3], [-24.5054, 0.7271, 11.3], [-24.0935, 1.3435, 11.3]], collide: 0}
      - {kind: loft, a: [[-23.8587, 0.4592, 15.1], [-23.95, 0, 15.1], [-24.65, 0, 15.1], [-24.5054, 0.7271, 15.1]], b: [[-23.8587, 0.4592, 11.3], [-23.95, 0, 11.3], [-24.65, 0, 11.3], [-24.5054, 0.7271, 11.3]], collide: 0}
      - {kind: rod, from: [-3.5, -0.6, 22.5], to: [-5.2, -0.6, 26], radius: 0.45, capsule: true, collide: 0, color: "#6d675c"}
      - {kind: rod, from: [-5.2, -0.6, 26], to: [-6, -0.6, 30.5], radius: 0.45, capsule: true, collide: 0, color: "#6d675c"}
      - {kind: rod, from: [-6, -1.4, 30.5], to: [-6, 0.4, 30.5], radius: 0.25, collide: 0, color: "#6d675c"}
joints:
  - {id: j_h, type: hinge, body: handle, axis: [0, 1, 0], damping: 0.001}   # the handle on its fulcrum (the hand's)
  - {id: j_p, type: slide, body: piston, axis: [0, 0, 1], range: [-2.2, 3.7], damping: 0.01}
  - {id: j_r, type: hinge, body: rod, axis: [0, 1, 0], damping: 0.0005}   # the rod on the piston
  - {id: j_sv, type: slide, body: spoppet, axis: [0, 0, 1], range: [0, 0.9], damping: 0.0005}   # 0: on the suction seat
  - {id: j_of, type: hinge, body: oflap, axis: [0, -1, 0], range: [0, 0.7], damping: 0.00002}   # 0: shut on the outlet seat
pins:
  - {id: p_R, a: handle, b: rod, at: [-0.2, 0, 30]}   # the rod's top in the handle
vessels:
  substeps: 4
  nodes:
    - {id: ground, kind: source, p: 735.75}   # the ground water feeding the well, keeping its level
    - {id: well, kind: tank, area: 84, z: -18, level: 7.5,
       draw: {section: [[-7, -18], [7, -18], [7, -8], [-7, -8]], y: [0.05, 6]}}
    - {id: spipe, kind: chamber, fixed: -15, sections: [[-15, 10.1788], [-0.9, 4.5239]], volume: 147.592, water: 147.592, K: 2e+06,
       draw: {sections: [[[-1.8, -15], [1.8, -15], [1.8, -0.9], [-1.8, -0.9]], [[-1.2, -0.9], [1.2, -0.9], [1.2, 0], [-1.2, 0]]], y: [0, 1.8]}}   # the suction pipe, primed
    - {id: barrel, kind: chamber, fixed: 0, sections: [[0, 28.2743], [1.25, 72.2831], [2.9, 38.4531], [12, 28.2743]], volume: 575.219, water: 575.219, K: 2e+06,
       draw: {sections: [[[-2.95, 0], [2.95, 0], [2.95, 22.5], [-2.95, 22.5]], [[-12.95, 1.25], [-2.95, 1.25], [-2.95, 2.9], [-12.95, 2.9]], [[-16.55, 1.25], [-12.95, 1.25], [-12.95, 12], [-16.55, 12]]], y: [0, 1.6]}}   # under the piston, the passage and the riser
    - {id: vessel, kind: chamber, fixed: 12, sections: [[12, 50.2655], [14.5, 50.2655], [17, 28.2743], [20, 44.108], [24, 78.7911], [30, 78.7911], [33, 49.2602], [34.6, 15.0796]], volume: 1300.52, water: 380.258, p: 2400, K: 2e+06,
       draw: {sections: [[[-18.75, 12], [-10.75, 12], [-10.75, 14.5], [-18.75, 14.5]], [[-18.75, 14.5], [-10.75, 14.5], [-11.4167, 18], [-18.0833, 18]], [[-18.0833, 18], [-16.15, 18], [-16.15, 24], [-19.95, 24]], [[-13.35, 18], [-11.4167, 18], [-9.55, 24], [-13.35, 24]], [[-19.95, 24], [-16.15, 24], [-16.15, 30], [-19.95, 30]], [[-13.35, 24], [-9.55, 24], [-9.55, 30], [-13.35, 30]], [[-19.95, 30], [-16.15, 30], [-16.15, 34.6], [-17.35, 34.6]], [[-13.35, 30], [-9.55, 30], [-12.15, 34.6], [-13.35, 34.6]]], y: [0, 4]}}   # the air chamber: water under air
    - {id: air, kind: source, p: 0}
  links:
    - {id: spring, from: ground, to: well, area: 30, cd: 0.62, z: -18}
    - {id: intake, from: well, to: spipe, area: 10.1788, cd: 0.8, z: -14.8}   # the pipe's open foot
    - {id: suction, from: spipe, to: barrel, area: 4.5239, cd: 0.62, z: 99, zTo: -99, open: {joint: j_sv, q: [0, 0.6], frac: [0, 1]}}
    - {id: outlet, from: barrel, to: vessel, area: 10.1788, cd: 0.62, z: 12, zTo: 12, open: {joint: j_of, q: [0, 0.4], frac: [0, 1]}}
    - {id: dip, from: vessel, to: air, area: 0.06, cd: 0.9, z: 18, zTo: 60, check: true, length: 42,
       draw: {from: [-14.75, 0.3, 18], to: [-14.75, 0.3, 38.5], width: 1.6, flow: 0.03}}   # up the dip pipe and on out of the picture
    - {id: leg, from: vessel, to: air, area: 0.06, cd: 0.9, z: 12.2, zTo: 60, check: true, length: 52,
       draw: {from: [-18.75, 0.3, 13.2], via: [[-22.75, 0.3, 13.2]], to: [-22.75, 0.3, 27.5], width: 2.2, flow: 0.03}}   # along the foot, up the leg and on out of the picture
  pistons:
    - {node: barrel, joint: j_p, area: 28.2743, sign: 1}
    - {node: spipe, joint: j_sv, area: 4.5239, sign: 1}
    - {node: barrel, joint: j_sv, area: 4.5239, sign: -1, z: 0}
    - {node: barrel, joint: j_of, area: 10.1788, arm: 2.3, sign: 1, z: 12}
    - {node: vessel, joint: j_of, area: 10.1788, arm: 2.3, sign: -1, z: 12}
driver: {joint: j_h, kind: velocity, rpm: 0, swing: {amplitude: 0.3, hz: 0.5}, kv: 3000, max_torque: 40}
checks:
  - {type: amplitude, joint: j_p, min: 0.014, max: 0.022, settle_s: 1.0, window_s: 10.5}
  - {type: amplitude, joint: j_sv, min: 0.002, max: 0.009, settle_s: 1.0, window_s: 10.5}
  - {type: amplitude, joint: j_of, min: 0.05, max: 0.7, settle_s: 1.0, window_s: 10.5}
  - {type: penetration, max: 0.003}
camera: {target: [-2, 0, 5], position: [-2, -200, 8], fov: 22.5}
display:
  output: j_p
  labels: {j_h: "Handle (driver)", j_p: "Piston", j_r: "Piston rod", j_sv: "Suction valve", j_of: "Outlet valve"}
