home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / EARTHQUA.ZIP / DOC / SOURCE.DSC < prev   
Text File  |  1994-03-08  |  4KB  |  138 lines

  1. Quake-Simulator Version 1.0
  2.  
  3.  
  4.                       Source Code Description
  5.  
  6.  
  7. I recommend reading EQDAMAGE.TEX before reading this document.
  8.  
  9.  
  10. GENDISP.CPP -
  11.  
  12. Generates the earthquake displacement.
  13.  
  14. Variables:
  15.  
  16.       waveletn - Number of wavelets in the displacement wave (Number of
  17.          monochromatic waves added together to make the
  18.          wave)
  19.  
  20.       maxt     - The maximum time that the earthquake displacement is going
  21.          to be gotten for (Needed to make a non-repetative wave)
  22.  
  23.       fract_dim - The fractal dimension. Used in the spectrum() function.
  24.  
  25.       intensity - The earthquake intensity. (For Richter scale intensity
  26.           is 10 to the Richter Scale Intensity power, so for a 2.5
  27.           on the richter scale intensity is 10 to the 2.5th power)
  28.  
  29.       offset    - An array of random phases for the wave.
  30.  
  31.       steps     - An array of steps.
  32.  
  33.       spectrand - An array of randum number for use with the spectrum()
  34.           function.
  35.  
  36. Functions:
  37.  
  38.       init_globals() - Initializes the global variables
  39.  
  40.       done_globals() - Destroys the pointers allocated in init_globals()
  41.  
  42.       dblrand()      - Since there is no floating point random function
  43.                in Turbo C++, I had to write my own.
  44.  
  45.       spectrum()     - The fractal part of the program. Read eqdamage.tex
  46.                to understand it.
  47.  
  48.       disp()         - Calculates the displacement for a certain time.
  49.  
  50.  
  51. EARTHQUAKE.CPP -
  52.  
  53. Generates the building movement and the graphics.
  54.  
  55. Defines:
  56.       WAVELET_NUM  - The number of wavelets (Explained in earlier section).
  57.  
  58.       DELTA_OMEGA  - Same as step[0] in earlier section.
  59.  
  60.       FRACTAL_DIM  - Same as fract_dim in earlier section.
  61.  
  62.       DELAY        - The computer delay for active and hybrid control
  63.              (See eqdamage.tex)
  64.  
  65.       CONTROL_NORMAL - The normal control coefficient (See eqdamage.tex)
  66.  
  67.       HYBRID_SPOINT  - The hybrid control switch point (See eqdamage.tex)
  68.  
  69.       FELASTIC       - The elastic coefficient (See eqdamage.tex)
  70.  
  71.       FFRICTION      - The friction coefficient (See eqdamage.tex)
  72.  
  73.       TSTEP          - The time step, i.e. how much the previous time is
  74.                incremented by to get the current time.
  75.  
  76.       SNUM           - The number of time steps.
  77.  
  78.       BMASS          - The building's mass.
  79.  
  80.       MAGNIFICATION  - The magnification of the earthquake displacement
  81.                (For the graphics)
  82.  
  83. Variables:
  84.  
  85.       blmov          - An array of building movement complete with:
  86.                force, accelaration, velocity, x movement, and
  87.                energy used for each element;
  88.  
  89.       felastic_cos   - The stored coefficient for elasticity.
  90.  
  91.       ffriction_cos  - The stored coefficient for friction.
  92.  
  93.       tstep          - The stored time step.
  94.  
  95.       snum           - The stored number of time steps.
  96.  
  97.       bmass          - The stored building mass.
  98.  
  99. Functions:
  100.  
  101.       no_cntrl()     - No control. Always returns 0.0
  102.  
  103.       active_cntrl() - The active control function.
  104.  
  105.       hybrid_cntrl() - The hybrid control function.
  106.  
  107.       execute_cntrl() - Executes a control function if the conditions are
  108.             right. Otherwise returns 0.0
  109.  
  110.       init_qglobals() - Inits the quake's global variables and the
  111.             building movement's global variables
  112.  
  113.       init_gen_qglobals() - Inits the building movement's global variables
  114.  
  115.       done_qglobals() - Destructs the quake's global variables and the
  116.             building movement's global variables
  117.  
  118.       done_gen_qglobals() - Destructs the building movement's global variables
  119.  
  120.       gen_blmov()     - Generates the building movement array.
  121.  
  122.       plot_blmov()    - Plots the building movement array on the screen.
  123.  
  124.       plot_disp()     - Plots the displacement on the screen.
  125.  
  126.       total_blmov()   - Returns the sum of all of the x movements
  127.  
  128.       max_blmov()     - Returns the greatest x movement
  129.  
  130.       total_eused()   - Returns the sum of all of the energy used
  131.  
  132.       show_control()  - Displays the earthquake displacement,
  133.             x movement, and other graphics for a certain
  134.             control function
  135.  
  136.       select_intensity() - Asks the user to select a new intensity.
  137.  
  138.