home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / pc / demo / ode.zoo / ode25.doc < prev    next >
Text File  |  1990-10-20  |  10KB  |  333 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                                     - ODE - 
  9.  
  10.  
  11.  
  12.              A program for the interactive solution of systems of 
  13.                        ordinary differential equations 
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.                       IBM PC version 2.5    October 16, 1990
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.                           Written by Keith Briggs   
  34.                 PO Box 75
  35.                            Heidelberg West 3081
  36.                                 Australia
  37.  
  38.  
  39.  
  40.  
  41.  
  42. IMPORTANT NOTICE
  43. ________________
  44.  
  45.  
  46.    This brief documentation is for the shareware version of ODE only.
  47. It is not intended to be complete.   For more information refer to the help
  48. screens (Press F1).   Registered owners will receive a full printed manual.
  49.  
  50.    The shareware version of ODE may be freely distributed, as long as no charge
  51. is made for copies, and all files are distributed together.
  52.  
  53.  
  54.  
  55. RESTRICTIONS IN SHAREWARE VERSION
  56. ---------------------------------
  57.  
  58.   No printed manual.
  59.   No saving of ODE files.
  60.   No sixth order Runge-Kutta method.
  61.   No Bulirsch-Stoer method.
  62.   No fixed step size.
  63.   No transient steps.
  64.   No printer support.
  65.   No mouse support.
  66.  
  67. These options appear in the menus, but are black and unselectable.
  68. Registered owners will receive a full version without these restrictions.
  69.  
  70.  
  71. HOW TO REGISTER
  72. ---------------
  73.  
  74.   In Australia:  Send $A 75 to the above address.
  75.   Elsewhere   :  Send a bank cheque for $US 75 to the above address.
  76.                  ODE full version and printed manual will be sent airmail.
  77.  
  78.   Email address for enquiries: matkmb@lure.latrobe.edu.au.oz
  79.  
  80.  
  81.  
  82. PURPOSE
  83. -------
  84.  
  85.   ODE solves numerically initial value problems for systems of ordinary 
  86. differential equations such as arise in all branches of science.   The 
  87. solution is presented graphically or as a table of values.  ODE contains a 
  88. text editor for manipulating the equations.   It is suitable for teaching and 
  89. small research problems. 
  90.  
  91.  
  92.  
  93. HARDWARE REQUIREMENTS
  94. ---------------------
  95.  
  96.   ODE runs on an IBM PC, XT, AT, PS/2 or compatible with one of the following 
  97. graphics cards: CGA, EGA or VGA.   A 80x87 numeric coprocessor is recommended.
  98.  
  99.  
  100. INSTALLATION
  101. ------------
  102.  
  103.    To install the program on a hard disk, type the following at the DOS 
  104. prompt:
  105.  
  106. cd\
  107. a:install
  108.  
  109. and follow the directions on the screen.  This will install the main program, 
  110. and several sample programs. (These have the extension .ODE)
  111.  
  112.  
  113. GETTING STARTED
  114. ---------------
  115.  
  116.    Type ODE at the DOS prompt to start the program.   The ODE main menu will 
  117. appear.
  118.  
  119.  
  120. Try the following:
  121.  
  122. F3            
  123.     (to start an ODE file.)
  124.  
  125. firsttry     
  126.     (ODE will create a new file of this name, because one does not 
  127.      currently exist.  ODE will then place you in the text editor.
  128.      Enter the following text:)
  129.  
  130. # exponential growth
  131. y  = 1
  132. a  = 1
  133. y' = a*y
  134. <Esc>
  135.  
  136.     (Pressing the escape key quits the editor and compiles the program.  
  137.      If you have made any errors ODE will place you back in the editor. 
  138.      Press <Esc> and correct the error.
  139.     
  140.     This system has the solution y(t)=exp(at).  The first equation sets the 
  141.     initial value of y, the second sets the parameter a, the third defines the 
  142.     differential equation.  The first line is a comment.  Spaces are ignored, 
  143.     so you may use them freely to make the equations more readable.)
  144.  
  145. F4
  146.    (i.e. solve. This solves the equation over the default range (0,1).)
  147.  
  148. any key
  149.    (to exit from graph mode)
  150.  
  151. F9
  152.    (to examine the current values of the variables. Y should be 
  153.     e=2.7182818...)
  154.  
  155. e
  156.    (to edit your program. Change line 3 to a=1, 0.5, 0.2. Use <Esc> to quit 
  157.    the editor.)
  158.  
  159. F4
  160.    (The solution will now be graphed with the three different values of a.)
  161.  
  162.  
  163.  
  164. THE MAIN MENU
  165. -------------
  166.  
  167. The most important main menu options are the following:
  168.  
  169. E - invokes the built-in text Editor.
  170.  
  171. F - File submenu.
  172.     L allows loading a previously created File, or creating a new file if the 
  173.     name entered is not in the default directory.
  174.  
  175. F3 - Loads a file into the editor.
  176.  
  177. F4 - Solves the system.
  178.  
  179. F9 - displays the current value of all Variables.
  180.  
  181. Q -  Quits ODE.  
  182.  
  183.  
  184.  
  185. METHOD SUBMENU    
  186. --------------
  187.  
  188. Yellow indicates the currently active setting.
  189.  
  190. 1,2,3,4,5 - Selects the order of the numerical method used.  
  191.  
  192.     All numerical solutions to differential equations are approximate.
  193.     The order of a method describes how the error scales with stepsize.
  194.     For example, if you halve the stepsize with a fourth order method,
  195.     the error will reduce by about a factor of 2^4=16.
  196.  
  197.     3,4 are classical Runge-Kutta methods.
  198.     5   is the Runge-Kutta-Dormand-Prince method.
  199.     4 is the default and is suitable for most simple problems.
  200.     1 (Euler method) and 2 (midpoint method) are included for teaching 
  201.     purposes only.  They can be unstable and are not recommended for 
  202.     serious work.
  203.  
  204.  
  205. N - selects the number of steps.
  206.     The initial stepsize will be the independent variable range divided by the 
  207.     number of steps.
  208.  
  209. T - sets the tolerance for the automatic stepsize selection.  The N option can 
  210.     be used to control the initial stepsize, because the first stepsize tried 
  211.     is equal to the independent variable range divided by the number of steps.
  212.     T controls the accuracy of the computed solution.  It represents an 
  213.     relative tolerance, except when the solution is near zero.
  214.  
  215. D - selects single point graphing.
  216. C - selects small crosses.
  217. J - selects straight lines joining the computed solution points.
  218. S - selects cubic spline interpolation to the computed solution.
  219.     The spline will be one dimensional if the x axis variable is monotonic, 
  220.     else two dimensional.  Use splines for the smoothest looking graphs.
  221.  
  222. H - allows manual control of the Horizontal axis scaling. Use <enter> to 
  223.     accept the displayed defaults.
  224. V - as H for Vertical scaling.
  225.  
  226. <Esc>  - return to main menu.
  227.  
  228.  
  229.  
  230. EDITOR COMMANDS 
  231. ---------------
  232.  
  233.  
  234. Cursor keys (Up,Down Left,Right) - moves cursor.
  235. <CTRL> Left or Right             - next word left or right.
  236.  
  237. <Enter> - New line.  If the cursor is at the end of a line, the new line 
  238.           will be below the cursor, else above it.
  239.  
  240. <HOME>,<END>  - moves cursor to start or end of the line.
  241.  
  242. <CTRL y>      - Deletes line.
  243.  
  244. <Backspace>   - Deletes character before cursor and backspace.
  245. <DEL>         - Deletes character at cursor.
  246.  
  247.  
  248. <Alt F2>      - quits the editor without compiling.
  249. <ESC>         - quits the editor and compiles the program.
  250.  
  251.  
  252. The editor in ODE version 2 has no block moves.   If you need to make large 
  253. changes to your program, quit ODE and use any ASCII text editor or word 
  254. processor to make the changes.
  255.  
  256.  
  257. ODE LANGUAGE
  258. ------------
  259.  
  260.   The rules are mostly common sense.  Differential equations must be written 
  261.   with  the '= notation.   In all equations, all variables on the right hand 
  262.   side must previously have appeared on the left hand side of an equation.
  263.   Initial values must be set before the corresponding differential equation.
  264.   The independent variable is anonymous.   If it corresponds to a physical 
  265.   quantity in your system, you can name it (say time) by including the 
  266.   following two statements:
  267.  
  268.     time=0
  269.     time'=1
  270.   
  271.   This becomes essential if time appears explicitly in the equations.
  272.  
  273.   ODE is insensitive to the case of alphabetic characters, or to blanks.
  274.   Variable names may be up to 20 characters, starting with an alphabetic and 
  275.   containing a..z,_,0..9.  The following are valid:
  276.  
  277.   Fish_population   TIME   Delay_period   Omega1   Retarded_Distance0_1
  278.  
  279.  
  280.   Valid binary operators are + -  / ^.
  281.   (But use sqr and cub instead of ^2 and ^3).
  282.  
  283.  
  284.   The following functions are recognized:
  285.  
  286.   abs   - absolute value.
  287.   sign  - +1 if argument nonnegative, else -1.
  288.   sin, cos, tan.
  289.   atan or arctan.
  290.   exp
  291.   ln (or log - both mean natural log).
  292.   sqrt - square root.
  293.   sqr  - square.
  294.   cub  - cube.
  295.   pi   - pi times its argument. Use pi(1) for 3.1415926535.....
  296.  
  297.   Commas separate alternative initial or parameter values.
  298.   # introduces comments - everything to the right of # is ignored.
  299.  
  300.  
  301. DIFFICULTIES
  302. ------------
  303.  
  304.   All solutions are computed with the extended (10 byte or 19 decimal place)
  305. precision of the 8087 chip.   However, a solution is aborted if any 
  306. variable exceeds 1e38 in magnitude.  If this happens, the reason is one of the 
  307. following:
  308.  
  309. 1.  The solution is correct.   In this case,  rescale the problem.  For 
  310.     example, if the problem involves very large physical constants (as in an 
  311.     astronomical problem),  choose new units which make the physical 
  312.     quantities become of order one.
  313.  
  314. 2.  The solution is correct but diverges, for example an exponential growth.
  315.     
  316. 3.  The numerical method is unstable.   If you suspect this, try a higher 
  317.     order method or smaller steps with fixed stepsize.   If the solution is 
  318.     markedly different, it is likely that the lower order method is unstable. 
  319.  
  320. Another possible difficulty is very slow calculation of the solution with 
  321. automatic stepsize.   In this case, you may abort the solution with <ESC>.
  322. Try a different order method.   If the problem remains, it is likely that the 
  323. problem is stiff, which means it is beyond the capabilities of ODE.
  324.  
  325. If a problem such as the log or square root of a negative number arises, ODE 
  326. will give a fatal error message and quit to DOS after giving you the chance to 
  327. save your file.   If this happens, there must be a mistake in the formulation 
  328. of your equations.
  329.  
  330.                         ----- END of ODE25.doc -----
  331.  
  332.  
  333.