FUNCTION GetResidCrossFlowBothUnmixed(NTU, Par) RESULT (Residuum)
          ! FUNCTION INFORMATION:
          !       AUTHOR         Michael Wetter
          !       DATE WRITTEN   March 1999
          !       MODIFIED       Fred Buhl November 2000
          !       RE-ENGINEERED  na
          ! PURPOSE OF THIS FUNCTION:
          ! From the formula Eps = f(NTU,Z) this function finds the
          ! residual of f(NTU,Z) - Eps for a cross flow heat exchanger,
          ! both streams unmixed.
          ! METHODOLOGY EMPLOYED:
          ! Uses the effectiveness - NTU heat exchanger formula for cross
          ! flow, both streams unmixed.
          ! REFERENCES:
          ! M. Wetter, Simulation Model Air-to-Air Plate Heat Exchanger
          ! LBNL Report 42354, 1999.
          ! Also see:
          ! ASHRAE HVAC 2 Toolkit, pages 4-3 through 4-5
          ! USE STATEMENTS:
          ! na
  IMPLICIT NONE    ! Enforce explicit typing of all variables in this routine
          ! SUBROUTINE ARGUMENT DEFINITIONS:
    REAL(r64), INTENT(IN)  :: NTU ! number of transfer units
    REAL(r64), INTENT(IN), DIMENSION(:), OPTIONAL :: Par ! par(1) = Eps, par(2) = Z
    REAL(r64)         :: Residuum ! residual to be minimized to zero
          ! FUNCTION PARAMETER DEFINITIONS:
          ! na
          ! INTERFACE BLOCK SPECIFICATIONS:
          ! na
          ! DERIVED TYPE DEFINITIONS:
          ! na
          ! FUNCTION LOCAL VARIABLE DECLARATIONS:
    Residuum = 1.0d0- EXP( ( EXP(-NTU**0.78d0 * Par(2)) - 1.0d0) /  &
      Par(2)*NTU**0.22d0) - Par(1)
RETURN
END FUNCTION GetResidCrossFlowBothUnmixed