Example #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;
        }
Example #2
0
        public void AddParticleSizeFractionAndEfficiency()
        {
            ParticleSizeFractionAndEfficiency psf = new ParticleSizeFractionAndEfficiency();

            sizeFractionAndEfficiencyList.Add(psf);
            OnParticleDistributionChanged();
        }
Example #3
0
 public void RemoveParticleSizeFractionAndEfficiency(ParticleSizeFractionAndEfficiency psf)
 {
     if (sizeFractionAndEfficiencyList.Count > 1)
     {
         sizeFractionAndEfficiencyList.Remove(psf);
         OnParticleDistributionChanged();
     }
 }
Example #4
0
        public Object Clone()
        {
            ParticleSizeFractionAndEfficiency psaf = (ParticleSizeFractionAndEfficiency)this.MemberwiseClone();

            psaf.sizeAndFraction = sizeAndFraction.Clone() as ParticleSizeAndFraction;
            psaf.efficiency      = efficiency.Clone() as ProcessVarDouble;
            efficiency.Value     = Constants.NO_VALUE;
            return(psaf);
        }
Example #5
0
 public void RemoveParticleSizeFractionAndEfficiencyAt(int index)
 {
     if (sizeFractionAndEfficiencyList.Count > 1)
     {
         if (index > 0 && index < sizeFractionAndEfficiencyList.Count)
         {
             ParticleSizeFractionAndEfficiency psf = (ParticleSizeFractionAndEfficiency)sizeFractionAndEfficiencyList[index];
             sizeFractionAndEfficiencyList.RemoveAt(index);
             OnParticleDistributionChanged();
         }
     }
 }
Example #6
0
 public ParticleDistributionCache(GasSolidSeparatorRatingModel owner)
 {
     this.owner = owner;
     if (owner.ParticleSizeFractionAndEfficiencyList.Count > 0)
     {
         ParticleSizeFractionAndEfficiency aCopy;
         foreach (ParticleSizeFractionAndEfficiency psf in owner.ParticleSizeFractionAndEfficiencyList)
         {
             aCopy = (ParticleSizeFractionAndEfficiency)psf.Clone();
             sizeFractionAndEfficiencyList.Add(aCopy);
         }
     }
     else
     {
         ParticleSizeFractionAndEfficiency psf;
         psf = new ParticleSizeFractionAndEfficiency();
         sizeFractionAndEfficiencyList.Add(psf);
         psf = new ParticleSizeFractionAndEfficiency();
         sizeFractionAndEfficiencyList.Add(psf);
         DoNormalization();
     }
 }