src/Tools/isac/Knowledge/Biegelinie.thy
author Walther Neuper <neuper@ist.tugraz.at>
Wed, 25 Aug 2010 16:20:07 +0200
branchisac-update-Isa09-2
changeset 37947 22235e4dbe5f
parent 37906 src/Tools/isac/IsacKnowledge/Biegelinie.thy@e2b23ba9df13
child 37954 4022d670753c
permissions -rw-r--r--
renamed isac's directories and Build_Isac.thy

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