Пример #1
0
        public override Double[] plotY(double ratio, string p = "Nitrogen")
        {
            Double[] x = plotX();
            Double[] y = new Double[15];

            double rd = ratio * 12 * BufferDepth * SoilStorageCapacity; // Retention Depth (in over watershed)

            base.CalculateMediaMixTreatmentEfficiency();

            for (int i = 0; i < 14; i++)
            {
                double t = RetentionEfficiencyLookupTables.CalculateEfficiency(rd,
                                                                               WatershedNDCIACurveNumber,
                                                                               WatershedDCIAPercent,
                                                                               RainfallZone);

                double e = (p == "Nitrogen" ?
                            VNBEfficiencyTables.NitrogenRemovalEfficiency(BufferWidthSlope, x[i]) :
                            VNBEfficiencyTables.PhosphorusRemovalEfficiency(BufferWidthSlope, x[i]));

                double m = (p == "Nitrogen" ?
                            MediaNPercentReduction :
                            MediaPPercentReduction);

                y[i] = t * m / 100 + (100 - t) * e / 100;
            }
            return(y);
        }
Пример #2
0
        public new void Calculate()
        {
            RetentionDepth = 12 * BufferW * BufferDepth * SoilStorageCapacity / (BufferW + BufferFeederWidth);

            base.CalculateTreatmentEfficiency(RetentionDepth, WatershedNDCIACurveNumber, WatershedDCIAPercent);

            // The Efficiency is based on

            BufferNRemovalEfficiency = VNBEfficiencyTables.NitrogenRemovalEfficiency(BufferWidthSlope, BufferW);
            BufferPRemovalEfficiency = VNBEfficiencyTables.PhosphorusRemovalEfficiency(BufferWidthSlope, BufferW);

            ProvidedNTreatmentEfficiency = HydraulicCaptureEfficiency + (100 - HydraulicCaptureEfficiency) * BufferNRemovalEfficiency / 100;
            ProvidedPTreatmentEfficiency = HydraulicCaptureEfficiency + (100 - HydraulicCaptureEfficiency) * BufferPRemovalEfficiency / 100;

            CaclulateRemainingEfficiency();

            CalculateMassLoading();

            base.CalculateGroundwaterDischarge();
        }