From: Permondes Date: Wed, 24 Jan 2024 18:38:55 +0000 (+0100) Subject: Mass on Sphere, open amplifier, division X-Git-Url: https://permondes.de/gitweb/Analog_Engine.git/commitdiff_plain/f25252dda165cd2fb57a745bcb17df03d5b590f3?ds=sidebyside Mass on Sphere, open amplifier, division Moved scripts to sub-directory AESL Technical: added open amplifier, division Applications: ccc --- diff --git a/Charge in em field.AESL b/AESL/Charge in em field.AESL similarity index 96% rename from Charge in em field.AESL rename to AESL/Charge in em field.AESL index 47d2847..0ca5f07 100644 --- a/Charge in em field.AESL +++ b/AESL/Charge in em field.AESL @@ -8,7 +8,7 @@ COMMENT good start settings are omega=0,92, a*omega^2=0,05 ENVIRONMENT DIVISION ENGINE Anabrid-THAT -TIMEBASE 1ms +TIMEBASE 1ms # corresponds to 1s REQUIRES INTEGRATOR 4 REQUIRES INVERTER 1 REQUIRES COEFFICIENT 3 diff --git a/Damped Harmonic Osciallator scaled.AESL b/AESL/Damped Harmonic Osciallator scaled.AESL similarity index 98% rename from Damped Harmonic Osciallator scaled.AESL rename to AESL/Damped Harmonic Osciallator scaled.AESL index cc766f2..06a7a9e 100644 --- a/Damped Harmonic Osciallator scaled.AESL +++ b/AESL/Damped Harmonic Osciallator scaled.AESL @@ -10,7 +10,7 @@ REQUIRES INVERTER 1 REQUIRES SUMMER 2 DATA DIVISION -OUTPUT OUT.U y +OUTPUT OUTPUT.U y ALIAS COEFFICIENT.1 InitialPosition ALIAS COEFFICIENT.2 InitialSpeed ALIAS COEFFICIENT.3 SpringForce diff --git a/Damped Harmonic Oscillator.AESL b/AESL/Damped Harmonic Oscillator.AESL similarity index 98% rename from Damped Harmonic Oscillator.AESL rename to AESL/Damped Harmonic Oscillator.AESL index 5dbe333..12a995e 100644 --- a/Damped Harmonic Oscillator.AESL +++ b/AESL/Damped Harmonic Oscillator.AESL @@ -9,7 +9,7 @@ REQUIRES INVERTER 1 REQUIRES SUMMER 2 DATA DIVISION -OUTPUT OUT.U y +OUTPUT OUTPUT.U y ALIAS COEFFICIENT.1 InitialPosition ALIAS COEFFICIENT.2 InitialSpeed ALIAS COEFFICIENT.3 SpringForce diff --git a/AESL/MassOnSphere.AESL b/AESL/MassOnSphere.AESL new file mode 100644 index 0000000..74f2c51 --- /dev/null +++ b/AESL/MassOnSphere.AESL @@ -0,0 +1,58 @@ +IDENTIFICATION DIVISION +PROGRAM-ID MassOnSphere +VERSION 20240124 +COMMENT A mass m rests at the apex on a fixed sphere with radius a. +COMMENT With a slight displacement, it slides down the sphere without friction +COMMENT x'' = C1*x*y - C3*x +COMMENT y'' = C2*y*y - C4*y - g +COMMENT Scaling: measuring distances in dm (10¹ m) +COMMENT Initial condition: slightly off the top of the sphere to get the mass rolling. +COMMENT Note: x0 is a function of y0 with x0² + y0² = a² +COMMENT Note: ICs have to be negative as the integrator is inverting + +ENVIRONMENT DIVISION +ENGINE Anabrid-THAT +TIMEBASE 1ms +REQUIRES COEFFICIENT 7 +REQUIRES INTEGRATOR 4 +REQUIRES MULTIPLIER 2 +REQUIRES INVERTER 4 +REQUIRES SUMMER 2 + +DATA DIVISION +OUTPUT OUTPUT.X x +OUTPUT OUTPUT.Y y +# Example values based on a=1 +COEFFICIENT.1 3g/a² for xy e.g. 2,943 +COEFFICIENT.2 3g/a² for y² +COEFFICIENT.3 2g/a for x e.g. 1,962 +COEFFICIENT.4 2g/a for y +COEFFICIENT.5 g e.g. 0,981 +COEFFICIENT.6 a initial condition y e.g. 0,957 +COEFFICIENT.7 0 initial condition x, slightly above 0 to start motion, e.g. 0,290 + +PROGRAM DIVISION +-1 -> COEFFICIENT.5 -> -g +-1 -> COEFFICIENT.6 -> -y0 +-1 -> COEFFICIENT.7 -> -x0 + +x'' -> INTEGRATOR.1 -> -x' +-x', IC:-x0 -> INTEGRATOR.2 -> x +y'' -> INTEGRATOR.3 -> -y' +-y', IC:-y0 -> INTEGRATOR.4 -> y +x,y -> MULTIPLIER.1 -> x*y +y,y -> MULTIPLIER.2 -> y^2 +x*y -> COEFFICIENT.1 -> 3g/a²*x*y/10 +y^2 -> COEFFICIENT.2 -> 3g/a²*y^2/10 +x -> COEFFICIENT.3 -> 2g/a*x/10 +y -> COEFFICIENT.4 -> 2g/a*y/10 +2g/a*x/10 -> INVERTER.1 -> -2g/a*x/10 +2g/a*y/10 -> INVERTER.2 -> -2g/a*y/10 +10:3g/a²*x*y/10, 10:-2g/a*x/10 -> SUMMER.1 -> -x'' +-x'' -> INVERTER.3 -> x'' +10:3g/a²*y^2/10, 10:-2g/a*y/10, 1:-g -> SUMMER.2 -> -y'' +-y'' -> INVERTER.4 -> y'' + +OPERATION DIVISION +MODE REPEAT +OP-TIME 0,024 # after that, the mass would jump off the sphere, which is not included in this model diff --git a/Radioactive Decay.AESL b/AESL/Radioactive Decay.AESL similarity index 95% rename from Radioactive Decay.AESL rename to AESL/Radioactive Decay.AESL index 34b3acf..e225eef 100644 --- a/Radioactive Decay.AESL +++ b/AESL/Radioactive Decay.AESL @@ -8,7 +8,7 @@ REQUIRES Integrator 1 REQUIRES Inverter 1 DATA DIVISION -OUTPUT OUT.X N +OUTPUT OUTPUT.X N ALIAS COEFFICIENT.1 InitialValue ALIAS COEFFICIENT.2 Decay diff --git a/Analog Engine Example Applications.odt b/Analog Engine Example Applications.odt index 226f3e4..17fca23 100644 Binary files a/Analog Engine Example Applications.odt and b/Analog Engine Example Applications.odt differ diff --git a/Analog Engine Technical Topics.odt b/Analog Engine Technical Topics.odt index 96b6dd1..1d3b30a 100644 Binary files a/Analog Engine Technical Topics.odt and b/Analog Engine Technical Topics.odt differ