/// <summary>
        /// Constructor.
        /// </summary>
        public SensitivityAnalysis(Analysis owner)
        {
            m_owner = owner;
            m_param = new SensitivityAnalysisParameter();

            m_currentData = new Dictionary<string, double>();
            m_pertubateData = new Dictionary<string, double>();
            m_execParam = new Dictionary<int, ExecuteParameter>();
            m_saveList = new List<SaveLoggerProperty>();
        }
 /// <summary>
 /// Set the parameter of sensitivity analysis to this form.
 /// </summary>
 /// <param name="p">the parameter of sensitivity analysis.</param>
 public void SetParameter(SensitivityAnalysisParameter p)
 {
     sensitivityStepTextBox.Text = Convert.ToString(p.Step);
     sensitivityRelativePerturbationTextBox.Text = Convert.ToString(p.RelativePerturbation);
     sensitivityAbsolutePerturbationTextBox.Text = Convert.ToString(p.AbsolutePerturbation);
     m_param = p;
 }
Exemple #3
0
        /// <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;
        }
Exemple #4
0
 /// <summary>
 /// Set the parameter of sensitivity analysis to this form.
 /// </summary>
 /// <param name="p">the parameter of sensitivity analysis.</param>
 public void SetSensitivityAnalysisParameter(SensitivityAnalysisParameter p)
 {
     m_sensitivityParameter = p;
 }
Exemple #5
0
 /// <summary>
 /// This program execute the program of sensitivity analysis.
 /// </summary>
 public void ExecuteSensitivityAnalysis()
 {
     if (m_env.PluginManager.Status == ProjectStatus.Uninitialized)
         return;
     m_sensitivityParameter = m_sensitivityDialog.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(SensitivityAnalysis.s_analysisName, sysObj, stepperObj);
     SensitivityAnalysis sensitivityAnalysis = new SensitivityAnalysis(this);
     sensitivityAnalysis.Group = g;
     sensitivityAnalysis.AnalysisParameter = m_sensitivityParameter;
     sensitivityAnalysis.ExecuteAnalysis();
 }