diff --git a/IBPSA/Fluid/SolarCollectors/BaseClasses/PartialSolarCollector.mo b/IBPSA/Fluid/SolarCollectors/BaseClasses/PartialSolarCollector.mo index edf7bc0d65..4eadde2421 100644 --- a/IBPSA/Fluid/SolarCollectors/BaseClasses/PartialSolarCollector.mo +++ b/IBPSA/Fluid/SolarCollectors/BaseClasses/PartialSolarCollector.mo @@ -54,8 +54,6 @@ partial model PartialSolarCollector "Partial model for solar collectors" IBPSA.Fluid.SolarCollectors.Types.SystemConfiguration.Series "Selection of system configuration" annotation(Dialog(group="Configuration declarations")); - parameter Integer nPanelsSer=0 "Number of array panels in series" - annotation(Dialog(group="Configuration declarations", enable= (sysConfig == IBPSA.Fluid.SolarCollectors.Types.SystemConfiguration.Array))); parameter Integer nPanelsPar=0 "Number of array panels in parallel" annotation(Dialog(group="Configuration declarations", enable= (sysConfig == IBPSA.Fluid.SolarCollectors.Types.SystemConfiguration.Array))); @@ -158,14 +156,14 @@ protected totalArea/per.A "Number of panels used in the simulation"; parameter Real nPanelsSer_internal= if sysConfig == IBPSA.Fluid.SolarCollectors.Types.SystemConfiguration.Series then - nPanels + nPanels_internal else if sysConfig == IBPSA.Fluid.SolarCollectors.Types.SystemConfiguration.Parallel then 1 else - nPanelsSer "Number of panels in series"; + nPanels_internal/nPanelsPar_internal "Number of panels in series"; parameter Real nPanelsPar_internal= if sysConfig == IBPSA.Fluid.SolarCollectors.Types.SystemConfiguration.Parallel then - nPanels + nPanels_internal else if sysConfig == IBPSA.Fluid.SolarCollectors.Types.SystemConfiguration.Series then 1 else @@ -186,12 +184,10 @@ initial equation ": The constant homotopyInitialization has been modified from its default value. This constant will be removed in future releases.", level = AssertionLevel.warning); - if sysConfig==IBPSA.Fluid.SolarCollectors.Types.SystemConfiguration.Array then - assert(abs(nPanelsPar_internal*nPanelsSer_internal-nPanels_internal) < 1E-6, - "In " + getInstanceName() + - ": The product of the number of panels in series and parallel is not equal to the total number of panels in the array.", - level = AssertionLevel.error); - end if; + assert(mod(ATot_internal,per.A)/per.A <= 0.01, + "In " + getInstanceName() + + ": The total collector area is not an exact multitude of a single collector's area.", + level = AssertionLevel.warning); equation connect(shaCoe_internal,shaCoe_in); @@ -258,6 +254,14 @@ EnergyPlus 23.2.0 Engineering Reference ", revisions="