가스 분석기(RGA, NGA 및 LGA)는 대부분의 가스 스트림에 대한 분석을 제공하도록 설계된 특정 GC 구성입니다. 고객은 공정 스트림의 구성 비율과 발열량을 결정해야 합니다.
이러한 계산에는 많은 화학 상수를 사용해야 합니다.
이러한 애플리케이션의 어려움은 계산을 직접 설정하고 데이터 분석 처리 방법, 상수 파일 및 화합물 및 상수 명명 측면에서 일관된 공식을 구축하는 것입니다. 실제로 검량 처리를 설정하는 방식이 공식에 영향을 미칠 수 있습니다. 검량은 몰%, 부피% 또는 중량%로 수행할 수 있으며 추가 계산 전에 변환을 수행해야 합니다.
필요한 CC의 총 개수는 100개 이상입니다. 상수 파일에는 180개 이상의 화합물과 20개 이상의 상수가 포함될 수 있습니다.
예를 들어, 아래는 14.696psia에서 FPS(초당 피트)로 NGA/RGA의 총 열 값을 계산하는 데 필요한 CC와 몰%로 계산된 양에 대해 60 °F을 계산하는 데 필요한 CC입니다.
Hgross,v(Pb) =Σ(xi*Hgross,v,i(60°F)*(Pb/14.696))/Zsample
where |
|
Hgross,v,i(60°F) |
60°F에서 화합물 i의 총 열량(BTU/ft3) |
Pb |
기본 압력(psia) |
Zsample |
Pb에서 가스의 압축성 계수 |
범위: Sequence
유형: 더블
ID: AppInput_BasePressure
수식: 14.696
범위: Sequence
유형: 문자열
ID: AppInput_DataInputMode
수식: "mole"
범위: Sequence
유형: 부울
ID: AppInput_ApplyWaterCorrection
수식: 거짓
(c) 60°F에서 물 압력(c) 60°F에서 물 압력
범위: Sequence
유형: 더블
ID: Constant_WaterPressure
수식: 0.25640
범위: Sequence
유형: 더블
ID: Constant_H2O_SummationFactor
수식: 0.0651
물의 Xi(정규화되지 않음)물의 Xi(정규화되지 않음)
범위: Injection
유형: 더블
ID: Xi_H2O_NotNormalized
수식: if (AppInput_ApplyWaterCorrection,Constant_WaterPressure / AppInput_BasePressure,0)
범위: Injection
유형: 더블
ID: Xi_H2O_Sat
수식: Xi_H2O_NotNormalized
범위: Injection
유형: 더블
ID: CompoundCompressibility_H2O_Sat
수식: Xi_H2O_Sat *C onstant_H2O_SummationFactor
범위: Injection
유형: 더블
ID: ZSample_Dry
수식: 1 - AppInput_BasePressure * pow(Sum("CompoundCompressibility_Dry", CurrentInjection.AllIdentifiedPeaks), 2)
최상의 열 값(단위: BTU/ft3) 최상의 열 값(단위: BTU/ft3)
범위: Injection
유형: 더블
ID: SuperiorHeatValue_Dry_BTU_ft3
수식: Sum("CompoundSuperiorHeatValue_Dry_BTU_ft3", CurrentInjection.AllIdentifiedPeaks)
범위: PeakGroupCompound
유형: 더블
ID: Constant_MolecularWeight
수식: GetConstant("MW")
(c)최상의 열 값(단위: BTU/ft3)(c)최상의 열 값(단위: BTU/ft3)
범위: PeakGroupCompound
유형: 더블
ID: Constant_SuperiorHeatValue_BTU_ft3
수식: GetConstant("Gross BTU/ft^3")
범위: PeakGroupCompound
유형: 더블
ID: Constant_SummationFactor
수식: GetConstant("sum")
범위: PeakGroupCompound
유형: 더블
ID: MolePercent
수식: if (AppInput_DataInputMode = "mole", Compound_Amount,double.NaN)
범위: PeakGroupCompound
유형: 더블
ID: WeightPerCent
수식: if (AppInput_DataInputMode = "weight",Compound_Amount / Constant_MolecularWeight,double.NaN)
범위: PeakGroupCompound
유형: 더블
ID: VolumePerCent
수식: if (AppInput_DataInputMode = "volume", Compound_Amount / GetConstant("Z (Compress)"),double.NaN)
범위: PeakGroupCompound
유형: 더블
ID: MolePerCentNotNormalized
수식: if (AppInput_DataInputMode = "volume", VolumePerCent, if (AppInput_DataInputMode = "weight", WeightPerCent,MolePercent))
범위: PeakGroupCompound
유형: 더블
ID:MoleFractionNormalized_Dry
수식: MolePerCentNotNormalized/ Sum("MolePerCentNotNormalized",CurrentInjection.AllIdentifiedPeaks)
범위: PeakGroupCompound
유형: 더블
ID: CompoundCompressibility_Dry
수식: MoleFractionNormalized_Dry * Constant_SummationFactor
최상의 열 값(단위: BTU/ft3) 최상의 열 값(단위: BTU/ft3)
범위: PeakGroupCompound
유형: 더블
ID: CompoundSuperiorHeatValue_Dry_BTU_ft3
수식: MoleFractionNormalized_Dry *Constant_SuperiorHeatValue_BTU_ft3*AppInput_BasePressure/14.696/ZSample_Dry