|
|||||||||||
|
SIMULATION In physics and physiology; in ecology and population dynamics; or in control, aerospace, and chemical engineering, simulation means experimentation with models. Simulation is vital for research and design. Even inexpensive personal computers easily solve thousands of differential equations very quickly. But interactive simulation requires more than fast processing. DESIRE IS DIFFERENT: DIRECT-EXECUTING SIMULATION DESIRE stands for Direct Executing SImulation in REal Time. Unlike traditional FORTRAN-based software (e.g. AEGIS/ACSL), direct-executing simulation never interrupts your train of thought with repeated translation delays. DESIRE is also dramatically faster than interpreter programs such as SIMULINK or VISSIM. DESIRE compiles equations for complicated simulation models so quickly that solution displays for screen-entered simulation programs appear immediately. Only this permits truly interactive experiments. Every computer-aided simulation experiment requires an experiment protocol program, which exercises a simulation model through a series of time steps or trials (simulation run). The simplest protocol scripts just set model parameters and initial conditions, make a simulation run (which can display and/or record results), and possibly repeat the procedure with new parameters. Sophisticated simulation studies call multiple runs to produce crossplots, statistics, or iterative runs based on earlier results (e.g. control-system optimization, model matching). The DESIRE experiment-protocol interpreter executes immediately on a typed run or function-key command. A simple, BASIC-like language can program sophisticated operations (e.g. matrix operations, complex frequency-response plots, fast Fourier transforms and convolutions). Simulation-run operations for each time step are specified in DYNAMIC program segments which compiles and runs when the experiment protocol program calls for the first simulation run. While ideal for the experiment-protocol script, the interpreter language would be much too slow for the simulation-run code, which solves differential equations and may repeat massive matrix operations thousands of times. So, when the DESIRE interpreter encounters the first drun statement, a built-in, extra-fast runtime compiler translates the DYNAMIC segment into efficient machine code, which executes immediately. Even large neural-network models compile in a small fraction of a second - which is not noticeable. This permits truly interactive experiments without the usual distracting translation delays. A POWERFUL DIFFERENTIAL-EQUATION SOLVER DESIRE systems are industrial-strength differential-equation solvers. Linear or nonlinear differential equations are screen-entered and edited in natural mathematical notation, say d/dt y = - gain * sin(w * *y) + a * x[3] + . . . Such scalar differential equations can be mixed with linear or nonlinear matrix/vector equations like Vectr d/dt x = A * x + B * u Under Linux or Cygwin, you can solve up to 40,000 ordinary differential equations using fixed- and variable-step Runge-Kutta routines, or up to 600 differential equations using variable-step/variable-order Adams and Gear (stiff-system) integration rules 20,000 and 400 under Windows).. All computations use 64-bit floating-point double precision. DESIRE also handles scalar and matrix difference equations, which can be mixed with differential equations (e.g. for sampled-data control-system simulation). DESIRE/NEUNET (now an integral part of DESIRE) easily adds multiple neural networks and fuzzy logic. There are labeled time-history and phase-plane displays in bright colors, with or without automatic scaling; plus hard-copy output, listings, and report generation. A COMPLETE ENVIRONMENT FOR INTERACTIVE EXPERIMENTS The DESIRE experiment-protocol interpreter provides, in its own right, a readable and efficient language for general-purpose mathematics. It handles complex numbers (in natural z = a + j * b notation) and FFTs for frequency-response plots, plus matrix addition and multiplication. All these operations are completely interactive. |
|||||||||||