Пример #1
0
        protected GasSolidSeparatorRatingModel(IGasSolidSeparator owner) : base()
        {
            this.owner       = owner;
            this.ownerUnitOp = owner.MyUnitOperation;
            DryingGasStream     dgs = owner.GasInlet as DryingGasStream;
            DryingGasComponents dgc = dgs.GasComponents;
            SolidPhase          sp  = dgc.SolidPhase;

            if (sp == null)
            {
                particleProperties = new ParticleProperties();
            }
            else
            {
                ParticleSizeFractionAndEfficiency sfe;
                particleProperties = sp.ParticleProperties;
                ArrayList sizeAndFractionList = particleProperties.ParticleSizeAndFractionList;
                if (particleProperties.IsParticleDistributionsCalculated)
                {
                    foreach (ParticleSizeAndFraction psf in sizeAndFractionList)
                    {
                        sfe = new ParticleSizeFractionAndEfficiency(psf);
                        particleSizeFractionAndEfficiencyList.Add(sfe);
                    }
                }
            }

            this.ParticleDensity.Owner     = ownerUnitOp;
            this.ParticleBulkDensity.Owner = ownerUnitOp;
        }
Пример #2
0
        /*public ParticleDistributions GetParticleDistributions() {
         * return new ParticleDistributions(this);
         * }
         *
         * internal ArrayList ParticleSizeFractionAndEfficiencyList {
         * get {return particleSizeFractionAndEfficiencyList;}
         * set {particleSizeFractionAndEfficiencyList = value;}
         * }*/

        #endregion

        public CycloneRatingModel(IGasSolidSeparator owner) : base(owner)
        {
            //this.cycloneOwner = (Cyclone) owner;
            numberOfCyclones = new ProcessVarInt(StringConstants.NUMBER_OF_CYCLONES, PhysicalQuantity.Unknown, 1, VarState.Specified, ownerUnitOp);

            //particleDensity = new ProcessVarDouble(StringConstants.PARTICLE_DENSITY, PhysicalQuantity.Density, VarState.Specified, ownerUnitOp);
            //particleBulkDensity = new ProcessVarDouble(StringConstants.PARTICLE_BULK_DENSITY, PhysicalQuantity.Density, VarState.Specified, ownerUnitOp);
            cutParticleDiameter = new ProcessVarDouble(StringConstants.CUT_PARTICLE_DIAMETER, PhysicalQuantity.MicroLength, VarState.Specified, ownerUnitOp);

            inletConfiguration                = CycloneInletConfiguration.Tangential;
            inletWidth                        = new ProcessVarDouble(StringConstants.INLET_WIDTH, PhysicalQuantity.Length, VarState.Specified, ownerUnitOp);
            inletHeight                       = new ProcessVarDouble(StringConstants.INLET_HEIGHT, PhysicalQuantity.Length, VarState.Specified, ownerUnitOp);
            inletHeightToWidthRatio           = new ProcessVarDouble(StringConstants.INLET_HEIGHT_TO_WIDTH_RATIO, PhysicalQuantity.Unknown, VarState.Specified, ownerUnitOp);
            inletVelocity                     = new ProcessVarDouble(StringConstants.INLET_VELOCITY, PhysicalQuantity.Velocity, VarState.Specified, ownerUnitOp);
            cycloneDiameter                   = new ProcessVarDouble(StringConstants.CYCLONE_DIAMETER, PhysicalQuantity.Length, VarState.Specified, ownerUnitOp);
            outletInnerDiameter               = new ProcessVarDouble(StringConstants.OUTLET_INNER_DIAMETER, PhysicalQuantity.Length, VarState.Specified, ownerUnitOp);
            outletWallThickness               = new ProcessVarDouble(StringConstants.OUTLET_WALL_THICKNESS, PhysicalQuantity.Length, VarState.Specified, ownerUnitOp);
            diplegDiameter                    = new ProcessVarDouble(StringConstants.DIPLEG_DIAMETER, PhysicalQuantity.Length, VarState.Specified, ownerUnitOp);
            outletTubeLengthBelowRoof         = new ProcessVarDouble(StringConstants.OUTLET_TUBE_LENGTH_BELOW_ROOF, PhysicalQuantity.Length, VarState.Specified, ownerUnitOp);
            outletBelowRoofToInletHeightRatio = new ProcessVarDouble(StringConstants.OUTLET_BELOW_ROOF_TO_INLET_HEIGHT_RATIO, PhysicalQuantity.Length, VarState.Specified, ownerUnitOp);
            naturalVortexLength               = new ProcessVarDouble(StringConstants.NATURAL_VORTEX_LENGTH, PhysicalQuantity.Length, VarState.AlwaysCalculated, ownerUnitOp);
            externalVesselDiameter            = new ProcessVarDouble(StringConstants.EXTERNAL_VESSEL_DIAMETER, PhysicalQuantity.Length, VarState.Specified, ownerUnitOp);

            coneAngle            = new ProcessVarDouble(StringConstants.CONE_ANGLE, PhysicalQuantity.PlaneAngle, VarState.Specified, ownerUnitOp);
            barrelLength         = new ProcessVarDouble(StringConstants.BARREL_LENGTH, PhysicalQuantity.Length, VarState.Specified, ownerUnitOp);
            coneLength           = new ProcessVarDouble(StringConstants.CONE_LENGTH, PhysicalQuantity.Length, VarState.Specified, ownerUnitOp);
            barrelPlusConeLength = new ProcessVarDouble(StringConstants.BARREL_PLUS_CONE_LENGTH, PhysicalQuantity.Length, VarState.Specified, ownerUnitOp);

            //particleSizeFractionAndEfficiencyList.Add(new ParticleSizeFractionAndEfficiency(ownerUnitOp));
            //particleSizeFractionAndEfficiencyList.Add(new ParticleSizeFractionAndEfficiency());
            particleType = ParticleTypeGroup.A;

            InitializeVarListAndRegisterVars();
        }
Пример #3
0
        public GasSolidSeparatorBalanceModel(IGasSolidSeparator owner) : base()
        {
            this.owner       = owner;
            this.ownerUnitOp = owner.MyUnitOperation;

            gasPressureDrop        = new ProcessVarDouble(StringConstants.GAS_PRESSURE_DROP, PhysicalQuantity.Pressure, VarState.Specified, ownerUnitOp);
            collectionEfficiency   = new ProcessVarDouble(StringConstants.COLLECTION_EFFICIENCY, PhysicalQuantity.Fraction, VarState.Specified, ownerUnitOp);
            inletParticleLoading   = new ProcessVarDouble(StringConstants.INLET_PARTICLE_LOADING, PhysicalQuantity.MassVolumeConcentration, VarState.Specified, ownerUnitOp);
            outletParticleLoading  = new ProcessVarDouble(StringConstants.OUTLET_PARTICLE_LOADING, PhysicalQuantity.MassVolumeConcentration, VarState.Specified, ownerUnitOp);
            particleCollectionRate = new ProcessVarDouble(StringConstants.PARTICLE_COLLECTION_RATE, PhysicalQuantity.MassFlowRate, VarState.Specified, ownerUnitOp);
            massFlowRateOfParticleLostToGasOutlet = new ProcessVarDouble(StringConstants.PARTICLE_LOSS_TO_GAS_OUTLET, PhysicalQuantity.MassFlowRate, VarState.Specified, ownerUnitOp);

            InitializeVarListAndRegisterVars();
        }
Пример #4
0
        public override void SetObjectData()
        {
            base.SetObjectData();
            int persistedClassVersion = (int)info.GetValue("ClassPersistenceVersionGasSolidSeparatorBalanceModel", typeof(int));

            if (persistedClassVersion == 1)
            {
                this.owner       = info.GetValue("Owner", typeof(IGasSolidSeparator)) as IGasSolidSeparator;
                this.ownerUnitOp = info.GetValue("OwnerUnitOp", typeof(UnitOperation)) as UnitOperation;
                this.procVarList = info.GetValue("ProcVarList", typeof(ArrayList)) as ArrayList;

                this.gasPressureDrop        = RecallStorableObject("GasPressureDrop", typeof(ProcessVarDouble)) as ProcessVarDouble;
                this.collectionEfficiency   = RecallStorableObject("CollectionEfficiency", typeof(ProcessVarDouble)) as ProcessVarDouble;
                this.inletParticleLoading   = RecallStorableObject("InletParticleLoading", typeof(ProcessVarDouble)) as ProcessVarDouble;
                this.outletParticleLoading  = RecallStorableObject("OutletParticleLoading", typeof(ProcessVarDouble)) as ProcessVarDouble;
                this.particleCollectionRate = RecallStorableObject("ParticleCollectionRate", typeof(ProcessVarDouble)) as ProcessVarDouble;
                this.massFlowRateOfParticleLostToGasOutlet = RecallStorableObject("MassFlowRateOfParticleLostToGasOutlet", typeof(ProcessVarDouble)) as ProcessVarDouble;
            }
        }