]> permondes.de Git - Analog_Engine.git/commitdiff
Application: Falling Mass
authorPermondes <machen@permondes.de>
Sun, 25 Feb 2024 19:09:43 +0000 (20:09 +0100)
committerPermondes <machen@permondes.de>
Sun, 25 Feb 2024 19:09:43 +0000 (20:09 +0100)
Application: Falling Mass
Technical:
- Helper: Limit Integral to positive values;
- Scaling by analyzing the differential equation

AESL/TP1 07.19 Falling Mass.AESL [new file with mode: 0644]
Analog Engine Example Applications.odt
Analog Engine Technical Topics.odt

diff --git a/AESL/TP1 07.19 Falling Mass.AESL b/AESL/TP1 07.19 Falling Mass.AESL
new file mode 100644 (file)
index 0000000..d73ae03
--- /dev/null
@@ -0,0 +1,55 @@
+IDENTIFICATION DIVISION
+PROGRAM-ID FallingParticle
+VERSION 20240225
+COMMENT Calculate the deflection from the vertical caused by the Earth's rotation of a particle falling freely from rest from a height h.
+COMMENT Differential Equations:
+COMMENT    x''=-bz'+ay' # x-axis is along latitude,  directed to east
+COMMENT    y''=-ax'     # y-axis is along longitude, directed to north
+COMMENT    z''=-g+ax'   # z-axis is perpendicular to the surface of earth
+COMMENT    g: gravitational acceleration = 9,81 m/s²
+COMMENT    a: 2*omega*sin(phi)
+COMMENT    b: 2*omega*cos(phi)
+COMMENT    omega: rotation velocity of the earth = 2*pi/day
+COMMENT    phi: Latitude of location (0-90°)
+COMMENT    Initial Condition: z(0)=h
+COMMENT The full solution requires 6 INTEGRATORs, Anabrid-THAT just has 5. The deflection to longitude (y) is neglegible and can be omitted (marked #*).
+COMMENT It could also be solved in a separated algorithm omitting x.
+
+ENVIRONMENT DIVISION
+ENGINE Anabrid-THAT
+TIMEBASE 1ms
+REQUIRES COEFFICIENT 5, INTEGRATOR 5, SUMMER 1, INVERTER 1
+
+DATA DIVISION
+OUTPUT OUTPUT.X x
+OUTPUT OUTPUT.Y y
+OUTPUT OUTPUT.Z z
+COEFFICIENT.1 AY # 2*2pi/day*sin(phi)
+COEFFICIENT.2 AX # = AY
+COEFFICIENT.3 B  # 2*2pi/day*cos(phi)
+COEFFICIENT.4 G  # gravitational acceleration = 0,981 da-m/s²
+COEFFICIENT.5 H  # height h [da-m]
+
+PROGRAM DIVISION
+-1 -> COEFFICIENT.H -> -h
+
+-bz',ay' -> INTEGRATOR -> -x' # Input is x''
+-x' -> INTEGRATOR -> x
+
+y'' -> INTEGRATOR -> -y'
+#* -y' -> INTEGRATOR -> y   
+
+z'' -> INTEGRATOR -> -z' 
+-z', IC:-h, SJ:limiter -> INTEGRATOR -> z 
+CAT:z -> DIODE -> limiter # limit z to >= 0
+
+-x' -> COEFFICIENT.AX -> -ax'=y''
+-y' -> COEFFICIENT.AY -> -ay'
+-ay' -> INVERTER -> ay'
+-z' -> COEFFICIENT.B  -> -bz'
++1  -> COEFFICIENT.G  -> g
+-ax', g -> SUMMER -> -g+ax'=z''
+
+OPERATION DIVISION
+MODE REPEAT
+OP-TIME 7,3ms
index de6564b820f22eace882849810167160ff8da8d0..934e710d2e406f3f7323c00e9e78404c494d9bc5 100644 (file)
Binary files a/Analog Engine Example Applications.odt and b/Analog Engine Example Applications.odt differ
index c1513693b406a5559c94917baa73a09e01b96287..d3efb954795d9e43899edb1d45cfe03f8bd0d940 100644 (file)
Binary files a/Analog Engine Technical Topics.odt and b/Analog Engine Technical Topics.odt differ