TYPE MaterialProperties
CHARACTER(len=MaxNameLength) :: Name = ' ' ! Name of material layer
INTEGER :: Group = -1 ! Material group type (see Material Parameters above. Currently
! active: RegularMaterial, Shade, Air, WindowGlass,
! WindowGas, WindowBlind, WindowGasMixture, Screen, EcoRoof,
! IRTMaterial, WindowSimpleGlazing, ComplexWindowShade, ComplexWindowGap)
INTEGER :: Roughness = 0 ! Surface roughness index (See Surface Roughness parameters
! above. Current: VerySmooth, Smooth, MediumSmooth,
! MediumRough, Rough, VeryRough)
! Thermo-physical material properties
REAL(r64) :: Conductivity = 0.0d0 ! Thermal conductivity of layer (W/m2K)
REAL(r64) :: Density = 0.0d0 ! Layer density (kg/m3)
REAL(r64) :: IsoMoistCap = 0.0d0 ! Isothermal moisture capacity on water vapor density (m3/kg)
REAL(r64) :: Porosity = 0.0d0 ! Layer porosity
REAL(r64) :: Resistance = 0.0d0 ! Layer thermal resistance (alternative to Density,
! Conductivity, Thickness, and Specific Heat; K/W)
LOGICAL :: ROnly =.false. ! Material defined with "R" only
REAL(r64) :: SpecHeat = 0.0d0 ! Layer specific heat (J/kgK)
REAL(r64) :: ThermGradCoef = 0.0d0 ! Thermal-gradient coefficient for moisture capacity
! based on the water vapor density (kg/kgK)
REAL(r64) :: Thickness = 0.0d0 ! Layer thickness (m)
REAL(r64) :: VaporDiffus = 0.0d0 ! Layer vapor diffusivity
INTEGER :: GasType(5) = 0 ! Gas type (air=1, argon=2, krypton=3, xenon=4, custom=0) for
! up to 5 gases in a mixture [Window gas only]. It is defined as parameter (GasCoefs)
INTEGER :: GlassSpectralDataPtr = 0 ! Number of a spectral data set associated with a window glass material
INTEGER :: NumberOfGasesInMixture = 0 ! Number of gases in a window gas mixture
REAL(r64) :: GasCon(5,3) = 0.0d0 ! Gas conductance coefficients for up to 5 gases in a mixture
REAL(r64) :: GasVis(5,3) = 0.0d0 ! Gas viscosity coefficients for up to 5 gases in a mixture
REAL(r64) :: GasCp(5,3) = 0.0d0 ! Gas specific-heat coefficients for up to 5 gases in a mixture
REAL(r64) :: GasWght(5) = 0.0d0 ! Gas molecular weight for up to 5 gases in a mixture
REAL(r64) :: GasSpecHeatRatio(5) = 0.0d0 ! Gas specific heat ratio (used for low pressure calculations)
REAL(r64) :: GasFract(5) = 0.0d0 ! Gas fractions for up to 5 gases in a mixture
! Radiation parameters
REAL(r64) :: AbsorpSolar = 0.d0 ! Layer solar absorptance
REAL(r64) :: AbsorpSolarInput = 0.d0 ! Layer solar absorptance input by user
LOGICAL :: AbsorpSolarEMSOverrideOn = .FALSE. ! if true, then EMS calling to override value for solar absorptance
REAL(r64) :: AbsorpSolarEMSOverride = 0.d0 ! value to use when EMS calling to override value for solar absorptance
REAL(r64) :: AbsorpThermal = 0.d0 ! Layer thermal absorptance
REAL(r64) :: AbsorpThermalInput = 0.d0 ! Layer thermal absorptance input by user
LOGICAL :: AbsorpThermalEMSOverrideOn = .FALSE. ! if true, then EMS calling to override value for thermal absorptance
REAL(r64) :: AbsorpThermalEMSOverride = 0.d0 ! value to use when EMS calling to override value for thermal absorptance
REAL(r64) :: AbsorpVisible = 0.d0 ! Layer Visible Absorptance
REAL(r64) :: AbsorpVisibleInput = 0.d0 ! Layer Visible Absorptance input by user
LOGICAL :: AbsorpVisibleEMSOverrideOn = .FALSE. ! if true, then EMS calling to override value for visible absorptance
REAL(r64) :: AbsorpVisibleEMSOverride = 0.d0 ! value to use when EMS calling to override value for visible absorptance
! Window-related radiation parameters
REAL(r64) :: Trans = 0.0d0 ! Transmittance of layer (glass, shade)
REAL(r64) :: TransVis = 0.0d0 ! Visible transmittance (at normal incidence)
REAL(r64) :: GlassTransDirtFactor = 1.0d0 ! Multiplier on glass transmittance due to dirt
LOGICAL :: SolarDiffusing =.false. ! True if glass diffuses beam solar radiation
REAL(r64) :: ReflectShade = 0.0d0 ! Shade or screen reflectance (interior shade only)
REAL(r64) :: ReflectShadeVis = 0.0d0 ! Shade reflectance for visible radiation
REAL(r64) :: AbsorpThermalBack = 0.0d0 ! Infrared radiation back absorption
REAL(r64) :: AbsorpThermalFront = 0.0d0 ! Infrared radiation front absorption
REAL(r64) :: ReflectSolBeamBack = 0.0d0 ! Solar back reflectance (beam to everything)
REAL(r64) :: ReflectSolBeamFront = 0.0d0 ! Solar front reflectance (beam to everything)
REAL(r64) :: ReflectSolDiffBack = 0.0d0 ! Solar back diffuse reflectance
REAL(r64) :: ReflectSolDiffFront = 0.0d0 ! Solar front diffuse reflectance
REAL(r64) :: ReflectVisBeamBack = 0.0d0 ! Visible back reflectance (beam to everything)
REAL(r64) :: ReflectVisBeamFront = 0.0d0 ! Visible front reflectance (beam to everything)
REAL(r64) :: ReflectVisDiffBack = 0.0d0 ! Visible back diffuse reflectance
REAL(r64) :: ReflectVisDiffFront = 0.0d0 ! Visible front diffuse reflectance
CHARACTER(len=MaxNameLength) :: ReflectanceModeling = ' ' ! method used to account for screen scattering
REAL(r64) :: TransSolBeam = 0.0d0 ! Solar transmittance (beam to everything)
REAL(r64) :: TransThermal = 0.0d0 ! Infrared radiation transmittance
REAL(r64) :: TransVisBeam = 0.0d0 ! Visible transmittance (beam to everything)
INTEGER :: BlindDataPtr =0 ! Pointer to window blind data
INTEGER :: ScreenDataPtr =0 ! Pointer to window screen data
INTEGER :: ScreenMapResolution=0 ! Resolution of azimuth and altitude angles to print in transmittance map
! Complex fenestration parameters
REAL(r64) :: YoungModulus = 0.0d0 ! Young's modulus (Pa) - used in window deflection calculations
REAL(r64) :: PoissonsRatio = 0.0d0 ! Poisson's ratio - used in window deflection calculations
REAL(r64) :: DeflectedThickness = 0.d0 ! Minimum gap thickness in deflected state (m). Used with measured deflection
REAL(r64) :: Pressure = 0.d0 ! Window Gap pressure (Pa)
INTEGER :: SupportPillarPtr = 0 ! Pointer to support pillar data
INTEGER :: DeflectionStatePtr = 0 ! Pointer to deflection state
INTEGER :: ComplexShadePtr = 0 ! Pointer to complex shade data
INTEGER :: GasPointer = 0 ! Pointer to gas or gas mixture used in the gap
! Window-shade thermal model parameters
REAL(r64) :: WinShadeToGlassDist = 0.0d0 ! Distance between window shade and adjacent glass (m)
REAL(r64) :: WinShadeTopOpeningMult = 0.0d0 ! Area of air-flow opening at top of shade, expressed as a fraction
! of the shade-to-glass opening area at the top of the shade
REAL(r64) :: WinShadeBottomOpeningMult= 0.0d0 ! Area of air-flow opening at bottom of shade, expressed as a fraction
! of the shade-to-glass opening area at the bottom of the shade
REAL(r64) :: WinShadeLeftOpeningMult = 0.0d0 ! Area of air-flow opening at left side of shade, expressed as a fraction
! of the shade-to-glass opening area at the left side of the shade
REAL(r64) :: WinShadeRightOpeningMult = 0.0d0 ! Area of air-flow opening at right side of shade, expressed as a fraction
! of the shade-to-glass opening area at the right side of the shade
REAL(r64) :: WinShadeAirFlowPermeability = 0.0d0 ! The effective area of openings in the shade itself, expressed as a
! fraction of the shade area
LOGICAL :: EMPDMaterialProps = .false. ! True if EMPD properties have been assigned
REAL(r64) :: EMPDVALUE = 0.0d0
REAL(r64) :: MoistACoeff = 0.0d0
REAL(r64) :: MoistBCoeff = 0.0d0
REAL(r64) :: MoistCCoeff = 0.0d0
REAL(r64) :: MoistDCoeff = 0.0d0
REAL(r64) :: EMPDaCoeff = 0.0d0
REAL(r64) :: EMPDbCoeff = 0.0d0
REAL(r64) :: EMPDcCoeff = 0.0d0
REAL(r64) :: EMPDdCoeff = 0.0d0
! EcoRoof-Related properties, essentially for the plant layer,
! the soil layer uses the same resource as a regular material
!
INTEGER :: EcoRoofCalculationMethod = 0 ! 1-Simple, 2-SchaapGenuchten
REAL(r64) :: HeightOfPlants = 0.0d0 !plants' height
REAL(r64) :: LAI = 0.0d0 !LeafAreaIndex (Dimensionless???)
REAL(r64) :: Lreflectivity = 0.0d0 !LeafReflectivity
REAL(r64) :: LEmissitivity = 0.0d0 !LeafEmissivity
REAL(r64) :: InitMoisture = 0.0d0 ! Initial soil moisture DJS
REAL(r64) :: MinMoisture = 0.0d0 !Minimum moisture allowed DJS
REAL(r64) :: RStomata = 0.0d0 ! Minimum stomatal resistance DJS
! HAMT
INTEGER :: niso=-1 ! Number of data points
REAL(r64), DIMENSION(27) :: isodata=0.0d0 !isotherm values
REAL(r64), DIMENSION(27) :: isorh =0.0d0 !isotherm RH values
INTEGER :: nsuc=-1 ! Number of data points
REAL(r64), DIMENSION(27) :: sucdata=0.0d0 !suction values
REAL(r64), DIMENSION(27) :: sucwater=0.0d0 !suction water values
INTEGER :: nred=-1 ! Number of data points
REAL(r64), DIMENSION(27) :: reddata =0.0d0 !redistribution values
REAL(r64), DIMENSION(27) :: redwater=0.0d0 !redistribution water values
INTEGER :: nmu=-1 ! Number of data points
REAL(r64), DIMENSION(27) :: mudata =0.0d0 !mu values
REAL(r64), DIMENSION(27) :: murh =0.0d0 !mu rh values
INTEGER :: ntc=-1 ! Number of data points
REAL(r64), DIMENSION(27) :: tcdata =0.0d0 !thermal conductivity values
REAL(r64), DIMENSION(27) :: tcwater =0.0d0 !thermal conductivity water values
REAL(r64) :: itemp=10.0d0 ! initial Temperature
REAL(r64) :: irh=0.5d0 ! Initial RH
REAL(r64) :: iwater=0.2d0 ! Initial water content kg/kg
INTEGER :: divs=3 ! Number of divisions
REAL(r64) :: divsize=0.005d0 ! Average Cell Size
INTEGER :: divmin=3 ! Minimum number of cells
INTEGER :: divmax=10 ! Maximum number of cells
! Added 12/22/2008 for thermochromic window glazing material
REAL(r64) :: SpecTemp = 0.0D0 ! Temperature corresponding to the specified material properties
INTEGER :: TCParent = 0 ! Reference to the parent object WindowMaterial:Glazing:Thermochromic
! Simple Glazing System
REAL(r64) :: SimpleWindowUfactor = 0.0D0 ! user input for simple window U-factor with film coefs (W/m2-k)
REAL(r64) :: SimpleWindowSHGC = 0.0D0 ! user input for simple window Solar Heat Gain Coefficient (non-dimensional)
REAL(r64) :: SimpleWindowVisTran = 0.0D0 ! (optional) user input for simple window Visual Transmittance (non-dimensional)
LOGICAL :: SimpleWindowVTinputByUser = .FALSE. ! false means not input, true means user provide VT input
LOGICAL :: WarnedForHighDiffusivity = .FALSE. ! used to limit error messaging to just the first instance
! Equivalent Layer (ASHWAT) Model
REAL(r64) :: ReflFrontBeamBeam = 0.0d0 ! Beam-Beam solar reflectance front at zero incident
REAL(r64) :: ReflBackBeamBeam = 0.0d0 ! Beam-Beam solar reflectance back at zero incident
REAL(r64) :: TausFrontBeamBeam = 0.0d0 ! Beam-Beam solar transmittance front at zero incident
REAL(r64) :: TausBackBeamBeam = 0.0d0 ! Beam-Beam solar transmittance back at zero incident
REAL(r64) :: ReflFrontBeamBeamVis = 0.0d0 ! Beam-Beam visible reflectance front at zero incident
REAL(r64) :: ReflBackBeamBeamVis = 0.0d0 ! Beam-Beam visible reflectance back at zero incident
REAL(r64) :: TausFrontBeamBeamVis = 0.0d0 ! Beam-Beam visible transmittance front at zero incident
REAL(r64) :: TausBackBeamBeamVis = 0.0d0 ! Beam-Beam visible transmittance back at zero incident
REAL(r64) :: ReflFrontBeamDiff = 0.0d0 ! Beam-Diffuse solar reflectance front at zero incident
REAL(r64) :: ReflBackBeamDiff = 0.0d0 ! Beam-Diffuse solar reflectance back at zero incident
REAL(r64) :: TausFrontBeamDiff = 0.0d0 ! Beam-Diffuse solar transmittance front at zero incident
REAL(r64) :: TausBackBeamDiff = 0.0d0 ! Beam-Diffuse solar transmittance back at zero incident
REAL(r64) :: ReflFrontBeamDiffVis = 0.0d0 ! Beam-Diffuse visible reflectance front at zero incident
REAL(r64) :: ReflBackBeamDiffVis = 0.0d0 ! Beam-Diffuse visible reflectance back at zero incident
REAL(r64) :: TausFrontBeamDiffVis = 0.0d0 ! Beam-Diffuse visible transmittance front at zero incident
REAL(r64) :: TausBackBeamDiffVis = 0.0d0 ! Beam-Diffuse visible transmittance back at zero incident
REAL(r64) :: ReflFrontDiffDiff = 0.0d0 ! Diffuse-Diffuse solar reflectance front
REAL(r64) :: ReflBackDiffDiff = 0.0d0 ! Diffuse-Diffuse solar reflectance back
REAL(r64) :: TausDiffDiff = 0.0d0 ! Diffuse-Diffuse solar transmittance (front and back)
REAL(r64) :: ReflFrontDiffDiffVis = 0.0d0 ! Diffuse-Diffuse visible reflectance front
REAL(r64) :: ReflBackDiffDiffVis = 0.0d0 ! Diffuse-Diffuse visible reflectance back
REAL(r64) :: TausDiffDiffVis = 0.0d0 ! Diffuse-Diffuse visible transmittance (front and back)
REAL(r64) :: EmissThermalFront = 0.0d0 ! Front side thermal or infrared Emissivity
REAL(r64) :: EmissThermalBack = 0.0d0 ! Back side thermal or infrared Emissivity
REAL(r64) :: TausThermal = 0.0d0 ! Thermal transmittance (front and back)
INTEGER :: GapVentType =0 ! Gap Ven type for equivalent Layer window model
LOGICAL :: ISPleatedDrape =.false. ! if pleated drape= true, if nonpleated drape = false
REAL(r64) :: PleatedDrapeWidth = 0.0d0 ! width of the pleated drape fabric section
REAL(r64) :: PleatedDrapeLength = 0.0d0 ! length of the pleated drape fabric section
REAL(r64) :: ScreenWireSpacing = 0.0d0 ! insect screen wire spacing
REAL(r64) :: ScreenWireDiameter = 0.0d0 ! insect screen wire diameter
REAL(r64) :: SlatWidth = 0.0d0 ! slat width
REAL(r64) :: SlatSeparation = 0.0d0 ! slat seperation
REAL(r64) :: SlatCrown = 0.0d0 ! slat crown
REAL(r64) :: SlatAngle = 0.0d0 ! slat angle
INTEGER :: SlatAngleType =0 ! slat angle control type, 0=fixed, 1=maximize solar, 2=block beam
INTEGER :: SlatOrientation =0 ! horizontal or veritical
CHARACTER(len=MaxNameLength):: GasName =' ' ! Name of gas type ("Air", "Argon", "Krypton", "Xenon")
END TYPE MaterialProperties