Class DaylightFactor
java.lang.Object
org.episteme.social.architecture.DaylightFactor
Provides mathematical models for calculating the Daylight Factor (DF) and
evaluating natural lighting adequacy in architectural spaces.
It implements standard BRE (Building Research Establishment) estimation formulas.
- Since:
- 1.0
- Version:
- 2.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Method Summary
Modifier and TypeMethodDescriptionstatic RealaverageDaylightFactor(List<Real> windowContributions) Sums contributions from multiple windows to find the total average DF.static doubleaverageRoomReflectance(double ceilingArea, double ceilingReflectance, double wallArea, double wallReflectance, double floorArea, double floorReflectance) Calculates the area-weighted average reflectance of a room's interior.static RealcalculateDaylightFactor(Quantity<Area> windowArea, Quantity<Area> roomSurfaceArea, double glassTransmittance, double skyAngleFactor, double maintenanceFactor, double averageReflectance) Calculates the Daylight Factor (DF) using the BRE formula.static StringevaluateDaylightLevel(Real daylightFactor, String roomType) Evaluates if the calculated daylight factor is adequate for the intended room use.static doublegetSurfaceReflectance(String surface) Returns typical reflectance values for architectural surfaces.static RealnoSkyLineDepth(double windowHeadHeight, double windowSillHeight, double externalObstructionAngle) Estimates the No-Sky Line depth, which is the point in a room beyond which the sky isä¸å† visible due to external obstructions.
-
Method Details
-
calculateDaylightFactor
public static Real calculateDaylightFactor(Quantity<Area> windowArea, Quantity<Area> roomSurfaceArea, double glassTransmittance, double skyAngleFactor, double maintenanceFactor, double averageReflectance) Calculates the Daylight Factor (DF) using the BRE formula. Simplified estimate: DF approx (T * W * theta * M) / (A * (1-R^2)) * 100%- Parameters:
windowArea- total window glazing arearoomSurfaceArea- total internal surface area (ceiling + walls + floor)glassTransmittance- transmittance of the glass (0.0 to 1.0)skyAngleFactor- visible sky angle in radians/factormaintenanceFactor- factor for dirt/aging (typical 0.8-0.9)averageReflectance- area-weighted average reflectance of internal surfaces- Returns:
- the Daylight Factor as a percentage
-
evaluateDaylightLevel
Evaluates if the calculated daylight factor is adequate for the intended room use.- Parameters:
daylightFactor- the calculated DF percentageroomType- type of room (e.g., "office", "bedroom")- Returns:
- a qualitative description of daylight adequacy
-
averageDaylightFactor
-
noSkyLineDepth
public static Real noSkyLineDepth(double windowHeadHeight, double windowSillHeight, double externalObstructionAngle) Estimates the No-Sky Line depth, which is the point in a room beyond which the sky isä¸å† visible due to external obstructions.- Parameters:
windowHeadHeight- height of window head from floorwindowSillHeight- height of window sill from floorexternalObstructionAngle- angle of external obstruction in degrees- Returns:
- the depth distance into the room
-
getSurfaceReflectance
Returns typical reflectance values for architectural surfaces.- Parameters:
surface- name of the surface type- Returns:
- reflectance coefficient (0.0 to 1.0)
-
averageRoomReflectance
public static double averageRoomReflectance(double ceilingArea, double ceilingReflectance, double wallArea, double wallReflectance, double floorArea, double floorReflectance) Calculates the area-weighted average reflectance of a room's interior.- Parameters:
ceilingArea- total ceiling areaceilingReflectance- ceiling reflectancewallArea- total wall areawallReflectance- wall reflectancefloorArea- total floor areafloorReflectance- floor reflectance- Returns:
- the weighted average reflectance
-