/// <summary> /// Constructor. /// </summary> public BifurcationAnalysis(Analysis owner) { m_owner = owner; m_param = new BifurcationAnalysisParameter(); m_result = new BifurcationResult[s_num + 1, s_num + 1]; m_region = new int[(int)(s_num / s_skip) + 1, (int)(s_num / s_skip) + 1]; }
/// <summary> /// Set the parameter set of bifurcation analysis in this form. /// </summary> /// <param name="p">the parameter set of bifurcation analysis.</param> public void SetBifurcationAnalysisParameter(BifurcationAnalysisParameter p) { m_bifurcateParameter = p; }
/// <summary> /// This program execute the program of bifurcation analysis. /// </summary> public void ExecuteBifurcationAnalysis() { if (m_env.PluginManager.Status == ProjectStatus.Uninitialized) return; m_bifurcateParameter = m_bifurcationDialog.GetParameter(); ShowGridStatusDialog(); string modelName = m_env.DataManager.CurrentProject.Model.ModelID; List<EcellObject> sysObj = new List<EcellObject>(); foreach (EcellObject e in m_env.DataManager.CurrentProject.SystemDic[modelName]) { sysObj.Add(e.Clone()); } List<EcellObject> stepperObj = new List<EcellObject>(); foreach (EcellObject e in m_env.DataManager.CurrentProject.StepperDic[modelName]) { stepperObj.Add(e.Clone()); } JobGroup g = m_env.JobManager.CreateJobGroup(BifurcationAnalysis.s_analysisName, sysObj, stepperObj); BifurcationAnalysis bifurcationAnalysis = new BifurcationAnalysis(this); bifurcationAnalysis.Group = g; bifurcationAnalysis.AnalysisParameter = m_bifurcateParameter; bifurcationAnalysis.ExecuteAnalysis(); }
/// <summary> /// Initializes the plugin. /// </summary> public override void Initialize() { m_env.JobManager.AnalysisDic[ParameterEstimation.s_analysisName] = new ParameterEstimation(this); m_env.JobManager.AnalysisDic[BifurcationAnalysis.s_analysisName] = new BifurcationAnalysis(this); m_env.JobManager.AnalysisDic[SensitivityAnalysis.s_analysisName] = new SensitivityAnalysis(this); m_env.JobManager.AnalysisDic[RobustAnalysis.s_analysisName] = new RobustAnalysis(this); m_bifurcateParameter = new BifurcationAnalysisParameter(); m_estimationParameter = new ParameterEstimationParameter(); m_sensitivityParameter = new SensitivityAnalysisParameter(); m_robustParameter = new RobustAnalysisParameter(); m_rWin = new AnalysisResultWindow(this); m_bifurcationDialog = new BifurcationSettingDialog(this); m_bifurcationDialog.SetParameter(m_bifurcateParameter); m_bifurcationDialog.ContentType = DockContentType.ANALYSIS; m_robustDialog = new RobustAnalysisSettingDialog(this); m_robustDialog.SetParameter(m_robustParameter); m_robustDialog.ContentType = DockContentType.ANALYSIS; m_sensitivityDialog = new SensitivityAnalysisSettingDialog(this); m_sensitivityDialog.SetParameter(m_sensitivityParameter); m_sensitivityDialog.ContentType = DockContentType.ANALYSIS; m_estimationDialog = new ParameterEstimationSettingDialog(this); m_estimationDialog.SetParameter(m_estimationParameter); m_estimationDialog.ContentType = DockContentType.ANALYSIS; }
/// <summary> /// Set the parameter set of bifurcation analysis in this form. /// </summary> /// <param name="p">the parameter set of bifurcation analysis.</param> public void SetParameter(BifurcationAnalysisParameter p) { bifurcationSimulationTimeTextBox.Text = Convert.ToString(p.SimulationTime); bifurcationWindowSizeTextBox.Text = Convert.ToString(p.WindowSize); bifurcationMaxInputTextBox.Text = Convert.ToString(p.MaxInput); bifurcationMaxFrequencyTextBox.Text = Convert.ToString(p.MaxFreq); bifurcationMinFrequencyTextBox.Text = Convert.ToString(p.MinFreq); m_param = p; }