1 |
johnpye |
839 |
REQUIRE "johnpye/beam.a4c"; |
2 |
|
|
|
3 |
|
|
(* |
4 |
|
|
Simple superposition of two loads |
5 |
|
|
*) |
6 |
|
|
|
7 |
|
|
MODEL beam2; |
8 |
|
|
|
9 |
|
|
n IS_A integer_constant; |
10 |
|
|
n:== 2; |
11 |
|
|
|
12 |
|
|
E IS_A youngs_modulus; |
13 |
|
|
I IS_A second_moment_of_area; |
14 |
|
|
L IS_A distance; |
15 |
|
|
|
16 |
johnpye |
840 |
S IS_A beam_superposition(n,E,I,L); |
17 |
johnpye |
839 |
|
18 |
johnpye |
840 |
P1 ALIASES S.B[1].P; |
19 |
|
|
a1 ALIASES S.x[1]; |
20 |
|
|
P2 ALIASES S.B[2].P; |
21 |
|
|
a2 ALIASES S.x[2]; |
22 |
|
|
|
23 |
|
|
v1 ALIASES S.v[1]; |
24 |
|
|
v2 ALIASES S.v[2]; |
25 |
johnpye |
839 |
METHODS |
26 |
|
|
METHOD specify; |
27 |
johnpye |
840 |
FIX E,I,L; |
28 |
|
|
FIX P1,a1; |
29 |
|
|
FIX P2,a2; |
30 |
johnpye |
839 |
END specify; |
31 |
johnpye |
840 |
|
32 |
|
|
METHOD bound_self; |
33 |
|
|
RUN S.bound_self; |
34 |
|
|
L.upper_bound := 500 {m}; |
35 |
|
|
END bound_self; |
36 |
johnpye |
839 |
|
37 |
|
|
METHOD values; |
38 |
|
|
E := 200 {GPa}; |
39 |
|
|
I := 0.5e6{mm^4}; |
40 |
|
|
L := 3 {m}; |
41 |
|
|
P1 := 10 {kN}; a1 := 1 {m}; |
42 |
|
|
P2 := 10 {kN}; a2 := 2 {m}; |
43 |
|
|
END values; |
44 |
|
|
|
45 |
|
|
METHOD on_load; |
46 |
johnpye |
840 |
RUN reset; RUN bound_self; RUN values; |
47 |
johnpye |
839 |
END on_load; |
48 |
|
|
|
49 |
|
|
END beam2; |