internal void PostBalanceCalculation() { DryingGasStream gasInlet = owner.GasInlet as DryingGasStream; DryingGasStream gasOutlet = owner.GasOutlet as DryingGasStream; double gasOutMassFlow = gasOutlet.MassFlowRate.Value; double gasMoistureContent = gasOutlet.Humidity.Value; double wg = gasOutlet.MassFlowRateDryBase.Value; if (gasOutMassFlow == Constants.NO_VALUE && gasMoistureContent != Constants.NO_VALUE && wg != Constants.NO_VALUE) { gasOutMassFlow = wg * (1.0 + gasMoistureContent); } if (gasOutMassFlow != Constants.NO_VALUE) { SolidPhase sp = null; DryingGasComponents inletDgc = gasInlet.GasComponents; DryingGasComponents outletDgc = gasOutlet.GasComponents; double massFlowRateOfEntrainedMaterial; sp = outletDgc.SolidPhase; if (sp == null) { if (inletDgc.NumberOfPhases <= 1) { ArrayList solidCompList = new ArrayList(); MaterialComponent mc = new MaterialComponent(inletDgc.AbsoluteDryMaterial.Substance); solidCompList.Add(mc); mc = new MaterialComponent(inletDgc.Moisture.Substance); solidCompList.Add(mc); sp = new SolidPhase("Cyclone Outlet Solid Phase", solidCompList); } else { sp = (SolidPhase)inletDgc.SolidPhase.Clone(); } outletDgc.AddPhase(sp); } double volumeFlow = gasInlet.VolumeFlowRate.Value; double inletLoading = inletParticleLoading.Value; double efficiency = collectionEfficiency.Value; if (volumeFlow != Constants.NO_VALUE && inletLoading != Constants.NO_VALUE && efficiency != Constants.NO_VALUE) { massFlowRateOfEntrainedMaterial = volumeFlow * inletLoading * (1.0 - efficiency); Calculate(massFlowRateOfParticleLostToGasOutlet, massFlowRateOfEntrainedMaterial); sp.MassFraction = massFlowRateOfEntrainedMaterial / gasOutMassFlow; } } }
private static DryingGasComponents CreateDryingGasComponents(double flueGasMoistureContentDryBase, CompositeSubstance flueGas) { ArrayList compList = new ArrayList(); compList.Add(new MaterialComponent(flueGas, 1 / (1 + flueGasMoistureContentDryBase))); compList.Add(new MaterialComponent(water, flueGasMoistureContentDryBase / (1 + flueGasMoistureContentDryBase))); DryingGasComponents flueGasComponents = new DryingGasComponents(compList); ArrayList gasCompList = new ArrayList(); MaterialComponent pc = new MaterialComponent(flueGas); gasCompList.Add(pc); pc = new MaterialComponent(water); gasCompList.Add(pc); GasPhase gp = new GasPhase("Drying Gas Gas Phase", gasCompList); flueGasComponents.AddPhase(gp); return(flueGasComponents); }
protected void BalanceStreamComponents(ProcessStreamBase inlet, ProcessStreamBase outlet) { if (inlet is DryingGasStream) { DryingGasStream dsInlet = inlet as DryingGasStream; DryingGasStream dsOutlet = outlet as DryingGasStream; DryingGasComponents inletDgc = dsInlet.GasComponents; DryingGasComponents outletDgc = dsOutlet.GasComponents; SolidPhase inletSolidPhase = inletDgc.SolidPhase; SolidPhase outletSolidPhase = outletDgc.SolidPhase; if (inletSolidPhase != null) { if (outletSolidPhase != null) { outletSolidPhase.MassFraction = inletSolidPhase.MassFraction; } else { outletDgc.AddPhase(inletSolidPhase); } } } }