public ScenarioPowerSystemPlanningModel(string name, double yearlyDiscountRate, LoadDurationCurveByBlocks myLoadDurationCurve)
     : this()
 {
     Name = name;
     YearlyDiscountRate = yearlyDiscountRate;
     MyLoadDurationCurve = myLoadDurationCurve;
 }
 public ScenarioPowerSystemPlanningModel()
 {
     Name = "";
     TargetPlanningYear = 0;
     YearlyDiscountRate = 0;
     MyLoadDurationCurve = new LoadDurationCurveByBlocks();
     MyScenarios = new BindingList<PowerSystemScenario>();
 }
 /// <summary>
 /// Creates a new scenario tep view model with default (arbitrary) parameters for the power system data model.
 /// </summary>
 /// <returns>A new (mostly empty) scenario TEP model.</returns>
 public static MainWindowViewModel CreateDefaultScenarioTEPModel()
 {
     MainWindowViewModel MyScenarioTEPViewModel = new MainWindowViewModel();
     ScenarioTEPModel MyScenarioTEPModel = MyScenarioTEPViewModel.MyScenarioTEPModel;
     //Default load duration curve
     LoadDurationCurveByBlocks defaultLoadDurationCurve = new LoadDurationCurveByBlocks();
     defaultLoadDurationCurve.DurationBlocks.Add(new LoadBlock(6000, 0.4));
     defaultLoadDurationCurve.DurationBlocks.Add(new LoadBlock(2000, 0.6));
     defaultLoadDurationCurve.DurationBlocks.Add(new LoadBlock(760, 1));
     //Default name and discount rate
     MyScenarioTEPModel.Name = "Unnamed power system model";
     MyScenarioTEPModel.YearlyDiscountRate = 0.07;
     MyScenarioTEPModel.MyLoadDurationCurve = defaultLoadDurationCurve;
     MyScenarioTEPModel.TargetPlanningYear = 10;
     MyScenarioTEPModel.YearsWithOperation = 10;
     //Adds an empty scenario
     MyScenarioTEPModel.MyScenarios.Add(new PowerSystemScenario("Unnamed scenario", new PowerSystem()));
     return MyScenarioTEPViewModel;
 }
 public LDCOPFModelSolver(PowerSystem powerSystem, LoadDurationCurveByBlocks durationCurveBlocks)
     : base(powerSystem)
 {
     this.DurationCurveBlocks = durationCurveBlocks;
 }