]> permondes.de Git - Analog_Engine.git/blame - scripts/TP1 10.30 Linear Molecule.LACE
Throwing a stone on earth, starting a rocket from earth
[Analog_Engine.git] / scripts / TP1 10.30 Linear Molecule.LACE
CommitLineData
56968557
P
1# TP1 10.30 Linear Molecule
2# In a linear molecule of symmetric construction of type A-B-A the atoms are harmonically coupled and are performing small oscillations around the equilibrium positions.
3
4# s1'' = -omega0^2*s1 + omega0^2*s2
5# s2'' = -my (-omega0^2*s1 + omega0^2*s2 + omega0^2*s2 - omega0^2*s3)
6# s3'' = omega0^2*s2 - omega0^2*s3
7
8# NB: all integrators have to run with 100 nF capacitance, i.e. SLOW mode
9
6d26a6bd
P
10# the following integrator has to be built up manually as THAT only has 5 integrators and we need 6
11# iintegrate -s2' -> s2
12define openamp (variable) -> result
13 isum (variable) -> result
14 connect (FB) -> GND
15
16define iintegrate6 (variable) -> integral
17 openamp variable -> integral
18 connect SJ -> cp
19 capacitor.100nF (integral) -> cp
20# this capacitance requires SLOW settings on all other capacitors. Better use an external 1 nF capacitor.
21
22alias coefficient.1 -> coefficient.omega0^2_1 # omega0^2 for s1
23alias coefficient.2 -> coefficient.omega0^2_2 # omega0^2 for s2 # same as omega0^2_1
24alias coefficient.3 -> coefficient.omega0^2_3 # omega0^2 for s3 # same as omega0^2_1
25alias coefficient.4 -> coefficient.my
26coefficient.5 (-1) -> -s1_0 # initial position of s1
27coefficient.6 (-1) -> -s3_0 # initial position of s3
56968557
P
28# initial positon of s2, the central mass, is set to 0
29
30iintegrate -omega0^2_1*s1, omega0^2_2*s2 -> -s1' # input is s1''
31iintegrate -s1' -> s1
32 IC: -s1_0
33invert s1 -> -s1
6d26a6bd 34coefficient.omega0^2_1 (-s1) -> -omega0^2_1*s1
56968557
P
35
36iintegrate -my*bracket -> -s2' # input is s2''
6d26a6bd
P
37iintegrate6 -s2' -> s2
38coefficient.omega0^2_2 (s2) -> omega0^2_2*s2
56968557 39isum -omega0^2_1*s1, omega0^2_2*s2, omega0^2_2*s2, -omega0^2_3*s3 -> -bracket
6d26a6bd 40coefficient.my (-bracket) -> -my*bracket
56968557
P
41
42iintegrate omega0^2_2*s2, -omega0^2_3*s3 -> -s3' # input is s3''
43iintegrate -s3' -> s3
44 IC: -s3_0
45invert s3 -> -s3
6d26a6bd
P
46coefficient.omega0^2_3 (-s3) -> -omega0^2_3*s3
47
48output s1 -> out.x
49output s2 -> out.y
50output s3 -> out.z
56968557 51