예제 #1
0
        public static bool UpdateMaterial(this TBD.material material, GasMaterial gasMaterial)
        {
            if (!string.IsNullOrWhiteSpace(gasMaterial.Name) && !gasMaterial.Name.Equals(material.name))
            {
                material.name = gasMaterial.Name;
            }

            material.type = (int)TBD.MaterialTypes.tcdGasLayer;

            material.description           = gasMaterial.Description;
            material.width                 = System.Convert.ToSingle(gasMaterial.GetValue <double>(MaterialParameter.DefaultThickness));
            material.convectionCoefficient = System.Convert.ToSingle(gasMaterial.GetValue <double>(GasMaterialParameter.HeatTransferCoefficient));
            material.vapourDiffusionFactor = System.Convert.ToSingle(gasMaterial.GetValue <double>(MaterialParameter.VapourDiffusionFactor));

            return(true);
        }
        public static EnergyMaterialNoMass ToLadybugTools(this GasMaterial gasMaterial, double angle, double thickness = double.NaN)
        {
            if (gasMaterial == null || string.IsNullOrEmpty(gasMaterial.Name))
            {
                return(null);
            }

            GasType?gasType = gasMaterial.GasType();

            if (gasType == null || !gasType.HasValue || gasType != GasType.Air)
            {
                return(null);
            }

            double thickness_Temp = thickness;

            if (double.IsNaN(thickness_Temp))
            {
                thickness_Temp = gasMaterial.GetValue <double>(MaterialParameter.DefaultThickness);
            }

            double airspaceThermalResistance = Analytical.Query.AirspaceThermalResistance(angle, thickness_Temp);

            if (double.IsNaN(airspaceThermalResistance))
            {
                return(null);
            }

            return(new EnergyMaterialNoMass(identifier: gasMaterial.Name, rValue: airspaceThermalResistance, displayName: gasMaterial.DisplayName));
        }
        public static EnergyMaterialNoMass ToLadybugTools(this GasMaterial gasMaterial)
        {
            if (gasMaterial == null || string.IsNullOrEmpty(gasMaterial.Name))
            {
                return(null);
            }

            return(new EnergyMaterialNoMass(identifier: gasMaterial.Name, rValue: gasMaterial.GetValue <double>(GasMaterialParameter.HeatTransferCoefficient), displayName: gasMaterial.DisplayName));
        }
        public static EnergyWindowMaterialGas ToLadybugTools_EnergyWindowMaterialGas(this GasMaterial gasMaterial)
        {
            if (gasMaterial == null || string.IsNullOrEmpty(gasMaterial.Name))
            {
                return(null);
            }

            GasType?gasType = gasMaterial.GasType();

            if (gasType == null || !gasType.HasValue)
            {
                return(null);
            }

            return(new EnergyWindowMaterialGas(
                       identifier: gasMaterial.Name,
                       displayName: gasMaterial.DisplayName,
                       userData: null,
                       thickness: gasMaterial.GetValue <double>(MaterialParameter.DefaultThickness),
                       gasType: gasType.Value));
        }