Esempio n. 1
0
        public static List <PanelSimulationResult> ToSAM_PanelSimulationResults(this ZoneData zoneData, int index)
        {
            List <SurfaceData> surfaceDatas = zoneData?.SurfaceDatas();

            if (surfaceDatas == null)
            {
                return(null);
            }

            List <PanelSimulationResult> result = new List <PanelSimulationResult>();

            foreach (SurfaceData surfaceData in surfaceDatas)
            {
                PanelSimulationResult panelSimulationResult = surfaceData?.ToSAM(index);
                if (panelSimulationResult == null)
                {
                    continue;
                }

                panelSimulationResult.SetValue(PanelSimulationResultParameter.ZoneName, zoneData.name);

                result.Add(panelSimulationResult);
            }

            return(result);
        }
Esempio n. 2
0
        public static PanelSimulationResult ToSAM(this SurfaceData surfaceData, int index)
        {
            if (surfaceData == null || index == -1)
            {
                return(null);
            }

            PanelSimulationResult result = new PanelSimulationResult(surfaceData.BEName, Query.Source(), surfaceData.surfaceNumber.ToString());

            result.SetValue(Analytical.PanelSimulationResultParameter.Area, surfaceData.area);

            double value = double.NaN;

            value = surfaceData.HourlySurfaceResult(PanelDataType.ApertureFlowIn, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.ApertureFlowIn, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.ApertureFlowOut, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.ApertureFlowOut, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.ApertureOpening, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.ApertureOpening, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.ExternalCondensation, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.ExternalCondensation, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.ExternalConduction, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.ExternalConduction, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.ExternalConvection, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.ExternalConvection, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.ExternalLongWave, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.ExternalLongWave, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.ExternalSolarGain, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.ExternalSolarGain, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.ExternalTemperature, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.ExternalTemperature, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.InternalCondensation, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.InternalCondensation, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.InternalConduction, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.InternalConduction, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.InternalConvection, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.InternalConvection, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.InternalLongWave, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.InternalLongWave, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.InternalSolarGain, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.InternalSolarGain, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.InternalTemperature, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.InternalTemperature, value);
            }

            value = surfaceData.HourlySurfaceResult(PanelDataType.InterstitialCondensation, index, double.NaN);
            if (!double.IsNaN(value))
            {
                result.SetValue(Analytical.PanelSimulationResultParameter.InterstitialCondensation, value);
            }

            return(result);
        }