neuper@37906
|
1 |
(* chapter 'Biegelinie' from the textbook:
|
neuper@37906
|
2 |
Timischl, Kaiser. Ingenieur-Mathematik 3. Wien 1999. p.268-271.
|
neuper@37906
|
3 |
author: Walther Neuper
|
neuper@37906
|
4 |
050826,
|
neuper@37906
|
5 |
(c) due to copyright terms
|
neuper@37906
|
6 |
|
neuper@37906
|
7 |
remove_thy"Biegelinie";
|
neuper@37947
|
8 |
use_thy"Knowledge/Biegelinie";
|
neuper@37947
|
9 |
use_thy_only"Knowledge/Biegelinie";
|
neuper@37906
|
10 |
|
neuper@37906
|
11 |
remove_thy"Biegelinie";
|
neuper@37947
|
12 |
use_thy"Knowledge/Isac";
|
neuper@37906
|
13 |
*)
|
neuper@37906
|
14 |
|
neuper@37906
|
15 |
Biegelinie = Integrate + Equation + EqSystem +
|
neuper@37906
|
16 |
|
neuper@37906
|
17 |
consts
|
neuper@37906
|
18 |
|
neuper@37906
|
19 |
q_ :: real => real ("q'_") (* Streckenlast *)
|
neuper@37906
|
20 |
Q :: real => real (* Querkraft *)
|
neuper@37906
|
21 |
Q' :: real => real (* Ableitung der Querkraft *)
|
neuper@37906
|
22 |
M'_b :: real => real ("M'_b") (* Biegemoment *)
|
neuper@37906
|
23 |
M'_b' :: real => real ("M'_b'") (* Ableitung des Biegemoments *)
|
neuper@37906
|
24 |
y'' :: real => real (* 2.Ableitung der Biegeline *)
|
neuper@37906
|
25 |
y' :: real => real (* Neigung der Biegeline *)
|
neuper@37906
|
26 |
(*y :: real => real (* Biegeline *)*)
|
neuper@37906
|
27 |
EI :: real (* Biegesteifigkeit *)
|
neuper@37906
|
28 |
|
neuper@37906
|
29 |
(*new Descriptions in the related problems*)
|
neuper@37906
|
30 |
Traegerlaenge :: real => una
|
neuper@37906
|
31 |
Streckenlast :: real => una
|
neuper@37906
|
32 |
BiegemomentVerlauf :: bool => una
|
neuper@37906
|
33 |
Biegelinie :: (real => real) => una
|
neuper@37906
|
34 |
Randbedingungen :: bool list => una
|
neuper@37906
|
35 |
RandbedingungenBiegung :: bool list => una
|
neuper@37906
|
36 |
RandbedingungenNeigung :: bool list => una
|
neuper@37906
|
37 |
RandbedingungenMoment :: bool list => una
|
neuper@37906
|
38 |
RandbedingungenQuerkraft :: bool list => una
|
neuper@37906
|
39 |
FunktionsVariable :: real => una
|
neuper@37906
|
40 |
Funktionen :: bool list => una
|
neuper@37906
|
41 |
Gleichungen :: bool list => una
|
neuper@37906
|
42 |
|
neuper@37906
|
43 |
(*Script-names*)
|
neuper@37906
|
44 |
Biegelinie2Script :: "[real,real,real,real=>real,bool list,
|
neuper@37906
|
45 |
bool] => bool"
|
neuper@37906
|
46 |
("((Script Biegelinie2Script (_ _ _ _ _ =))// (_))" 9)
|
neuper@37906
|
47 |
BiegelinieScript :: "[real,real,real,real=>real,bool list,bool list,
|
neuper@37906
|
48 |
bool] => bool"
|
neuper@37906
|
49 |
("((Script BiegelinieScript (_ _ _ _ _ _ =))// (_))" 9)
|
neuper@37906
|
50 |
Biege2xIntegrierenScript :: "[real,real,real,bool,real=>real,bool list,
|
neuper@37906
|
51 |
bool] => bool"
|
neuper@37906
|
52 |
("((Script Biege2xIntegrierenScript (_ _ _ _ _ _ =))// (_))" 9)
|
neuper@37906
|
53 |
Biege4x4SystemScript :: "[real,real,real,real=>real,bool list,
|
neuper@37906
|
54 |
bool] => bool"
|
neuper@37906
|
55 |
("((Script Biege4x4SystemScript (_ _ _ _ _ =))// (_))" 9)
|
neuper@37906
|
56 |
Biege1xIntegrierenScript ::
|
neuper@37906
|
57 |
"[real,real,real,real=>real,bool list,bool list,bool list,
|
neuper@37906
|
58 |
bool] => bool"
|
neuper@37906
|
59 |
("((Script Biege1xIntegrierenScript (_ _ _ _ _ _ _ =))// (_))" 9)
|
neuper@37906
|
60 |
Belastung2BiegelScript :: "[real,real,
|
neuper@37906
|
61 |
bool list] => bool list"
|
neuper@37906
|
62 |
("((Script Belastung2BiegelScript (_ _ =))// (_))" 9)
|
neuper@37906
|
63 |
SetzeRandbedScript :: "[bool list,bool list,
|
neuper@37906
|
64 |
bool list] => bool list"
|
neuper@37906
|
65 |
("((Script SetzeRandbedScript (_ _ =))// (_))" 9)
|
neuper@37906
|
66 |
|
neuper@37906
|
67 |
rules
|
neuper@37906
|
68 |
|
neuper@37906
|
69 |
Querkraft_Belastung "Q' x = -q_ x"
|
neuper@37906
|
70 |
Belastung_Querkraft "-q_ x = Q' x"
|
neuper@37906
|
71 |
|
neuper@37906
|
72 |
Moment_Querkraft "M_b' x = Q x"
|
neuper@37906
|
73 |
Querkraft_Moment "Q x = M_b' x"
|
neuper@37906
|
74 |
|
neuper@37906
|
75 |
Neigung_Moment "y'' x = -M_b x/ EI"
|
neuper@37906
|
76 |
Moment_Neigung "M_b x = -EI * y'' x"
|
neuper@37906
|
77 |
|
neuper@37906
|
78 |
(*according to rls 'simplify_Integral': .. = 1/a * .. instead .. = ../ a*)
|
neuper@37906
|
79 |
make_fun_explicit "Not (a =!= 0) ==> (a * (f x) = b) = (f x = 1/a * b)"
|
neuper@37906
|
80 |
|
neuper@37906
|
81 |
end
|
neuper@37906
|
82 |
|