From 7875491fbebdbf379a96edf4f4e4d0d177d8d5f7 Mon Sep 17 00:00:00 2001
From: "laura.maier"
+ This model illustrates the use of the single-diode PV model.
+
+ It shows the exemplary DC power output for a day in San Francisco.
+ The PVSystem single-diode model is validaded with measurement data from the NIST https://pvdata.nist.gov/ June 14th was chosen as an exemplary day for the PVSystem model. The system consists of 312 mono-Si modules which are mounted on a rooftop. The validation model proves that single-diode PV models tend to overestimate the power output. This is due to the neglection of staining, shading, other loss effects. More information can be found in the study of Maier et al. [1]. [1] Maier, Laura, Michael Kratz, Christian Vering, Philipp Mehrfeld, and Dirk Mueller. "Open-source photovoltaic model for early building planning processes: Modeling, application and validation". In Building Simulation 2021, vol. 17, pp. 2315-2316. IBPSA, 2021.
-Available
-
-online.
-
-This is an exemplary data model of the mono-Si module Sharp NU-U235 F2 used for the single-diode PV model.
-This data is used for validation in
-IBPSA.Electrical.DC.Sources.Validation.PVSingleDiodeNISTValidation.
-
+
+ "),
+ __Dymola_Commands(file=
+ "modelica://IBPSA/Resources/Scripts/Dymola/Electrical/DC/Sources/Examples/PVSingleDiode.mos"
+ "Simulate and plot"));
+end PVSingleDiode;
diff --git a/IBPSA/Electrical/DC/Sources/Examples/package.order b/IBPSA/Electrical/DC/Sources/Examples/package.order
index 800d45b3d3..b3297d62b0 100644
--- a/IBPSA/Electrical/DC/Sources/Examples/package.order
+++ b/IBPSA/Electrical/DC/Sources/Examples/package.order
@@ -1 +1,2 @@
+PVSingleDiode
VoltageSource
diff --git a/IBPSA/Electrical/DC/Sources/PVSingleDiode.mo b/IBPSA/Electrical/DC/Sources/PVSingleDiode.mo
index c89a989deb..72665cbcc1 100644
--- a/IBPSA/Electrical/DC/Sources/PVSingleDiode.mo
+++ b/IBPSA/Electrical/DC/Sources/PVSingleDiode.mo
@@ -1,7 +1,10 @@
-within IBPSA.Electrical.DC.Sources;
+within IBPSA.Electrical.DC.Sources;
model PVSingleDiode
"Photovoltaic module model based on single diode approach"
+
extends IBPSA.Electrical.BaseClasses.PV.PartialPVSystem(
+ redeclare package PhaseSystem = IBPSA.Electrical.PhaseSystems.TwoConductor,
+ redeclare IBPSA.Electrical.DC.Interfaces.Terminal_p terminal,
redeclare IBPSA.Electrical.BaseClasses.PV.PVOpticalAbsRat PVOpt(
final alt=alt,
final til=til,
@@ -14,6 +17,13 @@ model PVSingleDiode
PVThe(redeclare IBPSA.Electrical.Data.PV.SingleDiodeData dat=dat),
replaceable IBPSA.Electrical.Data.PV.SingleDiodeData dat);
+protected
+ IBPSA.Electrical.DC.Loads.Conductor
+ con(mode=Types.Load.VariableZ_P_input,
+ V_nominal=dat.VOC0) if use_ter
+ "Conductor, used to interface power with electrical circuit"
+ annotation (Placement(transformation(extent={{38,-10},{58,10}})));
+
equation
connect(PVEle.eta, PVThe.eta) annotation (Line(points={{-3.4,-53.75},{40,-53.75},
{40,-20},{-72,-20},{-72,-12.4},{-17.0909,-12.4}}, color={0,0,127}));
@@ -22,25 +32,29 @@ equation
connect(PVOpt.absRadRat, PVEle.absRadRat) annotation (Line(points={{-4.54545,30},
{20,30},{20,-34},{-64,-34},{-64,-50},{-17.2,-50}}, color={0,
0,127}));
- connect(TDryBul, PVThe.TDryBul) annotation (Line(points={{-120,-10},{-60,-10},
+ connect(TDryBul, PVThe.TDryBul) annotation (Line(points={{-120,-30},{-60,-30},
{-60,-5.2},{-17.0909,-5.2}},
color={0,0,127}));
connect(zenAng, PVOpt.zenAng) annotation (Line(points={{-120,80},{-40,80},{-40,
34.8},{-17.0909,34.8}}, color={0,0,127}));
- connect(HGloHor, PVOpt.HGloHor) annotation (Line(points={{-120,-40},{-20,-40},
+ connect(HGloHor, PVOpt.HGloHor) annotation (Line(points={{-120,-60},{-20,-60},
{-20,30},{-17.0909,30}}, color={0,0,127}));
connect(incAng, PVOpt.incAng) annotation (Line(points={{-120,50},{-60,50},{-60,
32.4},{-17.0909,32.4}}, color={0,0,127}));
connect(vWinSpe, PVThe.winVel) annotation (Line(points={{-120,20},{-80,20},{-80,
-8},{-18,-8},{-18,-7.6},{-17.0909,-7.6}}, color={0,0,127}));
- connect(HGloTil, PVEle.HGloTil) annotation (Line(points={{-120,-70},{-80,-70},
+ connect(HGloTil, PVEle.HGloTil) annotation (Line(points={{-120,-90},{-80,-90},
{-80,-72},{-40,-72},{-40,-53},{-17.2,-53}}, color={0,0,127}));
- connect(HGloTil, PVThe.HGloTil) annotation (Line(points={{-120,-70},{-80,-70},
+ connect(HGloTil, PVThe.HGloTil) annotation (Line(points={{-120,-90},{-80,-90},
{-80,-18},{-17.0909,-18},{-17.0909,-14.8}}, color={0,0,127}));
- connect(HDifHor, PVOpt.HDifHor) annotation (Line(points={{-120,-100},{-60,-100},
+ connect(HDifHor, PVOpt.HDifHor) annotation (Line(points={{-120,-120},{-60,-120},
{-60,27.6},{-17.0909,27.6}}, color={0,0,127}));
connect(PVEle.P, PDC) annotation (Line(points={{-3.4,-46.25},{96,-46.25},{96,0},
{110,0}}, color={0,0,127}));
+ connect(con.terminal, terminal)
+ annotation (Line(points={{38,0},{-100,0}}, color={0,0,255}));
+ connect(PVEle.P, con.Pow) annotation (Line(points={{-3.4,-46.25},{70,-46.25},{
+ 70,0},{58,0}}, color={0,0,127}));
annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(
coordinateSystem(preserveAspectRatio=false)),
Documentation(info="
diff --git a/IBPSA/Electrical/DC/Sources/Validation/BaseClasses/partialPVValidation.mo b/IBPSA/Electrical/DC/Sources/Validation/BaseClasses/partialPVValidation.mo
index 85eef611aa..c3b25dd7b5 100644
--- a/IBPSA/Electrical/DC/Sources/Validation/BaseClasses/partialPVValidation.mo
+++ b/IBPSA/Electrical/DC/Sources/Validation/BaseClasses/partialPVValidation.mo
@@ -32,13 +32,10 @@ partial model partialPVValidation
Modelica.Blocks.Interfaces.RealOutput PDCSim(final unit="W")
"Simulated DC output power"
annotation (Placement(transformation(extent={{100,40},{120,60}})));
- Modelica.Blocks.Interfaces.RealOutput PDCMea(final unit="W")
- "Measured DC power"
- annotation (Placement(transformation(extent={{100,-20},{120,0}})));
BoundaryConditions.SolarIrradiation.GlobalPerezTiltedSurface HGloTil(til=til,
azi=azi,
rho=rho)
- annotation (Placement(transformation(extent={{0,40},{20,60}})));
+ annotation (Placement(transformation(extent={{-40,60},{-20,80}})));
BoundaryConditions.WeatherData.ReaderTMY3 weaDat(
filNam="",
@@ -51,7 +48,7 @@ partial model partialPVValidation
"Number of validation day (July 28th 2023) in seconds"
annotation (Placement(transformation(extent={{-100,60},{-80,80}})));
BoundaryConditions.SolarGeometry.IncidenceAngle incAng(azi=azi, til=til)
- annotation (Placement(transformation(extent={{0,0},{20,20}})));
+ annotation (Placement(transformation(extent={{-40,20},{-20,40}})));
BoundaryConditions.WeatherData.Bus weaBus "Weather data bus"
annotation (Placement(transformation(extent={{-70,-20},{-50,0}})));
Modelica.Blocks.Routing.RealPassThrough zen "Zenith angle"
@@ -97,11 +94,11 @@ equation
(0.9511 - 0.1604*k_t + 4.388*k_t^2 - 16.638*k_t^3 + 12.336*k_t^4);
connect(weaDat.weaBus, HGloTil.weaBus) annotation (Line(
- points={{-80,-10},{-74,-10},{-74,50},{0,50}},
+ points={{-80,-10},{-74,-10},{-74,70},{-40,70}},
color={255,204,51},
thickness=0.5));
connect(weaDat.weaBus, incAng.weaBus) annotation (Line(
- points={{-80,-10},{-74,-10},{-74,10},{0,10}},
+ points={{-80,-10},{-74,-10},{-74,30},{-40,30}},
color={255,204,51},
thickness=0.5));
connect(weaDat.weaBus, weaBus) annotation (Line(
diff --git a/IBPSA/Electrical/DC/Sources/Validation/PVSingleDiodeNISTValidation.mo b/IBPSA/Electrical/DC/Sources/Validation/PVSingleDiodeNISTValidation.mo
deleted file mode 100644
index d622491ebb..0000000000
--- a/IBPSA/Electrical/DC/Sources/Validation/PVSingleDiodeNISTValidation.mo
+++ /dev/null
@@ -1,152 +0,0 @@
-within IBPSA.Electrical.DC.Sources.Validation;
-model PVSingleDiodeNISTValidation
- "Model validation based on NIST measurement data"
- extends Modelica.Icons.Example;
- extends
- IBPSA.Electrical.DC.Sources.Validation.BaseClasses.partialPVValidation;
-
- parameter Modelica.Units.SI.Time timZon=-5*3600
- "Time zone";
- parameter Modelica.Units.SI.Angle lon=-77.2156*Modelica.Constants.pi/180
- "Longitude";
- parameter Modelica.Units.SI.Angle lat=39.1354*Modelica.Constants.pi/180
- "Latitude";
- parameter Modelica.Units.SI.Angle azi=0
- "Surface azimuth. azi=-90 degree if surface outward unit normal points toward east; azi=0 if it points toward south";
- parameter Modelica.Units.SI.Angle til=10*Modelica.Constants.pi/180
- "Surface tilt. til=90 degree for walls; til=0 for ceilings; til=180 for roof";
-
- parameter Modelica.Units.SI.Time nDay=(31+28+31+30+31+14)*24*3600
- "Day at which simulation starts";
-
-
- parameter Real alt(final unit="m")= 0.08 "Site altitude";
-
- parameter Real rho=0.2 "Ground reflectance";
-
- constant Real GSC(
- final quantity="Irradiance",
- final unit="W/m2") = 1376 "Solar constant";
-
- Modelica.Units.SI.Irradiance HGloHor "Global horizontal irradiation";
- Modelica.Units.SI.Irradiance HDifHor "Diffuse horizontal irradiation";
- Real k_t(final unit="1", start=0.5) "Clearness index";
- Modelica.Units.SI.Angle solDec "Solar decimal angle";
- Modelica.Units.SI.Angle solHouAng "Solar hour angle";
- Modelica.Units.SI.Time cloTim "Clock time";
-
- Modelica.Blocks.Sources.CombiTimeTable NISTdat(
- tableOnFile=true,
- tableName="Roof2016",
- fileName=ModelicaServices.ExternalReferences.loadResource("modelica://IBPSA/Resources/Data/Electrical/DC/Sources/Validation/NIST_onemin_Roof_2016.txt"),
- columns={3,5,2,4},
- smoothness=Modelica.Blocks.Types.Smoothness.ContinuousDerivative)
- "The PVSystem model is validaded with measurement data from: https://pvdata.nist.gov/. 1 - Air temperature in degC, 2 - Wind speed in m/s, 3 - Global horizontal irradiance in W/m2, 4 - Ouput power in kW"
- annotation (Placement(transformation(extent={{-98,-60},{-78,-40}})));
-
- PVSingleDiode pVSinDio(
- redeclare IBPSA.Electrical.Data.PV.SingleDiodeSharpNUU235F2 dat,
- PVTecTyp=IBPSA.Electrical.BaseClasses.PV.BaseClasses.PVOptical.PVType.MonoSI,
- nMod=312,
- groRef=rho,
- alt=alt,
- til=til,
- redeclare IBPSA.Electrical.BaseClasses.PV.PVThermalEmpMountCloseToGround
- PVThe) "Single-diode PV model" annotation (Placement(transformation(extent={{60,38},
- {80,62}})));
-
- Modelica.Blocks.Math.Gain frokWToW(k=1000)
- "From Kilowatt to Watt transformation"
- annotation (Placement(transformation(extent={{86,-16},{98,-4}})));
- Modelica.Blocks.Sources.CombiTimeTable MeaDatPVPDC(
- tableOnFile=true,
- tableName="MeaDatPVPDC",
- fileName="NoName",
- columns={2},
- smoothness=Modelica.Blocks.Types.Smoothness.ContinuousDerivative,
- shiftTime=nDay - 1800)
- "The PVSystem model is validaded with measurement data from: https://pvdata.nist.gov/. 1 - Air temperature in degC, 2 - Wind speed in m/s, 3 - Global horizontal irradiance in W/m2, 4 - Ouput power in kW"
- annotation (Placement(transformation(extent={{60,-20},{80,0}})));
-equation
-
- //Approximation of diffuse horizontal irradiation still necessary because
- //the validation data does not contain this information so far
- solHouAng = realPassThroughSolHouAng.y;
- solDec=realPassThroughSolDec.y;
- cloTim=realPassThroughCloTim.y;
-
- HGloHor=NISTdat.y[3];
-
- k_t =if HGloHor <= 0.01
- then 0
- else min(1, max(0, (HGloHor/(GSC*(1 + 0.033*
- cos(360*(Modelica.Constants.pi/180)*cloTim/24/60/60/365)*
- (cos(lat)*cos(solDec)*cos(solHouAng) + sin(lat)*sin(solDec)))))));
-
- // Erbs diffuse fraction relation
- HDifHor = if HGloHor <= 0.01
- then 0
- elseif k_t <= 0.22
- then (HGloHor)*(1.0 - 0.09*k_t)
- elseif k_t > 0.8
- then (HGloHor)*0.165
- else (HGloHor)*
- (0.9511 - 0.1604*k_t + 4.388*k_t^2 - 16.638*k_t^3 + 12.336*k_t^4);
- connect(pVSinDio.PDC, PDCSim)
- annotation (Line(points={{81,50},{110,50}}, color={0,0,127}));
- connect(MeaDatPVPDC.y[1], frokWToW.u)
- annotation (Line(points={{81,-10},{84.8,-10}}, color={0,0,127}));
- connect(frokWToW.y, PDCMea)
- annotation (Line(points={{98.6,-10},{110,-10}}, color={0,0,127}));
- connect(zen.y, pVSinDio.zenAng) annotation (Line(points={{1,-50},{52,-50},{52,
- 58},{58,58}}, color={0,0,127}));
- connect(incAng.y, pVSinDio.incAng) annotation (Line(points={{21,10},{50,10},{
- 50,55},{58,55}}, color={0,0,127}));
- connect(weaBus.winSpe, pVSinDio.vWinSpe) annotation (Line(
- points={{-59.95,-9.95},{-59.95,36},{40,36},{40,52},{58,52}},
- color={255,204,51},
- thickness=0.5));
- connect(weaBus.HGloHor, pVSinDio.HGloHor) annotation (Line(
- points={{-59.95,-9.95},{-10,-9.95},{-10,-10},{40,-10},{40,46},{58,46}},
- color={255,204,51},
- thickness=0.5));
- connect(HGloTil.H, pVSinDio.HGloTil) annotation (Line(points={{21,50},{52,50},
- {52,43},{58,43}}, color={0,0,127}));
- connect(weaBus.HDifHor, pVSinDio.HDifHor) annotation (Line(
- points={{-60,-10},{-28,-10},{-28,30},{40,30},{40,40},{58,40}},
- color={255,204,51},
- thickness=0.5));
- annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(
- coordinateSystem(preserveAspectRatio=false)),
- experiment(
- StopTime=86400,
- Interval=300,
- Tolerance=1e-06),
- __Dymola_Commands(file=
- "modelica://IBPSA/Resources/Scripts/Dymola/Electrical/DC/Sources/Validation/PVSingleDiodeNISTValidation.mos"
- "Simulate and plot"),
- Documentation(info="
-
+ Added model and documentation.
+ References
-
-
-"));
-end PVSingleDiodeNISTValidation;
diff --git a/IBPSA/Electrical/DC/Sources/Validation/PVSingleDiodeRooftopBuildingValidation.mo b/IBPSA/Electrical/DC/Sources/Validation/PVSingleDiodeRooftopBuildingValidation.mo
index 55b2aa8d4d..3d6ed8d1d3 100644
--- a/IBPSA/Electrical/DC/Sources/Validation/PVSingleDiodeRooftopBuildingValidation.mo
+++ b/IBPSA/Electrical/DC/Sources/Validation/PVSingleDiodeRooftopBuildingValidation.mo
@@ -10,6 +10,7 @@ model PVSingleDiodeRooftopBuildingValidation
PVSingleDiode pVSys1Dio115Wp(
PVTecTyp=IBPSA.Electrical.BaseClasses.PV.BaseClasses.PVOptical.PVType.ThinFilmSI,
+ use_ter=false,
use_Til_in=false,
til(displayUnit="rad") = til,
nMod=2,
@@ -22,6 +23,7 @@ model PVSingleDiodeRooftopBuildingValidation
PVSingleDiode pVSys1Dio120Wp(
PVTecTyp=IBPSA.Electrical.BaseClasses.PV.BaseClasses.PVOptical.PVType.ThinFilmSI,
+ use_ter=false,
use_Til_in=false,
til(displayUnit="rad") = til,
nMod=4,
@@ -48,56 +50,63 @@ model PVSingleDiodeRooftopBuildingValidation
shiftTime=nDay - 1800)
"This file contains the DC power output of two selected modules. The PVSystem model is validaded with measurement data from Rooftop building: http://www.solar-rooftop.de."
annotation (Placement(transformation(extent={{60,-20},{80,0}})));
+ Modelica.Blocks.Interfaces.RealOutput PDCMea(final unit="W")
+ "Measured DC power"
+ annotation (Placement(transformation(extent={{100,-20},{120,0}})));
equation
- connect(HGloTil.H, pVSys1Dio115Wp.HGloTil) annotation (Line(points={{21,50},{
- 50,50},{50,23},{58,23}},
+ connect(HGloTil.H, pVSys1Dio115Wp.HGloTil) annotation (Line(points={{-19,70},
+ {50,70},{50,21},{58,21}},
color={0,0,127}));
- connect(zen.y, pVSys1Dio120Wp.zenAng) annotation (Line(points={{1,-50},{34,
- -50},{34,38},{52,38},{52,78},{58,78}}, color={0,0,127}));
- connect(incAng.y, pVSys1Dio120Wp.incAng) annotation (Line(points={{21,10},{52,
- 10},{52,75},{58,75}}, color={0,0,127}));
- connect(HGloTil.H, pVSys1Dio120Wp.HGloTil) annotation (Line(points={{21,50},{
- 50,50},{50,63},{58,63}},
+ connect(zen.y, pVSys1Dio120Wp.zenAng) annotation (Line(points={{1,-50},{50,
+ -50},{50,78},{58,78}}, color={0,0,127}));
+ connect(incAng.y, pVSys1Dio120Wp.incAng) annotation (Line(points={{-19,30},{
+ 50,30},{50,75},{58,75}},
+ color={0,0,127}));
+ connect(HGloTil.H, pVSys1Dio120Wp.HGloTil) annotation (Line(points={{-19,70},
+ {50,70},{50,61},{58,61}},
color={0,0,127}));
- connect(incAng.y, pVSys1Dio115Wp.incAng) annotation (Line(points={{21,10},{52,
- 10},{52,35},{58,35}}, color={0,0,127}));
- connect(zen.y, pVSys1Dio115Wp.zenAng) annotation (Line(points={{1,-50},{34,
- -50},{34,38},{58,38}}, color={0,0,127}));
+ connect(incAng.y, pVSys1Dio115Wp.incAng) annotation (Line(points={{-19,30},{
+ 50,30},{50,35},{58,35}},
+ color={0,0,127}));
+ connect(zen.y, pVSys1Dio115Wp.zenAng) annotation (Line(points={{1,-50},{50,
+ -50},{50,38},{58,38}}, color={0,0,127}));
connect(weaBus.HDifHor, pVSys1Dio115Wp.HDifHor) annotation (Line(
- points={{-59.95,-9.95},{30,-9.95},{30,20},{58,20}},
+ points={{-59.95,-9.95},{50,-9.95},{50,18},{58,18}},
color={255,204,51},
thickness=0.5));
connect(weaBus.HDifHor, pVSys1Dio120Wp.HDifHor) annotation (Line(
- points={{-59.95,-9.95},{-18,-9.95},{-18,-10},{26,-10},{26,62},{58,62},{58,
- 60}},
+ points={{-59.95,-9.95},{-18,-9.95},{-18,-10},{50,-10},{50,58},{58,58}},
color={255,204,51},
thickness=0.5));
connect(weaBus.TDryBul, pVSys1Dio120Wp.TDryBul) annotation (Line(
- points={{-59.95,-9.95},{-59.95,30},{-60,30},{-60,80},{0,80},{0,69},{58,69}},
+ points={{-59.95,-9.95},{-59.95,30},{-60,30},{-60,48},{50,48},{50,68},{56,
+ 68},{56,67},{58,67}},
color={255,204,51},
thickness=0.5));
connect(weaBus.TDryBul, pVSys1Dio115Wp.TDryBul) annotation (Line(
- points={{-59.95,-9.95},{-60,-9.95},{-60,30},{58,30},{58,29}},
+ points={{-59.95,-9.95},{-60,-9.95},{-60,48},{50,48},{50,28},{58,28},{58,
+ 27}},
color={255,204,51},
thickness=0.5));
connect(weaBus.HGloHor, pVSys1Dio120Wp.HGloHor) annotation (Line(
- points={{-59.95,-9.95},{-59.95,66},{58,66}},
+ points={{-59.95,-9.95},{-59.95,20},{-60,20},{-60,48},{50,48},{50,64},{58,
+ 64}},
color={255,204,51},
thickness=0.5));
connect(weaBus.HGloHor, pVSys1Dio115Wp.HGloHor) annotation (Line(
- points={{-59.95,-9.95},{-60,-9.95},{-60,64},{52,64},{52,26},{58,26}},
+ points={{-59.95,-9.95},{-60,-9.95},{-60,48},{50,48},{50,24},{58,24}},
color={255,204,51},
thickness=0.5));
connect(weaBus.winSpe, pVSys1Dio115Wp.vWinSpe) annotation (Line(
- points={{-59.95,-9.95},{-44,-9.95},{-44,-10},{-40,-10},{-40,36},{58,36},{
- 58,32}},
+ points={{-59.95,-9.95},{-44,-9.95},{-44,-10},{-60,-10},{-60,48},{50,48},{
+ 50,32},{58,32}},
color={255,204,51},
thickness=0.5));
connect(weaBus.winSpe, pVSys1Dio120Wp.vWinSpe) annotation (Line(
- points={{-59.95,-9.95},{-59.95,36},{-60,36},{-60,100},{40,100},{40,72},{
- 58,72}},
+ points={{-59.95,-9.95},{-59.95,36},{-60,36},{-60,48},{50,48},{50,72},{58,
+ 72}},
color={255,204,51},
thickness=0.5));
connect(pVSys1Dio120Wp.PDC, add.u1)
@@ -106,10 +115,10 @@ equation
50},{110,50}}, color={0,0,127}));
connect(pVSys1Dio115Wp.PDC, add.u2)
annotation (Line(points={{81,30},{85,30},{85,46}}, color={0,0,127}));
- connect(MeaDatPVPDC.y[1], PDCMea)
- annotation (Line(points={{81,-10},{110,-10}}, color={0,0,127}));
connect(MeaDatPVPDC.y[2], TModMea) annotation (Line(points={{81,-10},{88,-10},
{88,-50},{110,-50}}, color={0,0,127}));
+ connect(MeaDatPVPDC.y[1], PDCMea)
+ annotation (Line(points={{81,-10},{110,-10}}, color={0,0,127}));
annotation (
Icon(coordinateSystem(preserveAspectRatio=false, extent={{-120,-100},{100,
100}})),
diff --git a/IBPSA/Electrical/DC/Sources/Validation/package.order b/IBPSA/Electrical/DC/Sources/Validation/package.order
index 4f4e9393e2..09b805e395 100644
--- a/IBPSA/Electrical/DC/Sources/Validation/package.order
+++ b/IBPSA/Electrical/DC/Sources/Validation/package.order
@@ -1,3 +1,2 @@
-PVSingleDiodeNISTValidation
PVSingleDiodeRooftopBuildingValidation
BaseClasses
diff --git a/IBPSA/Electrical/Data/PV/Generic.mo b/IBPSA/Electrical/Data/PV/Generic.mo
index a27e703ffc..5267ad0749 100644
--- a/IBPSA/Electrical/Data/PV/Generic.mo
+++ b/IBPSA/Electrical/Data/PV/Generic.mo
@@ -17,7 +17,7 @@ record Generic "Basic record of a PV cell"
parameter Modelica.Units.SI.Temperature TNOCT
"Cell temperature under NOCT conditions"
annotation (Dialog(group="Cell specific: Electrical characteristics"));
- parameter Real Eg0(unit = "eV")
+ parameter Modelica.Units.SI.Energy Eg0
"Band gap energy under standard conditions. For Si: 1.79604e-19 J or 1.121 eV";
annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(coordinateSystem(
diff --git a/IBPSA/Electrical/Data/PV/SingleDiodeSharpNUU235F2.mo b/IBPSA/Electrical/Data/PV/SingleDiodeSharpNUU235F2.mo
deleted file mode 100644
index 1bafb82878..0000000000
--- a/IBPSA/Electrical/Data/PV/SingleDiodeSharpNUU235F2.mo
+++ /dev/null
@@ -1,37 +0,0 @@
-within IBPSA.Electrical.Data.PV;
-record SingleDiodeSharpNUU235F2
- "Single-diode record for Sharp NU-U235F2 modules"
- extends IBPSA.Electrical.Data.PV.SingleDiodeData(
- nSer=60,
- nPar=1,
- ACel=((VMP0*IMP0)/(1000*eta0))/nSer,
- AMod=0.994*1.640,
- eta0=0.144,
- VOC0=37,
- ISC0=8.6,
- VMP0=30,
- IMP0=7.84,
- PMP0=235,
- TCoeISC=0.00053*ISC0,
- TCoeVOC=-0.00351*VOC0,
- gammaPMP=-0.00485,
- TNOCT=47.5 + 273.15,
- Eg0=1.107,
- C=0.0002677);
- annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(
- coordinateSystem(preserveAspectRatio=false)),Documentation(info="
-
-First implementation.
-
-
-"));
-end SingleDiodeSharpNUU235F2;
diff --git a/IBPSA/Electrical/Data/PV/SingleDiodeSolibroSL2CIGS110.mo b/IBPSA/Electrical/Data/PV/SingleDiodeSolibroSL2CIGS110.mo
index 56f2db9bcd..f6ee5b243e 100644
--- a/IBPSA/Electrical/Data/PV/SingleDiodeSolibroSL2CIGS110.mo
+++ b/IBPSA/Electrical/Data/PV/SingleDiodeSolibroSL2CIGS110.mo
@@ -1,5 +1,6 @@
within IBPSA.Electrical.Data.PV;
-record SingleDiodeSolibroSL2CIGS110 "Single-diode record for Solibro SL2 CIGS 110 Wp"
+record SingleDiodeSolibroSL2CIGS110
+ "Single-diode record for Solibro SL2 CIGS 110 Wp"
extends IBPSA.Electrical.Data.PV.SingleDiodeData(
nSer=150,
nPar=1,
@@ -15,7 +16,7 @@ record SingleDiodeSolibroSL2CIGS110 "Single-diode record for Solibro SL2 CIGS 11
TCoeVOC=-0.27,
gammaPMP=-0.0038,
TNOCT=51 + 273.15,
- Eg0=1.107,
+ Eg0=1.773609e-19,
C=0.0002677);
annotation (Icon(coordinateSystem(preserveAspectRatio=false)), Diagram(
coordinateSystem(preserveAspectRatio=false)),Documentation(info="
@@ -24,8 +25,9 @@ This is an exemplary data model of the thin-film module Solibro SL2 CIGS 110 Wp
This data is used for validation in
IBPSA.Electrical.DC.Sources.Validation.PVSingleDiodeRooftopBuildingValidation.
-First implementation.
-
The data record can be found here: https://reenergyhub.com/files/hersteller/Solibro/pdf/Solibro_SL2_CIGS_THIN-FILM_Module_G1.5-100-120_en.pdf
", - revisions=" +revisions="The data record can be found here: https://reenergyhub.com/files/hersteller/Solibro/pdf/Solibro_SL2_CIGS_THIN-FILM_Module_G1.5-100-120_en.pdf
", revisions="The data record can be found here: https://reenergyhub.com/files/hersteller/Solibro/pdf/Solibro_SL2_CIGS_THIN-FILM_Module_G1.5-100-120_en.pdf
", revisions="