프로젝트

일반

사용자정보

기능 정의서

  1. 다음 프로세스를 확인하여 프로세스가 실행중일때만 HYTOS+를 실행하도록 한다
    1. eptray.exe, ictray.exe/ictray64.exe
  2. HYTOS+는 32,64bit OS에서 실행할 수 있어야 한다
  3. 각 사용자별 사용 기간을 설정할 수 있도록 한다
  4. HYTOS+에 사용할 장치 수량과 각 장치별 속성은 고정적이며 기존 HYTOS의 내용을 따른다
  5. 드래그하여 장치를 생성하거나 이동시킬수 있도록 한다
  6. 장치 이동 시 장치에 연결된 Stream Line이 자동 정렬되어야 한다
  7. 생성한 장치의 데이타를 입력할 수 있도록 해야 한다
  8. Stream No를 사용자가 변경할 수 있도록 한다
  9. Stream Line은 직선으로 표현되어야 한다
  10. Stream/Loop를 highlight할 수 있어야 한다
  11. Stream Line 수정 시 Stream No가 자동으로 정렬되어야 한다
  12. 기존 HYTOS의 계산식을 이용하여 계산을 수행하도록 한다
    1. Liquid
      1. Friction Factor
        $f =
        \begin{cases}
        \frac{4 * 16}{reynolds} , & reynolds < 2100 \\
        \hline
        a = \log(rough / id / 3.7 + (6.7 / reynolds) ^ 0.9) / \log(10) \\
        (-2 * (\log(rough / 3.7 / id - 5.02 / reynolds * a) / \log(10)))^{-2} , & else
        \end{cases}
        $
      2. Pressure Drop
        $dP =
        \begin{cases}
        \frac{f*density*(velocity^2)}{2*id*9.8066*10000} * 100 , & \text{unit is }kg/m^3 \\
        \frac{f * (density * 16.0185) * (velocity ^ 2)}{2*id*9.8066*10000} * 100 , & else
        \end{cases}
        $
    2. Loop 계산
      Loop에 속한 Line들의  Pressure Drop (Static), Pressure @ Pipe end point를 구한다
      1. p_eq_input
        • 시작, 끝 기기의 압력과 높이를 구한다
          $pressure_0 = \text{pressure of equipment} \\
          elevation_0 = \text{elevation of equipment} \\
          pressure_{count-1} = \text{pressure of equipment} \\
          elevation_{count-1} = \text{elevation of equipment}
          $
        • 기기의 dP와 elevation을 구한다
          $ \text{for i=2 to count - 3 step 3} \\
          \qquad \text{pressure drop}_i = \text{pressure drop of equipment} \\
          \qquad elevation_i = \text{elevation of equipment} \\
          \qquad elevation_{i+1} = \text{elevation of equipment} \\
          $
      2. discharge_cal
        • discharge_den
        • discharge_static_cal
          • density를 구함
            $ density=
            \begin{cases}
            density , & \text{if unit = }kg/m^3 \\
            density*16.0186 , & otherwise
            \end{cases}
            $
          • 앞,뒤 기기의 elevation을 구함
            $
            el_{i+1} \\
            el_{i-1}
            $
          • $\text{static pressure = }(el_{i+1} - el_{i-1}) * density / 1000 * 9.80665 / 101.325$
          • $\text{press drop}_{i-1} =
            \begin{cases}
            \text{static pressure}*1.033 & \text{if unit is }kg/cm^2 \\
            \text{static pressure}*14.7 & \text{if unit is }psi \\
            \text{static pressure} & \text{if unit is }atm \\
            \text{static pressure}*1.013 & \text{if unit is }bar \\
            \text{static pressure}*760 & \text{if unit is }mmHg \\
            \text{static pressure}*101.325 & \text{if unit is }kPa \\
            \text{static pressure}*0.101325 & \text{if unit is }MPa
            \end{cases}
            $
        • discharge_p_cal() if phase is 'Liquid' or 'Mixed'
          • $pressure_i = pressure_{i+1} + \text{pressure drop}_i$
          • $\text{if i > 1} \\
            \qquad pressure_{i-1} = pressure_i + \text{pressure drop}_{i-1} \\
            \qquad \text{if pressure drop}_{i-2} \\
            \qquad \qquad pressure_{i-2}=
            \begin{cases}
            pressure_{i-1} - \text{pressure drop}_{i-2} & \text{if name is 'L_P' or 'R_P' or 'V_P' or 'R_K' or 'L_K'} \\
            pressure_{i-1} + \text{pressure drop}_{i-2} & otherwise
            \end{cases} \\
            \qquad \text{else break}
            $
        • suction_cal
          • suction_find_line
          • suction_static_cal ***
            $
            \text{pressure drop}_i = \text{pressure drop friction of data}
            $
          • suction_p_cal
            $
            pressure_i = pressure_{i-1} - \text{pressure drop}_{i-1} \\
            pressure_{i+1} = pressure_{i} - \text{pressure drop}_{i} \\
            \text{if pressure drop}_{i+1} \\
            \qquad pressure_{i+2}=
            \begin{cases}
            pressure_{i+1}+\text{pressure drop}_{i+1} & \text{if name is 'L_P' or 'R_P' or 'V_P' or 'R_K' or 'L_K'} \\
            pressure_{i+1}-\text{pressure drop}_{i+1} & otherwise
            \end{cases} \\
            \text{else break}
            $
      3. press drop 계산
        • $\text{press drop}_i = \text{press drop friction of stream data} \\
          pressure_i = pressure_{i+1} + \text{press drop}_i \\
          pressure_{i-1} = pressure_i + \text{press drop}_{i-1} \\
          \begin{cases}
          \text{break loop}, & \bbox[yellow]{\text{if not }\text{pressure drop}_{i-2}} \\
          \hline
          pressure_{i-2} =
          \begin{cases}
          pressure_{i-1} - \text{pressure drop}_{i-2}, & \text{if name is [L_P, R_P, V_P, R_K, L_K]} \\
          pressure_{i-1} + \text{pressure drop}_{i-2}, & otherwise
          \end{cases} , & otherwise
          \end{cases}
          $
  13. 계산 결과를 Template를 이용하여 리포트 생성할 수 있어야 한다
    1. 리포트에 Calculation Bias가 표현 되도록 한다
  14. 도면 단위로 데이타를 관리해야 한다
  15. 엑셀 파일을 이용하여 타 Legacy System과 연동할 수 있어야 한다
  16. 기존 HYTOS의 데이타 마이그레이션은 추후에 고려한다
클립보드 이미지 추가 (최대 크기: 500 MB)