diff --git a/App/Modules/SicModules/Config/PM/PM1/DeviceModelPM1.xml b/App/Modules/SicModules/Config/PM/PM1/DeviceModelPM1.xml
index 8a8a5ec..db3784a 100644
--- a/App/Modules/SicModules/Config/PM/PM1/DeviceModelPM1.xml
+++ b/App/Modules/SicModules/Config/PM/PM1/DeviceModelPM1.xml
@@ -727,4 +727,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/App/Modules/SicModules/Config/Recipe/Sic/Process/PN2.xml b/App/Modules/SicModules/Config/Recipe/Sic/Process/PN2.xml
index f0f8144..62c896e 100644
--- a/App/Modules/SicModules/Config/Recipe/Sic/Process/PN2.xml
+++ b/App/Modules/SicModules/Config/Recipe/Sic/Process/PN2.xml
@@ -15,212 +15,218 @@
-
-
+
+
-
-
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
+
+
+
-
-
+
+
-
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
diff --git a/App/Modules/SicModules/Config/Recipe/Sic/Process/RecipeFormat.xml b/App/Modules/SicModules/Config/Recipe/Sic/Process/RecipeFormat.xml
index 778e271..0b57a04 100644
--- a/App/Modules/SicModules/Config/Recipe/Sic/Process/RecipeFormat.xml
+++ b/App/Modules/SicModules/Config/Recipe/Sic/Process/RecipeFormat.xml
@@ -5,8 +5,8 @@
-
-
+
+
@@ -15,8 +15,8 @@
-
-
+
+
@@ -37,18 +37,18 @@
-
-
-
+
+
+
-
-
-
+
+
+
@@ -78,144 +78,155 @@
-
-
+
+
-
-
+
+
-
+
+
+
-
-
+
+
-
-
-
-
+
+
+
-
-
+
+
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
diff --git a/Framework/MECF.Framework.UI.Client/MECF.Framework.UI.Client.csproj b/Framework/MECF.Framework.UI.Client/MECF.Framework.UI.Client.csproj
index 79ca080..4f5e274 100644
--- a/Framework/MECF.Framework.UI.Client/MECF.Framework.UI.Client.csproj
+++ b/Framework/MECF.Framework.UI.Client/MECF.Framework.UI.Client.csproj
@@ -850,16 +850,6 @@
DataGridRecipe.xaml
-
-
-
-
-
-
-
-
-
-
@@ -882,18 +872,8 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_10GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_10GasFlow.cs
deleted file mode 100644
index 747da77..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_10GasFlow.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using MECF.Framework.Common.DataCenter;
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_10GasFlow: RecipeGasFlowM1ToM17
- {
- public override string NameN2HighFlowMode => "N2NH3_10HighFlowMode.SetValve";
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_11GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_11GasFlow.cs
deleted file mode 100644
index 399ac34..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_11GasFlow.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_11GasFlow : RecipeGasFlowM1ToM17
- {
- public override string NameN2HighFlowMode => "N2NH3_11HighFlowMode.SetValve";
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_12GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_12GasFlow.cs
deleted file mode 100644
index 0b47763..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_12GasFlow.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_12GasFlow : RecipeGasFlowM1ToM17_NoneSiH4
- {
-
- public override string NameN2FlowMode => "NH3_2Dilution.SetValve";
-
- public override string NameN2HighFlowMode => "N2NH3_2Doping.SetValve";
-
- public override string NameN2ActualFlow => "NH3_2ActualFlow";
-
- protected override void CalDopeFlow(RecipeStep currentStep)
- {
- var currentN2ActualFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2ActualFlow)).Value;
- var currentN2LowFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2LowFlow)).Value;
- var currentDiluFlowForN2 = ((DoubleParam)currentStep.FindParamByControlName(NameDilutionFlowForN2)).Value;
- var currentDilutedN2Flow = (currentN2LowFlow + currentDiluFlowForN2) * currentN2ActualFlow / currentN2LowFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameDilutedN2Flow)).Value = Math.Round(currentDilutedN2Flow, 1);
-
-
- }
-
- protected override void CalShSupplementFlow(RecipeStep currentStep)
- {
- var currentSiSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceTotalFlow)).Value;
- var currentCSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceTotalFlow)).Value;
-
-
- var currentShTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameShTotalFlow)).Value;
- var currentSurroundingFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCarryGasFlow)).Value;
-
-
- var currentSiSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceInnerFlow)).Value;
- var currentSiSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceMiddleFlow)).Value;
-
- var currentCSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceInnerFlow)).Value;
- var currentCSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceMiddleFlow)).Value;
-
-
-
- var currentShTotalFlowSplitRatio = new double[3];
- if (currentStep.FindParamByControlName(NameShTotalFlowSplitRatio) is Sets3RatioParam shTotalRatio)
- currentShTotalFlowSplitRatio = shTotalRatio.Ratio;
-
-
- var currentShSuppTotalFlow = currentShTotalFlow - currentSurroundingFlow - currentSiSourTotalFlow -
- currentCSourTotalFlow;
- var sumShTotalFlowSplitRatio = currentShTotalFlowSplitRatio[0] + currentShTotalFlowSplitRatio[1] +
- currentShTotalFlowSplitRatio[2];
- var currentShInnerFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[0];
- var currentShMidFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[1];
- var currentShOutterFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[2];
- var currentInnerSuppFlow = currentShInnerFlow - currentSiSourInnerFlow - currentCSourInnerFlow;
- var currentMidSuppFlow = currentShMidFlow - currentSiSourMidFlow - currentCSourMidFlow;
- var currentOutterSuppFlow = currentShSuppTotalFlow - currentInnerSuppFlow - currentMidSuppFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameShPushTotalFlow)).Value = Math.Round(currentShSuppTotalFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShInnerFlow)).Value = Math.Round(currentShInnerFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShMiddleFlow)).Value = Math.Round(currentShMidFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShOuterFlow)).Value = Math.Round(currentShOutterFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameInnerPushFlow)).Value = Math.Round(currentInnerSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameMiddlePushFlow)).Value = Math.Round(currentMidSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameOuterPushFlow)).Value = Math.Round(currentOutterSuppFlow, 1);
- }
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_13GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_13GasFlow.cs
deleted file mode 100644
index 6994410..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_13GasFlow.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using MECF.Framework.Common.DataCenter;
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_13GasFlow : RecipeGasFlowM1ToM17_NoneSiH4
- {
- public override string NameN2HighFlowMode => "N2NH3_8HighFlowMode.SetValve";
-
- public override string NameN2FlowMode => "N2NH3_13Doping.SetValve";
-
- public override string NameTmaFlowMode => "TMANH3_13.SetValve";
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_14GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_14GasFlow.cs
deleted file mode 100644
index 06d30fb..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_14GasFlow.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_14GasFlow: RecipeGasFlowM1ToM17_NoneSiH4
- {
- protected override void CalVentFlow(RecipeStep currentStep, string chamberName)
- {
- var currentTotalVentFlow = ((DoubleParam)currentStep.FindParamByControlName(NameTotalVentFlow)).Value;
- var currentHClFlow = ((DoubleParam)currentStep.FindParamByControlName(NameHclFlow)).Value;
- var currentC2H4Flow = ((DoubleParam)currentStep.FindParamByControlName(NameCxHxFlow)).Value;
- var m30Flow = ((DoubleParam)currentStep.FindParamByControlName(Mfc30Flow)).Value;
- var v47Value = ((ComboxParam)currentStep.FindParamByControlName(V47Value)).Value;
-
- var currentTcsFlowMode = (currentStep.FindParamByControlName(NameTcsFlowMode) as ComboxParam)?.Value;
- var currentHClFlowMode = (currentStep.FindParamByControlName(NameHclFlowMode) as ComboxParam)?.Value;
- var currentC2H4FlowMode = (currentStep.FindParamByControlName(NameCxHxFlowMode) as ComboxParam)?.Value;
-
- var tcsFlow = GetTcsFlow(currentStep, chamberName);
-
- var currentSiSourTotalFlowForPurge = (currentTcsFlowMode != null && currentTcsFlowMode.Equals(FlowModeParam.FlowModeEnum.Run) == false
- ? tcsFlow
- : 0d) +
- (currentHClFlowMode != null && currentHClFlowMode.Equals(FlowModeParam.FlowModeEnum.Run) == false
- ? currentHClFlow
- : 0d);
-
- var currentCSourTotalFlowForPurge =
- currentC2H4FlowMode != null && currentC2H4FlowMode.Equals(FlowModeParam.FlowModeEnum.Run) == false
- ? currentC2H4Flow
- : 0d;
-
- m30Flow = v47Value.ToString() == "false" ? m30Flow : 0d;
-
- var currentVentPushFlow = currentTotalVentFlow - currentSiSourTotalFlowForPurge - currentCSourTotalFlowForPurge - m30Flow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameVentPushFlow_M17)).Value = Math.Round(currentVentPushFlow, 1);
- }
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_15GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_15GasFlow.cs
deleted file mode 100644
index 7c945a4..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_15GasFlow.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.RecipeGasFlowCalculators
-{
- public class NH3_15GasFlow : RecipeGasFlowM1ToM17
- {
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_16GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_16GasFlow.cs
deleted file mode 100644
index ad8a4db..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_16GasFlow.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_16GasFlow : RecipeGasFlowM1ToM17
- {
- public override string NameN2HighFlowMode => "N2NH3_16HighFlowMode.SetValve";
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_17GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_17GasFlow.cs
deleted file mode 100644
index 99869fb..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_17GasFlow.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_17GasFlow : RecipeGasFlowM1ToM17_NoneSiH4
- {
-
- public override string NameN2FlowMode => "NH3_2Dilution.SetValve";
-
- public override string NameN2HighFlowMode => "N2NH3_2Doping.SetValve";
-
- public override string NameN2ActualFlow => "NH3_2ActualFlow";
-
- protected override void CalDopeFlow(RecipeStep currentStep)
- {
- var currentN2ActualFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2ActualFlow)).Value;
- var currentN2LowFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2LowFlow)).Value;
- var currentDiluFlowForN2 = ((DoubleParam)currentStep.FindParamByControlName(NameDilutionFlowForN2)).Value;
- var currentDilutedN2Flow = (currentN2LowFlow + currentDiluFlowForN2) * currentN2ActualFlow / currentN2LowFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameDilutedN2Flow)).Value = Math.Round(currentDilutedN2Flow, 1);
-
-
- }
-
- protected override void CalShSupplementFlow(RecipeStep currentStep)
- {
- var currentSiSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceTotalFlow)).Value;
- var currentCSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceTotalFlow)).Value;
-
-
- var currentShTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameShTotalFlow)).Value;
- var currentSurroundingFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCarryGasFlow)).Value;
-
-
- var currentSiSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceInnerFlow)).Value;
- var currentSiSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceMiddleFlow)).Value;
-
- var currentCSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceInnerFlow)).Value;
- var currentCSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceMiddleFlow)).Value;
-
-
-
- var currentShTotalFlowSplitRatio = new double[3];
- if (currentStep.FindParamByControlName(NameShTotalFlowSplitRatio) is Sets3RatioParam shTotalRatio)
- currentShTotalFlowSplitRatio = shTotalRatio.Ratio;
-
-
- var currentShSuppTotalFlow = currentShTotalFlow - currentSurroundingFlow - currentSiSourTotalFlow -
- currentCSourTotalFlow;
- var sumShTotalFlowSplitRatio = currentShTotalFlowSplitRatio[0] + currentShTotalFlowSplitRatio[1] +
- currentShTotalFlowSplitRatio[2];
- var currentShInnerFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[0];
- var currentShMidFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[1];
- var currentShOutterFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[2];
- var currentInnerSuppFlow = currentShInnerFlow - currentSiSourInnerFlow - currentCSourInnerFlow;
- var currentMidSuppFlow = currentShMidFlow - currentSiSourMidFlow - currentCSourMidFlow;
- var currentOutterSuppFlow = currentShSuppTotalFlow - currentInnerSuppFlow - currentMidSuppFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameShPushTotalFlow)).Value = Math.Round(currentShSuppTotalFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShInnerFlow)).Value = Math.Round(currentShInnerFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShMiddleFlow)).Value = Math.Round(currentShMidFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShOuterFlow)).Value = Math.Round(currentShOutterFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameInnerPushFlow)).Value = Math.Round(currentInnerSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameMiddlePushFlow)).Value = Math.Round(currentMidSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameOuterPushFlow)).Value = Math.Round(currentOutterSuppFlow, 1);
- }
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_18GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_18GasFlow.cs
deleted file mode 100644
index bcc590e..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_18GasFlow.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_18GasFlow : RecipeGasFlowM1ToM17_NoneSiH4
- {
-
- public override string NameN2FlowMode => "NH3_2Dilution.SetValve";
-
- public override string NameN2HighFlowMode => "N2NH3_2Doping.SetValve";
-
- public override string NameN2ActualFlow => "NH3_2ActualFlow";
-
- protected override void CalDopeFlow(RecipeStep currentStep)
- {
- var currentN2ActualFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2ActualFlow)).Value;
- var currentN2LowFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2LowFlow)).Value;
- var currentDiluFlowForN2 = ((DoubleParam)currentStep.FindParamByControlName(NameDilutionFlowForN2)).Value;
- var currentDilutedN2Flow = (currentN2LowFlow + currentDiluFlowForN2) * currentN2ActualFlow / currentN2LowFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameDilutedN2Flow)).Value = Math.Round(currentDilutedN2Flow, 1);
-
-
- }
-
- protected override void CalShSupplementFlow(RecipeStep currentStep)
- {
- var currentSiSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceTotalFlow)).Value;
- var currentCSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceTotalFlow)).Value;
-
-
- var currentShTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameShTotalFlow)).Value;
- var currentSurroundingFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCarryGasFlow)).Value;
-
-
- var currentSiSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceInnerFlow)).Value;
- var currentSiSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceMiddleFlow)).Value;
-
- var currentCSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceInnerFlow)).Value;
- var currentCSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceMiddleFlow)).Value;
-
-
-
- var currentShTotalFlowSplitRatio = new double[3];
- if (currentStep.FindParamByControlName(NameShTotalFlowSplitRatio) is Sets3RatioParam shTotalRatio)
- currentShTotalFlowSplitRatio = shTotalRatio.Ratio;
-
-
- var currentShSuppTotalFlow = currentShTotalFlow - currentSurroundingFlow - currentSiSourTotalFlow -
- currentCSourTotalFlow;
- var sumShTotalFlowSplitRatio = currentShTotalFlowSplitRatio[0] + currentShTotalFlowSplitRatio[1] +
- currentShTotalFlowSplitRatio[2];
- var currentShInnerFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[0];
- var currentShMidFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[1];
- var currentShOutterFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[2];
- var currentInnerSuppFlow = currentShInnerFlow - currentSiSourInnerFlow - currentCSourInnerFlow;
- var currentMidSuppFlow = currentShMidFlow - currentSiSourMidFlow - currentCSourMidFlow;
- var currentOutterSuppFlow = currentShSuppTotalFlow - currentInnerSuppFlow - currentMidSuppFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameShPushTotalFlow)).Value = Math.Round(currentShSuppTotalFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShInnerFlow)).Value = Math.Round(currentShInnerFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShMiddleFlow)).Value = Math.Round(currentShMidFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShOuterFlow)).Value = Math.Round(currentShOutterFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameInnerPushFlow)).Value = Math.Round(currentInnerSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameMiddlePushFlow)).Value = Math.Round(currentMidSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameOuterPushFlow)).Value = Math.Round(currentOutterSuppFlow, 1);
- }
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_1GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_1GasFlow.cs
deleted file mode 100644
index 8605d94..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_1GasFlow.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_1GasFlow : RecipeGasFlowM1ToM17
- {
-
- protected override void CalDopeFlow(RecipeStep currentStep)
- {
- var currentN2ActualFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2ActualFlow)).Value;
- var currentN2LowFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2LowFlow)).Value;
- var currentDiluFlowForN2 = ((DoubleParam)currentStep.FindParamByControlName(NameDilutionFlowForN2)).Value;
- var currentDilutedN2Flow = (currentN2LowFlow + currentDiluFlowForN2) * currentN2ActualFlow / currentN2LowFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameDilutedN2Flow)).Value = Math.Round(currentDilutedN2Flow, 1);
-
-
- }
-
- protected override void CalShSupplementFlow(RecipeStep currentStep)
- {
- var currentSiSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceTotalFlow)).Value;
- var currentCSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceTotalFlow)).Value;
-
-
- var currentShTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameShTotalFlow)).Value;
- var currentSurroundingFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCarryGasFlow)).Value;
-
-
- var currentSiSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceInnerFlow)).Value;
- var currentSiSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceMiddleFlow)).Value;
-
- var currentCSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceInnerFlow)).Value;
- var currentCSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceMiddleFlow)).Value;
-
-
-
- var currentShTotalFlowSplitRatio = new double[3];
- if (currentStep.FindParamByControlName(NameShTotalFlowSplitRatio) is Sets3RatioParam shTotalRatio)
- currentShTotalFlowSplitRatio = shTotalRatio.Ratio;
-
-
- var currentShSuppTotalFlow = currentShTotalFlow - currentSurroundingFlow - currentSiSourTotalFlow -
- currentCSourTotalFlow;
- var sumShTotalFlowSplitRatio = currentShTotalFlowSplitRatio[0] + currentShTotalFlowSplitRatio[1] +
- currentShTotalFlowSplitRatio[2];
- var currentShInnerFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[0];
- var currentShMidFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[1];
- var currentShOutterFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[2];
- var currentInnerSuppFlow = currentShInnerFlow - currentSiSourInnerFlow - currentCSourInnerFlow;
- var currentMidSuppFlow = currentShMidFlow - currentSiSourMidFlow - currentCSourMidFlow ;
- var currentOutterSuppFlow = currentShSuppTotalFlow - currentInnerSuppFlow - currentMidSuppFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameShPushTotalFlow)).Value = Math.Round(currentShSuppTotalFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShInnerFlow)).Value = Math.Round(currentShInnerFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShMiddleFlow)).Value = Math.Round(currentShMidFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShOuterFlow)).Value = Math.Round(currentShOutterFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameInnerPushFlow)).Value = Math.Round(currentInnerSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameMiddlePushFlow)).Value = Math.Round(currentMidSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameOuterPushFlow)).Value = Math.Round(currentOutterSuppFlow, 1);
- }
- }
-
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_2GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_2GasFlow.cs
deleted file mode 100644
index 9fd803a..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_2GasFlow.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-using MECF.Framework.Common.DataCenter;
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using MECF.Framework.Common.Equipment;
-using MECF.Framework.Common.MECF.Framework.Common.Utilities;
-using Aitex.Core.RT.SCCore;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
-
- ///
- /// 配方步骤气体流量计算器基类。
- ///
- /// 同时,该类也作为默认计算器使用;如果构造时没有指定
- /// 计算器对象实例,则默认使用此计算器。
- ///
- public class NH3_2GasFlow : RecipeGasFlowM1ToM17_NoneSiH4
- {
-
- public override string NameN2FlowMode => "NH3_2Dilution.SetValve";
-
- public override string NameN2HighFlowMode => "N2NH3_2Doping.SetValve";
-
- public override string NameN2ActualFlow => "NH3_2ActualFlow";
-
- protected override void CalDopeFlow(RecipeStep currentStep)
- {
- var currentN2ActualFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2ActualFlow)).Value;
- var currentN2LowFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2LowFlow)).Value;
- var currentDiluFlowForN2 = ((DoubleParam)currentStep.FindParamByControlName(NameDilutionFlowForN2)).Value;
- var currentDilutedN2Flow = (currentN2LowFlow + currentDiluFlowForN2) * currentN2ActualFlow / currentN2LowFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameDilutedN2Flow)).Value = Math.Round(currentDilutedN2Flow, 1);
-
-
- }
-
- protected override void CalShSupplementFlow(RecipeStep currentStep)
- {
- var currentSiSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceTotalFlow)).Value;
- var currentCSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceTotalFlow)).Value;
-
-
- var currentShTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameShTotalFlow)).Value;
- var currentSurroundingFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCarryGasFlow)).Value;
-
-
- var currentSiSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceInnerFlow)).Value;
- var currentSiSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceMiddleFlow)).Value;
-
- var currentCSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceInnerFlow)).Value;
- var currentCSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceMiddleFlow)).Value;
-
-
-
- var currentShTotalFlowSplitRatio = new double[3];
- if (currentStep.FindParamByControlName(NameShTotalFlowSplitRatio) is Sets3RatioParam shTotalRatio)
- currentShTotalFlowSplitRatio = shTotalRatio.Ratio;
-
-
- var currentShSuppTotalFlow = currentShTotalFlow - currentSurroundingFlow - currentSiSourTotalFlow -
- currentCSourTotalFlow;
- var sumShTotalFlowSplitRatio = currentShTotalFlowSplitRatio[0] + currentShTotalFlowSplitRatio[1] +
- currentShTotalFlowSplitRatio[2];
- var currentShInnerFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[0];
- var currentShMidFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[1];
- var currentShOutterFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[2];
- var currentInnerSuppFlow = currentShInnerFlow - currentSiSourInnerFlow - currentCSourInnerFlow;
- var currentMidSuppFlow = currentShMidFlow - currentSiSourMidFlow - currentCSourMidFlow;
- var currentOutterSuppFlow = currentShSuppTotalFlow - currentInnerSuppFlow - currentMidSuppFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameShPushTotalFlow)).Value = Math.Round(currentShSuppTotalFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShInnerFlow)).Value = Math.Round(currentShInnerFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShMiddleFlow)).Value = Math.Round(currentShMidFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShOuterFlow)).Value = Math.Round(currentShOutterFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameInnerPushFlow)).Value = Math.Round(currentInnerSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameMiddlePushFlow)).Value = Math.Round(currentMidSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameOuterPushFlow)).Value = Math.Round(currentOutterSuppFlow, 1);
- }
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_3GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_3GasFlow.cs
deleted file mode 100644
index a5e64f2..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_3GasFlow.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_3GasFlow : RecipeGasFlowM1ToM17
- {
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_4GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_4GasFlow.cs
deleted file mode 100644
index 3403158..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_4GasFlow.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_4GasFlow : RecipeGasFlowM1ToM17
- {
- protected override void CalDopeFlow(RecipeStep currentStep)
- {
- var currentN2ActualFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2ActualFlow)).Value;
- var currentN2LowFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2LowFlow)).Value;
- var currentDiluFlowForN2 = ((DoubleParam)currentStep.FindParamByControlName(NameDilutionFlowForN2)).Value;
- var currentDilutedN2Flow = (currentN2LowFlow + currentDiluFlowForN2) * currentN2ActualFlow / currentN2LowFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameDilutedN2Flow)).Value = Math.Round(currentDilutedN2Flow, 1);
- }
-
- protected override void CalShSupplementFlow(RecipeStep currentStep)
- {
- var currentSiSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceTotalFlow)).Value;
- var currentCSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceTotalFlow)).Value;
-
- var currentShTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameShTotalFlow)).Value;
- var currentSurroundingFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCarryGasFlow)).Value;
-
- var currentSiSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceInnerFlow)).Value;
- var currentSiSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceMiddleFlow)).Value;
-
- var currentCSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceInnerFlow)).Value;
- var currentCSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceMiddleFlow)).Value;
-
- var currentShTotalFlowSplitRatio = new double[3];
- if (currentStep.FindParamByControlName(NameShTotalFlowSplitRatio) is Sets3RatioParam shTotalRatio)
- currentShTotalFlowSplitRatio = shTotalRatio.Ratio;
-
- var currentShSuppTotalFlow = currentShTotalFlow - currentSurroundingFlow - currentSiSourTotalFlow -
- currentCSourTotalFlow;
- var sumShTotalFlowSplitRatio = currentShTotalFlowSplitRatio[0] + currentShTotalFlowSplitRatio[1] +
- currentShTotalFlowSplitRatio[2];
- var currentShInnerFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[0];
- var currentShMidFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[1];
- var currentShOutterFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[2];
- var currentInnerSuppFlow = currentShInnerFlow - currentSiSourInnerFlow - currentCSourInnerFlow;
- var currentMidSuppFlow = currentShMidFlow - currentSiSourMidFlow - currentCSourMidFlow;
- var currentOutterSuppFlow = currentShSuppTotalFlow - currentInnerSuppFlow - currentMidSuppFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameShPushTotalFlow)).Value = Math.Round(currentShSuppTotalFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShInnerFlow)).Value = Math.Round(currentShInnerFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShMiddleFlow)).Value = Math.Round(currentShMidFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShOuterFlow)).Value = Math.Round(currentShOutterFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameInnerPushFlow)).Value = Math.Round(currentInnerSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameMiddlePushFlow)).Value = Math.Round(currentMidSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameOuterPushFlow)).Value = Math.Round(currentOutterSuppFlow, 1);
- }
- }
-}
\ No newline at end of file
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_5GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_5GasFlow.cs
deleted file mode 100644
index e9eca68..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_5GasFlow.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_5GasFlow: RecipeGasFlowM1ToM17
- {
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_6GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_6GasFlow.cs
deleted file mode 100644
index c59797a..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_6GasFlow.cs
+++ /dev/null
@@ -1,111 +0,0 @@
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_6GasFlow: NH3_1GasFlow
- {
- public string V100 => "V100Value.SetValve";
- public string M21 => "Mfc21.Ramp";
-
- protected override void CalShSupplementFlow(RecipeStep currentStep)
- {
- var currentSiSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceTotalFlow)).Value;
- var currentCSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceTotalFlow)).Value;
-
-
- var currentShTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameShTotalFlow)).Value;
- var currentSurroundingFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCarryGasFlow)).Value;
-
-
- var currentSiSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceInnerFlow)).Value;
- var currentSiSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceMiddleFlow)).Value;
-
- var currentCSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceInnerFlow)).Value;
- var currentCSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceMiddleFlow)).Value;
-
-
-
- var currentShTotalFlowSplitRatio = new double[3];
- if (currentStep.FindParamByControlName(NameShTotalFlowSplitRatio) is Sets3RatioParam shTotalRatio)
- currentShTotalFlowSplitRatio = shTotalRatio.Ratio;
-
-
- var currentShSuppTotalFlow = currentShTotalFlow - currentSurroundingFlow - currentSiSourTotalFlow -
- currentCSourTotalFlow;
- var sumShTotalFlowSplitRatio = currentShTotalFlowSplitRatio[0] + currentShTotalFlowSplitRatio[1] +
- currentShTotalFlowSplitRatio[2];
- var currentShInnerFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[0];
- var currentShMidFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[1];
- var currentShOutterFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[2];
- var currentInnerSuppFlow = currentShInnerFlow - currentSiSourInnerFlow - currentCSourInnerFlow;
- var currentMidSuppFlow = currentShMidFlow - currentSiSourMidFlow - currentCSourMidFlow;
- var currentOutterSuppFlow = currentShSuppTotalFlow - currentInnerSuppFlow - currentMidSuppFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameShPushTotalFlow)).Value = Math.Round(currentShSuppTotalFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShInnerFlow)).Value = Math.Round(currentShInnerFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShMiddleFlow)).Value = Math.Round(currentShMidFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShOuterFlow)).Value = Math.Round(currentShOutterFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameInnerPushFlow)).Value = Math.Round(currentInnerSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameMiddlePushFlow)).Value = Math.Round(currentMidSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameOuterPushFlow)).Value = Math.Round(currentOutterSuppFlow, 1);
- }
-
- protected override void CalDopeFlow(RecipeStep currentStep)
- {
- var currentN2ActualFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2ActualFlow)).Value;
- var currentN2LowFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2LowFlow)).Value;
- var currentDiluFlowForN2 = ((DoubleParam)currentStep.FindParamByControlName(NameDilutionFlowForN2)).Value;
- var v100 = ((ComboxParam)currentStep.FindParamByControlName(V100)).Value;
- double currentDilutedN2Flow = 0;
- //if (v100.ToString() == "Open")
- //{
- // var m7 = ((DoubleParam)currentStep.FindParamByControlName(NameTmaBubbleFlow)).Value;
- // var m8 = ((DoubleParam)currentStep.FindParamByControlName(NameTmaPushFlow)).Value;
- // var m21 = ((DoubleParam)currentStep.FindParamByControlName(M21)).Value;
-
- // currentN2LowFlow = m7 + m8 + m21;
- //}
- currentDilutedN2Flow = (currentN2LowFlow + currentDiluFlowForN2) * currentN2ActualFlow / currentN2LowFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameDilutedN2Flow)).Value = Math.Round(currentDilutedN2Flow, 1);
- }
-
- protected override void CalVentFlow(RecipeStep currentStep, string chamberName)
- {
- var currentTotalVentFlow = ((DoubleParam)currentStep.FindParamByControlName(NameTotalVentFlow)).Value;
- var currentHClFlow = ((DoubleParam)currentStep.FindParamByControlName(NameHclFlow)).Value;
- var currentC2H4Flow = ((DoubleParam)currentStep.FindParamByControlName(NameCxHxFlow)).Value;
-
- var currentTcsFlowMode = (currentStep.FindParamByControlName(NameTcsFlowMode) as ComboxParam)?.Value;
- var currentHClFlowMode = (currentStep.FindParamByControlName(NameHclFlowMode) as ComboxParam)?.Value;
- var currentC2H4FlowMode = (currentStep.FindParamByControlName(NameCxHxFlowMode) as ComboxParam)?.Value;
-
- var tcsFlow = GetTcsFlow(currentStep, chamberName);
-
-
- var currentSiSourTotalFlowForPurge = (currentTcsFlowMode != null && currentTcsFlowMode.Equals(FlowModeParam.FlowModeEnum.Run) == false
- ? tcsFlow
- : 0d) +
- (currentHClFlowMode != null && currentHClFlowMode.Equals(FlowModeParam.FlowModeEnum.Run) == false
- ? currentHClFlow
- : 0d);
-
- var currentCSourTotalFlowForPurge =
- currentC2H4FlowMode != null && currentC2H4FlowMode.Equals(FlowModeParam.FlowModeEnum.Run) == false
- ? currentC2H4Flow
- : 0d;
-
- var currentVentPushFlow = currentTotalVentFlow - currentSiSourTotalFlowForPurge - currentCSourTotalFlowForPurge;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameVentPushFlow_M17)).Value = Math.Round(currentVentPushFlow, 1);
- }
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_7GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_7GasFlow.cs
deleted file mode 100644
index 82a32c9..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_7GasFlow.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-using MECF.Framework.Common.DataCenter;
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_7GasFlow : RecipeGasFlowM1ToM17_NoneSiH4
- {
-
- public override string NameN2FlowMode => "NH3_2Dilution.SetValve";
-
- public override string NameN2HighFlowMode => "N2NH3_2Doping.SetValve";
-
- public override string NameN2ActualFlow => "NH3_2ActualFlow";
-
- protected override void CalDopeFlow(RecipeStep currentStep)
- {
- var currentN2ActualFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2ActualFlow)).Value;
- var currentN2LowFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2LowFlow)).Value;
- var currentDiluFlowForN2 = ((DoubleParam)currentStep.FindParamByControlName(NameDilutionFlowForN2)).Value;
- var currentDilutedN2Flow = (currentN2LowFlow + currentDiluFlowForN2) * currentN2ActualFlow / currentN2LowFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameDilutedN2Flow)).Value = Math.Round(currentDilutedN2Flow, 1);
-
-
- }
-
- protected override void CalShSupplementFlow(RecipeStep currentStep)
- {
- var currentSiSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceTotalFlow)).Value;
- var currentCSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceTotalFlow)).Value;
-
-
- var currentShTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameShTotalFlow)).Value;
- var currentSurroundingFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCarryGasFlow)).Value;
-
-
- var currentSiSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceInnerFlow)).Value;
- var currentSiSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceMiddleFlow)).Value;
-
- var currentCSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceInnerFlow)).Value;
- var currentCSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceMiddleFlow)).Value;
-
-
-
- var currentShTotalFlowSplitRatio = new double[3];
- if (currentStep.FindParamByControlName(NameShTotalFlowSplitRatio) is Sets3RatioParam shTotalRatio)
- currentShTotalFlowSplitRatio = shTotalRatio.Ratio;
-
-
- var currentShSuppTotalFlow = currentShTotalFlow - currentSurroundingFlow - currentSiSourTotalFlow -
- currentCSourTotalFlow;
- var sumShTotalFlowSplitRatio = currentShTotalFlowSplitRatio[0] + currentShTotalFlowSplitRatio[1] +
- currentShTotalFlowSplitRatio[2];
- var currentShInnerFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[0];
- var currentShMidFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[1];
- var currentShOutterFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[2];
- var currentInnerSuppFlow = currentShInnerFlow - currentSiSourInnerFlow - currentCSourInnerFlow;
- var currentMidSuppFlow = currentShMidFlow - currentSiSourMidFlow - currentCSourMidFlow;
- var currentOutterSuppFlow = currentShSuppTotalFlow - currentInnerSuppFlow - currentMidSuppFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameShPushTotalFlow)).Value = Math.Round(currentShSuppTotalFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShInnerFlow)).Value = Math.Round(currentShInnerFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShMiddleFlow)).Value = Math.Round(currentShMidFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShOuterFlow)).Value = Math.Round(currentShOutterFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameInnerPushFlow)).Value = Math.Round(currentInnerSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameMiddlePushFlow)).Value = Math.Round(currentMidSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameOuterPushFlow)).Value = Math.Round(currentOutterSuppFlow, 1);
- }
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_8GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_8GasFlow.cs
deleted file mode 100644
index e4c494a..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_8GasFlow.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using MECF.Framework.Common.DataCenter;
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_8GasFlow : RecipeGasFlowM1ToM17_NoneSiH4
- {
- public override string NameN2HighFlowMode => "N2NH3_8HighFlowMode.SetValve";
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_9GasFlow.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_9GasFlow.cs
deleted file mode 100644
index 3e6101a..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/NH3_9GasFlow.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-using MECF.Framework.Common.DataCenter;
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class NH3_9GasFlow : RecipeGasFlowM1ToM17
- {
- public override string NameN2HighFlowMode => "N2NH3_10HighFlowMode.SetValve";
- protected override void CalDopeFlow(RecipeStep currentStep)
- {
- var currentN2ActualFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2ActualFlow)).Value;
- var currentN2LowFlow = ((DoubleParam)currentStep.FindParamByControlName(NameN2LowFlow)).Value;
- var currentDiluFlowForN2 = ((DoubleParam)currentStep.FindParamByControlName(NameDilutionFlowForN2)).Value;
- var currentDilutedN2Flow = (currentN2LowFlow + currentDiluFlowForN2) * currentN2ActualFlow / currentN2LowFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameDilutedN2Flow)).Value = Math.Round(currentDilutedN2Flow, 1);
-
-
- }
-
- protected override void CalShSupplementFlow(RecipeStep currentStep)
- {
- var currentSiSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceTotalFlow)).Value;
- var currentCSourTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceTotalFlow)).Value;
-
-
- var currentShTotalFlow = ((DoubleParam)currentStep.FindParamByControlName(NameShTotalFlow)).Value;
- var currentSurroundingFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCarryGasFlow)).Value;
-
-
- var currentSiSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceInnerFlow)).Value;
- var currentSiSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameSiSourceMiddleFlow)).Value;
-
- var currentCSourInnerFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceInnerFlow)).Value;
- var currentCSourMidFlow = ((DoubleParam)currentStep.FindParamByControlName(NameCSourceMiddleFlow)).Value;
-
-
-
- var currentShTotalFlowSplitRatio = new double[3];
- if (currentStep.FindParamByControlName(NameShTotalFlowSplitRatio) is Sets3RatioParam shTotalRatio)
- currentShTotalFlowSplitRatio = shTotalRatio.Ratio;
-
-
- var currentShSuppTotalFlow = currentShTotalFlow - currentSurroundingFlow - currentSiSourTotalFlow -
- currentCSourTotalFlow;
- var sumShTotalFlowSplitRatio = currentShTotalFlowSplitRatio[0] + currentShTotalFlowSplitRatio[1] +
- currentShTotalFlowSplitRatio[2];
- var currentShInnerFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[0];
- var currentShMidFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[1];
- var currentShOutterFlow = (currentShTotalFlow - currentSurroundingFlow) / sumShTotalFlowSplitRatio *
- currentShTotalFlowSplitRatio[2];
- var currentInnerSuppFlow = currentShInnerFlow - currentSiSourInnerFlow - currentCSourInnerFlow;
- var currentMidSuppFlow = currentShMidFlow - currentSiSourMidFlow - currentCSourMidFlow;
- var currentOutterSuppFlow = currentShSuppTotalFlow - currentInnerSuppFlow - currentMidSuppFlow;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameShPushTotalFlow)).Value = Math.Round(currentShSuppTotalFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShInnerFlow)).Value = Math.Round(currentShInnerFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShMiddleFlow)).Value = Math.Round(currentShMidFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameShOuterFlow)).Value = Math.Round(currentShOutterFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameInnerPushFlow)).Value = Math.Round(currentInnerSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameMiddlePushFlow)).Value = Math.Round(currentMidSuppFlow, 1);
- ((DoubleParam)currentStep.FindParamByControlName(NameOuterPushFlow)).Value = Math.Round(currentOutterSuppFlow, 1);
- }
- }
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/RecipeGasFlowM1ToM17.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/RecipeGasFlowM1ToM17.cs
deleted file mode 100644
index 5f4eb05..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/RecipeGasFlowM1ToM17.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-using MECF.Framework.Common.DataCenter;
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class RecipeGasFlowM1ToM17 : RecipeGasFlowCalculatorBase
- {
- public virtual string NameVentPushFlow_M17 => "Mfc17.Ramp";
-
- protected override double GetTcsFlow(RecipeStep step, string chamberName)
- {
- var currentTcsBubbleHighFlow = ((DoubleParam)step.FindParamByControlName(NameTcsBubbleHighFlow)).Value;
- var currentTcsPushFlow = ((DoubleParam)step.FindParamByControlName(NameTcsPushFlow)).Value;
- var currentTcsFlowMode = ((ComboxParam)step.FindParamByControlName(NameTcsFlowMode)).Value;
-
- var tcsFlow = 0d;
-
- var tcsEff =
- (double)QueryDataClient.Instance.Service.GetConfig($"PM.{chamberName}.Efficiency.TCS-Eff");
- if (currentTcsFlowMode.Equals(FlowModeParam.FlowModeEnum.Run)
- || currentTcsFlowMode.Equals(FlowModeParam.FlowModeEnum.Vent))
- {
- tcsFlow = currentTcsBubbleHighFlow * tcsEff + currentTcsPushFlow;
- }
- else if (currentTcsFlowMode.Equals(FlowModeParam.FlowModeEnum.Purge))
- {
- tcsFlow = currentTcsBubbleHighFlow + currentTcsPushFlow;
- }
-
- return tcsFlow;
- }
-
-
- protected override void CalVentFlow(RecipeStep currentStep, string chamberName)
- {
- var currentSiH4Flow = ((DoubleParam)currentStep.FindParamByControlName(NameSiH4Flow)).Value;
- var currentTotalVentFlow = ((DoubleParam)currentStep.FindParamByControlName(NameTotalVentFlow)).Value;
- var currentHClFlow = ((DoubleParam)currentStep.FindParamByControlName(NameHclFlow)).Value;
- var currentC2H4Flow = ((DoubleParam)currentStep.FindParamByControlName(NameCxHxFlow)).Value;
- var currentSiH4FlowMode = (currentStep.FindParamByControlName(NameSiH4FlowMode) as ComboxParam)?.Value;
- var currentTcsFlowMode = (currentStep.FindParamByControlName(NameTcsFlowMode) as ComboxParam)?.Value;
- var currentHClFlowMode = (currentStep.FindParamByControlName(NameHclFlowMode) as ComboxParam)?.Value;
- var currentC2H4FlowMode = (currentStep.FindParamByControlName(NameCxHxFlowMode) as ComboxParam)?.Value;
-
- var tcsFlow = GetTcsFlow(currentStep, chamberName);
-
-
- var currentSiSourTotalFlowForPurge =
- (currentSiH4FlowMode != null && currentSiH4FlowMode.Equals(FlowModeParam.FlowModeEnum.Run) == false
- ? currentSiH4Flow
- : 0d)
- + (currentTcsFlowMode != null && currentTcsFlowMode.Equals(FlowModeParam.FlowModeEnum.Run) == false
- ? tcsFlow
- : 0d) +
- (currentHClFlowMode != null && currentHClFlowMode.Equals(FlowModeParam.FlowModeEnum.Run) == false
- ? currentHClFlow
- : 0d);
-
- var currentCSourTotalFlowForPurge =
- currentC2H4FlowMode != null && currentC2H4FlowMode.Equals(FlowModeParam.FlowModeEnum.Run) == false
- ? currentC2H4Flow
- : 0d;
-
- var currentVentPushFlow = currentTotalVentFlow - currentSiSourTotalFlowForPurge - currentCSourTotalFlowForPurge ;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameVentPushFlow_M17)).Value = Math.Round(currentVentPushFlow, 1);
- }
- }
-
-}
diff --git a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/RecipeGasFlowM1ToM17_NoneSiH4.cs b/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/RecipeGasFlowM1ToM17_NoneSiH4.cs
deleted file mode 100644
index e5d65af..0000000
--- a/Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/RecipeGasFlowCalculators/RecipeGasFlowM1ToM17_NoneSiH4.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-using MECF.Framework.Common.DataCenter;
-using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel
-{
- public class RecipeGasFlowM1ToM17_NoneSiH4 : RecipeGasFlowCalculatorBase
- {
- public virtual string NameVentPushFlow_M17 => "Mfc17.Ramp";
-
- protected override double GetTcsFlow(RecipeStep step, string chamberName)
- {
- var currentTcsBubbleHighFlow = ((DoubleParam)step.FindParamByControlName(NameTcsBubbleHighFlow)).Value;
- var currentTcsPushFlow = ((DoubleParam)step.FindParamByControlName(NameTcsPushFlow)).Value;
- var currentTcsFlowMode = ((ComboxParam)step.FindParamByControlName(NameTcsFlowMode)).Value;
-
- var tcsFlow = 0d;
-
- var tcsEff =
- (double)QueryDataClient.Instance.Service.GetConfig($"PM.{chamberName}.Efficiency.TCS-Eff");
- if (currentTcsFlowMode.Equals(FlowModeParam.FlowModeEnum.Run)
- || currentTcsFlowMode.Equals(FlowModeParam.FlowModeEnum.Vent))
- {
- tcsFlow = currentTcsBubbleHighFlow * tcsEff + currentTcsPushFlow;
- }
- else if (currentTcsFlowMode.Equals(FlowModeParam.FlowModeEnum.Purge))
- {
- tcsFlow = currentTcsBubbleHighFlow + currentTcsPushFlow;
- }
-
- return tcsFlow;
- }
-
- protected override void CalVentFlow(RecipeStep currentStep, string chamberName)
- {
- var currentTotalVentFlow = ((DoubleParam)currentStep.FindParamByControlName(NameTotalVentFlow)).Value;
- var currentHClFlow = ((DoubleParam)currentStep.FindParamByControlName(NameHclFlow)).Value;
- var currentC2H4Flow = ((DoubleParam)currentStep.FindParamByControlName(NameCxHxFlow)).Value;
-
- var currentTcsFlowMode = (currentStep.FindParamByControlName(NameTcsFlowMode) as ComboxParam)?.Value;
- var currentHClFlowMode = (currentStep.FindParamByControlName(NameHclFlowMode) as ComboxParam)?.Value;
- var currentC2H4FlowMode = (currentStep.FindParamByControlName(NameCxHxFlowMode) as ComboxParam)?.Value;
-
- var tcsFlow = GetTcsFlow(currentStep, chamberName);
-
- var currentSiSourTotalFlowForPurge = (currentTcsFlowMode != null && currentTcsFlowMode.Equals(FlowModeParam.FlowModeEnum.Run) == false
- ? tcsFlow
- : 0d) +
- (currentHClFlowMode != null && currentHClFlowMode.Equals(FlowModeParam.FlowModeEnum.Run) == false
- ? currentHClFlow
- : 0d);
-
- var currentCSourTotalFlowForPurge =
- currentC2H4FlowMode != null && currentC2H4FlowMode.Equals(FlowModeParam.FlowModeEnum.Run) == false
- ? currentC2H4Flow
- : 0d;
-
- var currentVentPushFlow = currentTotalVentFlow - currentSiSourTotalFlowForPurge - currentCSourTotalFlowForPurge;
-
- ((DoubleParam)currentStep.FindParamByControlName(NameVentPushFlow_M17)).Value = Math.Round(currentVentPushFlow, 1);
- }
- }
-}
\ No newline at end of file