16 | | 3. |

| 16 | 3. tol = |

| 17 | |

| 18 | II. Main Program Body |

| 19 | 1. Call P* routine - find and record p* |

| 20 | 2. Call Identification routine - find types of waves present, record |

| 21 | 3. Call U*() - reads in vars and returns U* |

| 22 | 4. Call rho* - reads in vars and returns rho* |

| 23 | 2. Print to File - u*, rho*, p* |

| 24 | |

| 25 | III. Functions |

| 26 | 1. FL = () |

| 27 | 2. FR = () |

| 28 | 3. U* = () |

| 29 | 4. rho*L = {} |

| 30 | 5. rho*R = {} |

| 31 | |

| 32 | IV. Subroutines |

| 33 | 1. Find p* using initial estimate |

| 34 | a. type of approximation (1)-(5) for different options (on screen options) |

| 35 | b. let p0=(approximation) |

| 36 | c. Begin iterative process, that ends once | | < tol |

| 37 | |

| 38 | 2. Determine types of waves present |

| 39 | a. comparing p* to pL and pR |

| 40 | b. series of if statements corresponding to flow chart |

| 41 | c. left_wave = 1 for shock, 2 for rarefaction |