Step 5: Verify and test the solution

To conclude the analysis, the solutions found in Steps 3 and 4 will be compared. Using the same set of parameters as in Step 3, the sag time is found to be:

> subs( DOvals, tcrit );

> sag_time := evalf( %, 3 );

[Maple Math]

[Maple Math]

This is almost 0.01 days (about 15 minutes) later, and 0.2 km further downstream, than was predicted from the graphical solution. This discrepancy between the floating-point and graphical results can be reduced, as mentioned in Step 4, by zooming in on the region around the sag time. However, an accurate approximation is difficult to obtain because the curve is essentially horizontal for a relatively long period of time in the neighborhood of the sag time. The result obtained analytically in Step 4 ( [Maple Math] = 0.585 days ) does not suffer from this difficulty; it gives the true sag time, within the accuracy of the model (and parameter values).

>

Comparison of floating-point evaluation with subs and eval

>

The formula for the DO level as a function of time was found in Step 3:

> DOeqn2;

[Maple Math]

> subs( sag_time, DOeqn2 );

> evalf( %, 3 );

[Maple Math]

[Maple Math]

This level is still well below the minimum needed to support fish life in the stream. The time when the DO level returns to the lower limit of 4 mg/L can be estimated graphically:

> plot( { rhs(DOeqn2), 4 }, t=0..5, title=`DO sag curve - ZOOM` );

or obtained through a combination of numerical and analytical solution methods:

> subs( DO=4, DOeqn2 );

> solve( %, t );

[Maple Math]

[Maple Math]

The only physically realistic solution is

> op( select( type, {%}, positive ) );

[Maple Math]

which agrees quite well with the corresponding estimate found in Step 3.

>