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
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