public new void Calculate() { RetentionVolume = ((WellDepth * WellLength * WellWidth * SoilStorageCapacity) + (WellLength * WellWidth * WellStorage)) * NumWells; if (ContributingArea != 0.0) { RetentionDepth = 12.0 * RetentionVolume / (ContributingArea * 43560.0); } base.CalculateTreatmentEfficiency(RetentionDepth, WatershedNDCIACurveNumber, WatershedDCIAPercent); if (RetentionOrDetention == sDetention) { MediaNPercentReduction = MediaMix.TNRemoval(this.MediaMixType); MediaPPercentReduction = MediaMix.TPRemoval(this.MediaMixType); ProvidedNTreatmentEfficiency = ProvidedNTreatmentEfficiency * MediaNPercentReduction / 100; ProvidedPTreatmentEfficiency = ProvidedPTreatmentEfficiency * MediaPPercentReduction / 100; } base.CaclulateRemainingEfficiency(); }
public void CalculateMediaMixTreatmentEfficiency() { // If Groundwater Calculations are required then calculates the efficiency // and reductions of groundwater discharge. MediaNPercentReduction = MediaMix.TNRemoval(this.MediaMixType, MediaNPercentReduction); MediaPPercentReduction = MediaMix.TPRemoval(this.MediaMixType, MediaPPercentReduction); PostMediaNTreatmentEfficiency = 0; PostMediaPTreatmentEfficiency = 0; //if (BMPType == BMPTrainsProject.sVegetatedFilterStrip) //{ // PostMediaNTreatmentEfficiency = 0; MediaNPercentReduction = 0; // PostMediaPTreatmentEfficiency = 0; MediaPPercentReduction = 0; // return; //} if (MediaNPercentReduction != 0) { PostMediaNTreatmentEfficiency = 100 * (0.3 * ProvidedNTreatmentEfficiency / 100 + 0.7 * ProvidedNTreatmentEfficiency / 100 * MediaNPercentReduction / 100); //GroundwaterNMassDischarge = } else { PostMediaNTreatmentEfficiency = 0;// ProvidedNTreatmentEfficiency; } if (MediaPPercentReduction != 0) { PostMediaPTreatmentEfficiency = 100 * (0.3 * ProvidedPTreatmentEfficiency / 100 + 0.7 * ProvidedPTreatmentEfficiency / 100 * MediaPPercentReduction / 100); //GroundwaterPMassDischarge = } else { PostMediaPTreatmentEfficiency = 0;// ProvidedPTreatmentEfficiency; } }
public new void Calculate() { base.CalculateTreatmentEfficiency(RetentionDepth, WatershedNDCIACurveNumber, WatershedDCIAPercent); HydraulicCaptureEfficiency = ProvidedNTreatmentEfficiency; // in over watershed bool WetD = (WetDetentionEffluent == "Yes" ? true : false); if ((MediaMixType == MediaMix.None) || (MediaMixType == MediaMix.NotSpecified)) { ProvidedNTreatmentEfficiency = 0; ProvidedPTreatmentEfficiency = 0; } else { MediaNPercentReduction = MediaMix.TNRemoval(MediaMixType, MediaNPercentReduction, WetD); ProvidedNTreatmentEfficiency = HydraulicCaptureEfficiency * MediaNPercentReduction / 100; MediaPPercentReduction = MediaMix.TPRemoval(MediaMixType, MediaPPercentReduction, WetD); ProvidedPTreatmentEfficiency = HydraulicCaptureEfficiency * MediaPPercentReduction / 100; if (WatershedArea != 0) { TreatmentMediaVolume = RetentionDepth / WatershedArea / 12; } } RechargeRate = RunoffVolume * 0.3258724 * HydraulicCaptureEfficiency / 100; if (RechargeRate != 0) { GroundwaterTNConcentration = BMPNMassLoadOut / (RechargeRate * 3.785); } if (RechargeRate != 0) { GroundwaterTPConcentration = BMPPMassLoadOut / (RechargeRate * 3.785); } base.CaclulateRemainingEfficiency(); base.CalculateMassLoading(); }
public new void Calculate() { VolumeStorageCF = VoidFraction * MediaVolume + WaterAboveMedia; VolumeStorageIn = VolumeStorageCF * 12 / (43560 * ContributingArea); // First Calculate the efficiency of the retention RetentionDepth = VolumeStorageIn; // Treatment Volume is volume used in Storage Calculation ProvidedRetentionVolume = ContributingArea * RetentionDepth / 12; TreatmentMediaDepth = ProvidedRetentionVolume * 12 / ContributingArea; if (MediaMix.GPM_SF(MediaMixType) != 0) { MinimumMediaArea = 12 * VolumeStorageCF / (2 * MediaMix.GPM_SF(MediaMixType) * 96.15 * 24); } else { MinimumMediaArea = 0; } base.Calculate(); if (RetentionOrDetention == RainGarden.sRetention) { ProvidedNTreatmentEfficiency = HydraulicCaptureEfficiency; ProvidedPTreatmentEfficiency = HydraulicCaptureEfficiency; } // The input is Retention Depth in inches over watershed if (RetentionOrDetention == RainGarden.sDetention) { if (MediaMixType != MediaMix.User_Defined) { MediaNPercentReduction = MediaMix.TNRemoval(MediaMixType); MediaPPercentReduction = MediaMix.TPRemoval(MediaMixType); } ProvidedNTreatmentEfficiency = ProvidedNTreatmentEfficiency * MediaNPercentReduction / 100; ProvidedPTreatmentEfficiency = ProvidedPTreatmentEfficiency * MediaPPercentReduction / 100; } }