Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | Tc | |||
real(kind=r64), | intent(in) | :: | Ee | |||
real(kind=r64), | intent(in) | :: | Vmp0 | |||
real(kind=r64), | intent(in) | :: | NcellSer | |||
real(kind=r64), | intent(in) | :: | DiodeFactor | |||
real(kind=r64), | intent(in) | :: | BVmp0 | |||
real(kind=r64), | intent(in) | :: | mBVmp | |||
real(kind=r64), | intent(in) | :: | c2 | |||
real(kind=r64), | intent(in) | :: | c3 |
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
REAL(r64) Function SandiaVmp(Tc,Ee,Vmp0,NcellSer,DiodeFactor, &
BVmp0,mBVmp,C2,C3)
! FUNCTION INFORMATION:
! AUTHOR G. Barker
! DATE WRITTEN <unknown>
! MODIFIED na
! RE-ENGINEERED B. Griffith, Jan 2004, F77 -> f90
! PURPOSE OF THIS FUNCTION:
! Returns Voltage at Max. Power Point (V)
! METHODOLOGY EMPLOYED:
! <description>
! REFERENCES:
! Equation 4 in King et al Nov. 2003
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! FUNCTION ARGUMENT DEFINITIONS:
REAL(r64), INTENT(IN) :: Tc ! cell temperature (deg C)
REAL(r64), INTENT(IN) :: Ee ! effective irradiance
REAL(r64), INTENT(IN) :: Vmp0 ! Vmp at SRC (1000 W/m2, 25 C) (V)
REAL(r64), INTENT(IN) :: NcellSer ! # cells in series
REAL(r64), INTENT(IN) :: DiodeFactor ! module-specIFic empirical constant
REAL(r64), INTENT(IN) :: BVmp0 ! Vmp temperature coefficient (V/C)
REAL(r64), INTENT(IN) :: mBVmp ! change in BVmp with irradiance
REAL(r64), INTENT(IN) :: c2 ! empirical module-specific constants
REAL(r64), INTENT(IN) :: c3 ! empirical module-specific constants
! FUNCTION PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! FUNCTION LOCAL VARIABLE DECLARATIONS:
REAL(r64) :: dTc
REAL(r64) :: BVmpEe
IF (Ee.GT.0.0d0) THEN
! following is equation 8 in King et al. nov. 2003
dTc = DiodeFactor*((1.38066d-23*(Tc+KelvinConv))/1.60218d-19)
BVmpEe = BVmp0 + mBVmp * (1.0d0 - Ee)
SandiaVmp = Vmp0+C2*NcellSer*dTc*Log(Ee)+ &
C3*NcellSer*(dTc*Log(Ee))**2+BVmpEe*(Tc-25.0d0)
ELSE
SandiaVmp = 0.0d0
ENDIF
END FUNCTION SandiaVmp