Hydraulic neuron model

I recently came across a web page that described a computer working with water instead of electricity. There is a very smart idea of a logical gate with two input jets of water and two outputs: when there is no input water, there is no output; when there is one input, the water flows through ouput #1; when there are two input jets, they collide and the water gets diverted to output #2. Therefore output #1 is a XOR gate and output #2 is an AND gate.

I was wondering how to make a hydraulic model of a neuron (which would be analog rather than digital). It could be an interesting educational tool. You could imagine a container where water would flow from the top, analog to the input current, and the water level would be the membrane potential v. In this simple configuration, it corresponds to the perfect integrator model: dv/dt=I/C, where I is the input flow (in units of volume/time) and C is the area of the container section. I chose C for this parameter because it clearly plays the role of the membrane capacitance.

Now a simple way to implement the current leak is to cut a hole at the bottom of the container. Then the water flow through that hole is proportional to \sqrt{v}, where a is the area of the hole. So we get the following equation:

Cdv/dt=I-k \sqrt{v}

where k is a proportionality factor. If the hole is cut at level v_0 (rather than at the bottom), we obtain:

Cdv/dt=I-k \sqrt{[v-v_0]^+}

which is a nonlinear leaky neuron model ([x]^+=max(0,x)).

The hard problem now is to implement spiking. Here I think we need mechanical elements: when the level reaches some mechanical element at the top, it would trigger the opening of a sink at the bottom, which would remain open as long as water flows through it (or as long the weight of water is above some critical level). Alternatively, when the weight of the water reaches a critical threshold, then the sink at the bottom opens, and it remains open as long as water is flowing (but I am not sure how to implement that property).

Any idea?


p.s.: to have a linear leaky neuron instead of nonlinear, one idea is to have the area a change with v as \sqrt{v}. To achieve that, one can imagine that the floor is mounted on a spring, so that the area of the hole increases with the weight of the water. If the width of the hole goes as 1/\sqrt{x} (where x is the vertical position on the hole), then the flow through the hole is proportional to v. If we want to avoid the rectification ([v-v_0]^+), i.e., if we want water to flow in when the level is below v_0, then we need to immerse the container in a very large (ideally infinite) container with water level v_0.