]> permondes.de Git - Analog_Engine.git/blob - AESL/4.11 TwoRaindrops.AESL
4c83095044ca265b4567b68d1eeda7dcb85ae505
[Analog_Engine.git] / AESL / 4.11 TwoRaindrops.AESL
1 IDENTIFICATION DIVISION
2 PROGRAM-ID TwoRaindrops
3 VERSION 20240131
4 COMMENT Two raindrops of same size and altitude are falling from a cloud.
5 COMMENT How long does it take until the touch?
6 COMMENT s'' = -2*gamma*m/s^2
7
8 ENVIRONMENT DIVISION
9 ENGINE Anabrid-THAT
10 TIMEBASE 1ms
11 REQUIRES COEFFICIENT 3, INVERTER 1, INTEGRATOR 2, COMPARATOR 1, MULTIPLIER 2, OPEN-AMP 1
12
13 DATA DIVISION
14 OUTPUT OUTPUT.X s_limited
15 COEFFICIENT.1 2*radius of the raindrop
16 COEFFICIENT.2 initial distance -s0
17 COEFFICIENT.3 2*gamma*m
18
19 PROGRAM DIVISION
20 +1 -> COEFFICIENT.1 -> 2r
21 2r -> INVERTER.1 -> -2r
22 -1 -> COEFFICIENT.2 -> -s0
23 +1 -> COEFFICIENT.3 -> 2gamma*m
24 s'' -> INTEGRATOR.1 -> -s'
25 -s', IC:-s0 -> INTEGRATOR.2 -> s
26
27 # The raindrops may only approach until they touch. Our model does not include their unification
28 A:s, B:-2r, GT0:s, LT0:2r -> COMPARATOR.1 -> s_limited
29
30 s_limited,s_limited -> MULTIPLIER.1 -> s^2
31
32 # division 2gamma*m / s^2
33 # Open amplifier is realized on THAT by FB:SUMMER.GND -> SUMMER
34 2gamma*m, inp2 -> OPEN-AMP -> -2gamma*m/s^2=s''
35 2gamma*m^2, s^2 -> MULTIPLIER.2 -> inp2
36
37 OPERATION DIVISION
38 MODE REPEAT
39 OP-TIME 12ms