/// <summary>
        /// Initializes a new instance of the <see cref="VentilationSimulationControl" /> class.
        /// </summary>
        /// <param name="ventControlType">Text indicating type of ventilation control. Choices are: SingleZone, MultiZoneWithDistribution, MultiZoneWithoutDistribution. The MultiZone options will model air flow with the AirflowNetwork model, which is generally more accurate then the SingleZone option, but will take considerably longer to simulate, and requires defining more ventilation parameters to explicitly account for weather and building-induced pressure differences, and the leakage geometry corresponding to specific windows, doors, and surface cracks..</param>
        /// <param name="referenceTemperature">Reference temperature measurement in Celsius under which the surface crack data were obtained. (default to 20D).</param>
        /// <param name="referencePressure">Reference barometric pressure measurement in Pascals under which the surface crack data were obtained. (default to 101325D).</param>
        /// <param name="referenceHumidityRatio">Reference humidity ratio measurement in kgWater/kgDryAir under which the surface crack data were obtained. (default to 0D).</param>
        /// <param name="buildingType">Text indicating relationship between building footprint and height used to calculate the wind pressure coefficients for exterior surfaces.Choices are: LowRise and HighRise. LowRise corresponds to rectangular building whose height is less then three times the width and length of the footprint. HighRise corresponds to a rectangular building whose height is more than three times the width and length of the footprint. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate..</param>
        /// <param name="longAxisAngle">The clockwise rotation in degrees from true North of the long axis of the building. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate. (default to 0D).</param>
        /// <param name="aspectRatio">Aspect ratio of a rectangular footprint, defined as the ratio of length of the short axis divided by the length of the long axis. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate. (default to 1D).</param>
        public VentilationSimulationControl
        (
            // Required parameters
            VentilationControlType ventControlType = VentilationControlType.SingleZone, double referenceTemperature = 20D, double referencePressure = 101325D, double referenceHumidityRatio = 0D, BuildingType buildingType = BuildingType.LowRise, double longAxisAngle = 0D, double aspectRatio = 1D // Optional parameters
        ) : base()                                                                                                                                                                                                                                                                                      // BaseClass
        {
            this.VentControlType        = ventControlType;
            this.ReferenceTemperature   = referenceTemperature;
            this.ReferencePressure      = referencePressure;
            this.ReferenceHumidityRatio = referenceHumidityRatio;
            this.BuildingType           = buildingType;
            this.LongAxisAngle          = longAxisAngle;
            this.AspectRatio            = aspectRatio;

            // Set non-required readonly properties with defaultValue
            this.Type = "VentilationSimulationControl";
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="VentilationSimulationControl" /> class.
        /// </summary>
        /// <param name="ventControlType">Text indicating type of ventilation control. Choices are: SingleZone, MultiZoneWithDistribution, MultiZoneWithoutDistribution. The MultiZone options will model air flow with the AirflowNetwork model, which is generally more accurate then the SingleZone option, but will take considerably longer to simulate, and requires defining more ventilation parameters to explicitly account for weather and building-induced pressure differences, and the leakage geometry corresponding to specific windows, doors, and surface cracks..</param>
        /// <param name="referenceTemperature">Reference temperature measurement in Celsius under which the surface crack data were obtained. (default to 20D).</param>
        /// <param name="referencePressure">Reference barometric pressure measurement in Pascals under which the surface crack data were obtained. (default to 101325D).</param>
        /// <param name="referenceHumidityRatio">Reference humidity ratio measurement in kgWater/kgDryAir under which the surface crack data were obtained. (default to 0D).</param>
        /// <param name="buildingType">Text indicating relationship between building footprint and height used to calculate the wind pressure coefficients for exterior surfaces.Choices are: LowRise and HighRise. LowRise corresponds to rectangular building whose height is less then three times the width and length of the footprint. HighRise corresponds to a rectangular building whose height is more than three times the width and length of the footprint. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate..</param>
        /// <param name="longAxisAngle">The clockwise rotation in degrees from true North of the long axis of the building. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate. (default to 0D).</param>
        /// <param name="aspectRatio">Aspect ratio of a rectangular footprint, defined as the ratio of length of the short axis divided by the length of the long axis. This parameter is required to automatically calculate wind pressure coefficients for the AirflowNetwork simulation. If used for complex building geometries that cannot be described as a highrise or lowrise rectangular mass, the resulting air flow and pressure simulated on the building surfaces may be inaccurate. (default to 1D).</param>
        public VentilationSimulationControl
        (
            // Required parameters
            VentilationControlType ventControlType = VentilationControlType.SingleZone, double referenceTemperature = 20D, double referencePressure = 101325D, double referenceHumidityRatio = 0D, BuildingType buildingType = BuildingType.LowRise, double longAxisAngle = 0D, double aspectRatio = 1D // Optional parameters
        ) : base()                                                                                                                                                                                                                                                                                      // BaseClass
        {
            this.VentControlType        = ventControlType;
            this.ReferenceTemperature   = referenceTemperature;
            this.ReferencePressure      = referencePressure;
            this.ReferenceHumidityRatio = referenceHumidityRatio;
            this.BuildingType           = buildingType;
            this.LongAxisAngle          = longAxisAngle;
            this.AspectRatio            = aspectRatio;

            // Set non-required readonly properties with defaultValue
            this.Type = "VentilationSimulationControl";

            // check if object is valid, only check for inherited class
            if (this.GetType() == typeof(VentilationSimulationControl))
            {
                this.IsValid(throwException: true);
            }
        }