/// <summary> /// Initializes a new instance of the <see cref="SimulationParameter" /> class. /// </summary> /// <param name="type">type (default to "SimulationParameter").</param> /// <param name="output">A SimulationOutput that lists the desired outputs from the simulation and the format in which to report them..</param> /// <param name="runPeriod">A RunPeriod to describe the time period over which to run the simulation..</param> /// <param name="timestep">An integer for the number of timesteps per hour at which the energy calculation will be run. (default to 6).</param> /// <param name="simulationControl">A SimulationControl object that describes which types of calculations to run..</param> /// <param name="shadowCalculation">A ShadowCalculation object describing settings for the EnergyPlus Shadow Calculation..</param> /// <param name="sizingParameter">A SizingParameter object with criteria for sizing the heating and cooling system..</param> public SimulationParameter(string type = "SimulationParameter", SimulationOutput output = default, RunPeriod runPeriod = default, int timestep = 6, SimulationControl simulationControl = default, ShadowCalculation shadowCalculation = default, SizingParameter sizingParameter = default) { // use default value if no "type" provided if (type == null) { this.Type = "SimulationParameter"; } else { this.Type = type; } this.Output = output; this.RunPeriod = runPeriod; // use default value if no "timestep" provided if (timestep == null) { this.Timestep = 6; } else { this.Timestep = timestep; } this.SimulationControl = simulationControl; this.ShadowCalculation = shadowCalculation; this.SizingParameter = sizingParameter; }
/// <summary> /// Initializes a new instance of the <see cref="SimulationParameter" /> class. /// </summary> /// <param name="output">A SimulationOutput that lists the desired outputs from the simulation and the format in which to report them..</param> /// <param name="runPeriod">A RunPeriod to describe the time period over which to run the simulation..</param> /// <param name="timestep">An integer for the number of timesteps per hour at which the energy calculation will be run. (default to 6).</param> /// <param name="simulationControl">A SimulationControl object that describes which types of calculations to run..</param> /// <param name="shadowCalculation">A ShadowCalculation object describing settings for the EnergyPlus Shadow Calculation..</param> /// <param name="sizingParameter">A SizingParameter object with criteria for sizing the heating and cooling system..</param> /// <param name="northAngle">A number between -360 and 360 for the north direction in degrees.This is the counterclockwise difference between the North and the positive Y-axis. 90 is West and 270 is East. Note that this is different than the convention used in EnergyPlus, which uses clockwise difference instead of counterclockwise difference. (default to 0D).</param> /// <param name="terrainType">Text for the terrain in which the model sits. This is used to determine the wind profile over the height of the rooms..</param> public SimulationParameter ( // Required parameters SimulationOutput output = default, RunPeriod runPeriod = default, int timestep = 6, SimulationControl simulationControl = default, ShadowCalculation shadowCalculation = default, SizingParameter sizingParameter = default, double northAngle = 0D, TerrianTypes terrainType = TerrianTypes.City // Optional parameters ) : base() // BaseClass { this.Output = output; this.RunPeriod = runPeriod; this.Timestep = timestep; this.SimulationControl = simulationControl; this.ShadowCalculation = shadowCalculation; this.SizingParameter = sizingParameter; this.NorthAngle = northAngle; this.TerrainType = terrainType; // Set non-required readonly properties with defaultValue this.Type = "SimulationParameter"; }
/// <summary> /// Initializes a new instance of the <see cref="SimulationParameter" /> class. /// </summary> /// <param name="output">A SimulationOutput that lists the desired outputs from the simulation and the format in which to report them..</param> /// <param name="runPeriod">A RunPeriod to describe the time period over which to run the simulation..</param> /// <param name="timestep">An integer for the number of timesteps per hour at which the energy calculation will be run. (default to 6).</param> /// <param name="simulationControl">A SimulationControl object that describes which types of calculations to run..</param> /// <param name="shadowCalculation">A ShadowCalculation object describing settings for the EnergyPlus Shadow Calculation..</param> /// <param name="sizingParameter">A SizingParameter object with criteria for sizing the heating and cooling system..</param> /// <param name="northAngle">A number between -360 and 360 for the north direction in degrees.This is the counterclockwise difference between the North and the positive Y-axis. 90 is West and 270 is East. Note that this is different than the convention used in EnergyPlus, which uses clockwise difference instead of counterclockwise difference. (default to 0D).</param> /// <param name="terrainType">Text for the terrain in which the model sits. This is used to determine the wind profile over the height of the rooms..</param> public SimulationParameter ( // Required parameters SimulationOutput output = default, RunPeriod runPeriod = default, int timestep = 6, SimulationControl simulationControl = default, ShadowCalculation shadowCalculation = default, SizingParameter sizingParameter = default, double northAngle = 0D, TerrianTypes terrainType = TerrianTypes.City // Optional parameters ) : base() // BaseClass { this.Output = output; this.RunPeriod = runPeriod; this.Timestep = timestep; this.SimulationControl = simulationControl; this.ShadowCalculation = shadowCalculation; this.SizingParameter = sizingParameter; this.NorthAngle = northAngle; this.TerrainType = terrainType; // Set non-required readonly properties with defaultValue this.Type = "SimulationParameter"; // check if object is valid, only check for inherited class if (this.GetType() == typeof(SimulationParameter)) { this.IsValid(throwException: true); } }