Skip to content

yurigabrich/EnergyPlusShadow

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Copyright (C) 2018 - 2019
Yuri Bastos Gabrich <yuribgabrich[at]gmail.com>

This fork has the intention to convert specific functions to Python in order to support the development of a paper on energy policy.

License

SPDX-License-Identifier: BSD-3-Clause

The files presented here follow the same license attribute as its source file. For more informations about the original code license and copyright check here.

Dependecy Tree

File Shadows.py (functions and variables dependencies):

[class] SolarCalculations()
    [class] SolarShading)()
        __init__()
            ? FenestrationCommon
            ? SingleLayerOptics
        clear_state()
        [class] ExternalFunctions()
            SurfaceData --> usado por `.SchedExternalShadingFrac` e `.ExternalShadingSchInd`
                Vertices
                    Vertex --> falta definir, mas já está no arquivo
                Plane
                    plane --> falta definir, mas já está no arquivo
            CalcDayltgCoefficients() * local de definição
                CalcDayltghCoefficients_firstTime --> ? DaylightingManager
                DetailedSolarTimestepIntegration
                    ZoneDaylight() --> ?
                        ? ZoneDaylight --> definido como Pandas Series (l.882)
                FindTDDPipe(WinNum)
                    NumOfTDDPipes
                    Surface()
                        ? Surface --> definido como Pandas Series (l.679)
                    TDDPipe()
                        ? TDDPipe --> definido como Pandas Series (l.1060)
                TransTDD(PipeNum, COSI, RadiationType)
                    POLYF(X, A)
                    Surface()
                        ? Surface --> definido como Pandas Series (l.679)
                    Construct()
                        ConstructionData
                    VisibleBeam --> ? DataDaylightingDevices
                    InterpolatePipeTransBeam(COSI, transBeam)
                        NumOfAngles --> ? não sei de onde vêm
                        COSAngle --> ? não sei de onde vêm
                        FindArrayIndex --> ? FluidProperties
                    SolarBeam --> ? DataDaylightingDevices
                    SolarAniso --> ? DataDaylightingDevices
                    TDDPipe()
                        ? TDDPipe --> definido como Pandas Series (l.1060)
                    CalcTDDTransSolAniso(PipeNum, COSI)
                        HourOfDay
                        TimeStep
                        SolarBeam
                        AnisoSkyMult()
                            ? AnisoSkyMult --> definido como Pandas Series (l.363)
                        curDifShdgRatioIsoSky()
                            ? curDifShdgRatioIsoSky --> definido como Pandas Series (l.366)
                        DifShdgRatioHoriz()
                            ? DifShdgRatioHoriz --> definido como Pandas Series (l.367)
                        DifShdgRatioHorizHRTS()
                            ? DifShdgRatioHorizHRTS --> definido como Pandas DataFrame (l.368)
                        DifShdgRatioIsoSky()
                            ? DifShdgRatioIsoSky --> definido como Pandas Series (l.369)
                        MultCircumSolar()
                            ? MultCircumSolar --> definido como Pandas Series (l.370)
                        MultHorizonZenith()
                            ? MultHorizonZenith --> definido como Pandas Series (l.371)
                        MultIsoSky()
                            ? MultIsoSky --> definido como Pandas Series (l.372)
                        SunlitFrac()
                            ? SunlitFrac --> definido como Pandas DataFrame (l.373)
                        DetailedSkyDiffuseAlgorithm
                        ShadingTransmittanceVaries --> definido em __init__ de SolarShading, mudar para External...
                        SolarDistribution --> definido em __init__ de SolarShading, mudar para External...
                        MinimalShadowing --> definido em __init__ de SolarShading, mudar para External...
                        TDDPipe()
                            ? TDDPipe --> definido como Pandas Series (l.1060)
                RoundSigDigits(RealValue, SigDigits)
                    TestChar --> ??? não sei como converter para Python
                    stripped() --> computing performance?
                GetDaylightingParametersInput()
                    rNumericArgs
                    getNumObjectsFound(&ObjectWord)
                        caseInsensitiveObjectMap --> ? não tem no html
                        convertToUpper() --> ? não tem no html
                        static_cast() --> ? não tem no html
                        schema[...] --> ? não tem no html
                    GetInputDayliteRefPt(ErrorsFound) --> ? DaylightingManager
                    GetDaylightingControls(TotDaylightingControls, ErrorsFound) --> ? DaylightingManager
                    GeometryTransformForDaylighting() --> ? DaylightingManager
                    GetInputIlluminanceMap(ErrorsFound) --> ? DaylightingManager
                    GetLightWellData(ErrorsFound) --> ? DaylightingManager
                    DayltgSetupAdjZoneListsAndPointers() --> ? DaylightingManager
                    TotSurfaces
                    Surface()
                    SurfaceClass_Window --> ? DataSurfacesSurfaceClass_Window
                    ZoneDaylight() --> ?
                        ? ZoneDaylight --> definido como Pandas Series (l.882)
                    SurfaceWindow() --> DataSurfaces.cc --> é do tipo SurfaceWindowCalc() com várias características de absorsação de luz pela janela
                        ? SurfaceWindow --> definido como Pandas Series (l.680)
                    ExternalEnvironment
                    WindowShadingControl() --> ? DataSurfaces
                    WSCT_MeetDaylIlumSetp --> ? DataSurfaces
                    doesDayLightingUseDElight() --> ? DaylightingManager
                    DElightInputGenerator() --> ? DElightManagerF
                    GenerateDElightDaylightCoefficients(dLatitude, iErrorFlag) --> ? DElightManagerF
                    GetNewUnitNumber() --> ? aparece no html, mas não no arquivo... :(
                    GoodIOStatValue --> ? DataSystemVariables
                    has_prefix(?) --> ? no idea about it
                    getObjectItem(&Object, Number, Alphas, &NumAlphas, Numbers, &NumNumbers, &Status, \*args)
                        getJSONObjNum(?Object, ?Number) --> InputProcessor
                        ObjectInfo() --> ? não tem no html
                        objectCacheMap --> ? não tem no html
                        caseInsensitiveObjectMap --> ? não tem no html
                        convertToUpper() --> ? não tem no html
                        epJSON --> InputProcessor
                        present(...) --> ? não tem no html
                        unusedInputs --> ? não tem no html
                        size_t --> ? não tem no html
                        Alphas(...) --> ? não tem no html
                        MakeUPPERCase(InputString) --> UtilityRoutines
                        isEpJSON --> DataGlobals
                        getObjectItemValue(field_value, schema_field_obj) --> InputProcessor
                        i64toa(...) --> ? não tem no html
                        dtoa(...) --> ? não tem no html
                        Numbers(...) --> ? não tem no html
                        findDefault(default_value, schema_field_obj) --> InputProcessor
                    cAlphaArgs
                CheckTDDsAndLightShelvesInDaylitZones()
                    CheckTDDs_firstTime --> ? DaylightingManager
                    NumOfZones
                    ? CheckTDDZone() --> definido como Pandas Series (l.1028)
                    NumOfTDDPipes
                    TDDPipe()
                        ? TDDPipe --> definido como Pandas Series (l.1060)
                    ZoneDaylight() --> ?
                        ? ZoneDaylight --> definido como Pandas Series (l.882)
                    Surface()
                        ? Surface --> definido como Pandas Series (l.679)
                    NoDaylighting --> ? DataDaylighting
                    Zone(...) --> ? tem uma caralhada de referências
                    DaylRefWorldCoordSystem --> ? DataSurfaces
                    NumOfShelf --> ? DataDaylightingDevices
                    Shelf(...) -- ? vêm de SurfaceData ?
                    RoundSigDigits(RealValue, SigDigits)
                        TestChar --> ??? não sei como converter para Python
                        stripped() --> computing performance?
                    OutputFileDebug
                AssociateWindowShadingControlWithDaylighting() --> REALMENTE VAI SER USADO?
                    TotWinShadingControl --> ? DataSurfaces
                    NumOfZones
                    SameString() --> ? UtilityRoutines ? como funciona isso?
                    WindowShadingControl() --> ? DataSurfaces
                    ZoneDaylight() --> ?
                CheckTDDZone
                BeginSimFlag --> ? DataGlobals
                NumOfZones
                Zone(...) --> ? tem uma caralhada de referências
                ZoneDaylight() --> ?
                DayltgAveInteriorReflectance(ZoneNum) --> ? DaylightingManager
                KickOffSizing
                KickOffSimulation
                WarmupFlag
                CurMnDy --> ? DataEnvironment
                CalcMinIntWinSolidAngs() --> DaylightingManager.cc --> acho q não será necessário, pois é para janela
                    NumOfZones
                    ZoneDaylight() --> ?
                    Zone(...) --> ? tem uma caralhada de referências
                    Surface()
                        ? Surface --> definido como Pandas Series (l.679)
                    SurfaceClass_Window --> ? DataSurfaces
                    dot() --> ? produto escalar ?
                    pow_2() --> ? elevado ao quadrado ?
                TDDTransVisBeam
                TDDFluxInc
                TDDFluxTrans
                NumOfTDDPipes
                BeginDayFlag
                SUNCOSHR()
                SunIsUpValue
                PiOvr2
                DayltgExtHorizIllum(HISK, &HISU)
                    PiOvr2
                    double() --> ? não parece ser definição de variável ?
                    DayltgExtHorizIllum_firstTime --> ? DaylightingManager
                    DayltgSkyLuminance --> ? DaylightingManager
                    SPHSUN --> definido dentro de CalcDayltgCoefficients()
                PHSUNHR()
                SPHSUNHR()
                CPHSUNHR()
                THSUNHR()
                GILSK()
                GILSU()
                HourOfDay
                SplitFluxDaylighting --> ? DataDaylighting
                doSkyReporting --> ? não aparece no html ?
                TotWindowsWithDayl
                CalcDayltgCoeffsRefMapPoints(ZoneNum)
                    VeryFirstTime --> ? DaylightingManager
                    NumOfZones
                    ZoneDaylight() --> ?
                    SurfaceWindow() --> DataSurfaces.cc --> é do tipo SurfaceWindowCalc() com várias características de absorsação de luz pela janela
                        ? SurfaceWindow --> definido como Pandas Series (l.680)
                    SurfaceClass_TDD_Diffuser --> ? DataSurfaces
                    CalcDayltgCoeffsRefPoints(ZoneNum) --> ? DaylightingManage
                    DoingSizing
                    KickOffSimulation
                    TotIllumMaps --> ? DataDaylighting
                    IllumMapCalc() --> ? DataDaylighting
                    WarmupFlag
                    Zone(...) --> ? tem uma caralhada de referências
                    CalcDayltgCoeffsMapPoints(ZoneNum) --> ? DaylightingManager
                FirstTimeDaylFacCalc
                OutputFileInits --> ? DataGlobals
                Surface()
                    ? Surface --> definido como Pandas Series (l.679)
                DFSReportSizingDays --> definido em GetDaylightingParametersInput() --> it's enough?
                DFSReportAllShadowCalculationDays --> definido em GetDaylightingParametersInput() --> an 'else' of the above
                DoingSizing
                DoWeathSim
                DoDesDaySim
                KindOfSim
                ksRunPeriodWeather
                GetNewUnitNumber() --> ? aparece no html, mas não no arquivo... :(
                SurfaceWindow() --> DataSurfaces.cc --> é do tipo SurfaceWindowCalc() com várias características de absorsação de luz pela janela
                    ? SurfaceWindow --> definido como Pandas Series (l.680)
                MaxSlatAngs --> ? DataSurfaces
                OutputFileDFS --> ? DaylightingManager
                double() --> ? não parece ser definição de variável ?
    __init__()
        outputShdFileName
        [ifdef?] EP_Count_Calls
        PiOvr2
        DetermineShadowingCombinations()
            ShadowComb
            [struct] ShadowingCombinations
            IgnoreSolarRadiation
            ExternalEnvironment
            OtherSideCondModeledExt
            [ifdef?] EP_Count_Calls --> DataTimings.cc --> já definido em External
            CHKGSS(NRS, NSS, ZMIN, &CannotShade)
                Surface()
                    ? Surface --> definido como Pandas Series (l.679)
        AllocateModuleArrays()
            TotSurfaces
            NumOfTimeStepInHour
            MaxBkSurf
            NumOfZones
            MaxSolidWinLayers
            MaxVerticesPerSurface
            SurfaceWindow() --> DataSurfaces.cc --> é do tipo SurfaceWindowCalc() com várias características de absorsação de luz pela janela
                ? SurfaceWindow --> definido como Pandas Series (l.680)
            Surface() --> DataSurfaces.cc
                ? Surface --> definido como Pandas Series (l.679)
            [class] Unit --> OutputProcessor::Unit
        GetShadowingInput()
            FindItemInList(item_looked, list_to_look_at)
            GetScheduleIndex(&ScheduleName)
                FindItemInList(item_looked, list_to_look_at)
                ScheduleInputProcessed --> ? ScheduleManager
                ProcessScheduleInput(...) --> ? ScheduleManager
                NumSchedules --> ? ScheduleManager
                FindItemInList() --> ? UtilityRoutines ? como funciona isso?
                Schedule() --> ? ScheduleManager
                WeekSchedule() --> ? ScheduleManager
                MaxDayTypes --> ? ScheduleManager
                DaySchedule() --> ? ScheduleManager
            SameString() --> ? UtilityRoutines ? como funciona isso?
            FindItemInList() --> ? UtilityRoutines ? como funciona isso?
            getNumObjectsFound(&ObjectWord)
                caseInsensitiveObjectMap --> ? não tem no html
                convertToUpper() --> ? não tem no html
                static_cast() --> ? não tem no html
                schema[...] --> ? não tem no html
            getObjectItem(&Object, Number, Alphas, &NumAlphas, Numbers, &NumNumbers, &Status, \*args)
                getJSONObjNum(?Object, ?Number) --> InputProcessor
                ObjectInfo() --> ? não tem no html
                objectCacheMap --> ? não tem no html
                caseInsensitiveObjectMap --> ? não tem no html
                convertToUpper() --> ? não tem no html
                epJSON --> InputProcessor
                present(...) --> ? não tem no html
                unusedInputs --> ? não tem no html
                size_t --> ? não tem no html
                Alphas(...) --> ? não tem no html
                MakeUPPERCase(InputString) --> UtilityRoutines
                isEpJSON --> DataGlobals
                getObjectItemValue(field_value, schema_field_obj) --> InputProcessor
                i64toa(...) --> ? não tem no html
                dtoa(...) --> ? não tem no html
                Numbers(...) --> ? não tem no html
                findDefault(default_value, schema_field_obj) --> InputProcessor
            lNumericFieldBlanks
            lAlphaFieldBlanks
            cAlphaFieldNames
            rNumericArgs
            cAlphaArgs
            DisableGroupSelfShading
            ScheduleFileShadingProcessed --> definido dentro de GetShadowingInput(), mudar para External...
            ZoneList
            NumOfZoneLists
            ShadingTransmittanceVaries --> definido em __init__ de SolarShading, mudar para External...
            SolarDistribution --> definido em __init__ de SolarShading, mudar para External...
            MinimalShadowing --> definido em __init__ de SolarShading, mudar para External...
            Surface()
                ? Surface --> definido como Pandas Series (l.679)
            RoundSigDigits(RealValue, SigDigits)
                TestChar --> ??? não sei como converter para Python
                stripped() --> computing performance?
    SHDGSS(NGRS, iHour, TS, CurSurf, NGSS, HTS)
        CLIP(NVT, &XVT, &YVT, &ZVT)
        CTRANS(NS, NGRS, &NVT, &XVT, &YVT, &ZVT)
        HTRANS0(NS, NumVertices)
        HTRANS1(NS, NumVertices)
        MULTOL(NNN, LOC0, NRFIGS)
            DeterminePolygonOverlap(NS1, NS2, NS3) * uso
        DeterminePolygonOverlap(NS1, NS2, NS3) * uso
    PerformSolarCalculations()
        TotWindowsWithDayl
        CalcPerSolarBeam(AvgEqOfTime, AvgSinSolarDeclin, AvgCosSolarDeclin)
            [ifdef?] EP_Count_Calls
            FigureSunCosines(iHour, iTimeStep, EqOfTime, SinSolarDeclin, CosSolarDeclin)
                SUN4(CurrentTime, EqOfTime, SinSolarDeclin, CosSolarDeclin)
            FigureSolarBeamAtTimestep(iHour, iTimeStep)
                SHADOW(iHour, TS)
                    CTRANS(NS, NGRS, &NVT, &XVT, &YVT, &ZVT)
                    HTRANS1(NS, NumVertices)
                    SHDGSS(NGRS, iHour, TS, CurSurf, NGSS, HTS)
                    [ifdef?] EP_Count_Calls
            InitComplexWindows()
                InitBSDFWindows() --> WindowComplexManager
                CalcStaticProperties() --> WindowComplexManager
            UpdateComplexWindows()
                NumComplexWind --> WindowComplexManager
                KickOffSizing
                KickOffSimulation
                WindowList() --> WindowComplexManager
                ComplexWind() --> DataBSDFWindow
                CFSShadeAndBeamInitialization(iSurf, iState) --> WindowComplexManager
        SkyDifSolarShading()
            SHADOW(iHour, TS)
                CTRANS(NS, NGRS, &NVT, &XVT, &YVT, &ZVT)
                HTRANS1(NS, NumVertices)
                SHDGSS(NGRS, iHour, TS, CurSurf, NGSS, HTS)
                [ifdef?] EP_Count_Calls
            [class] Unit --> OutputProcessor::Unit
        DetailedSolarTimestepIntegration
        CalcDayltgCoefficients() * local de uso
            PiOvr2
        SUN3(JulianDayOfYear, &SineOfSolarDeclination, &EquationOfTime)
    DeterminePolygonOverlap(NS1, NS2, NS3) * definição
        HTRANS0(NS, NumVertices)
        INCLOS(N1, N1NumVert, N2, N2NumVert, &NumVerticesOverlap, &NIN)
        INTCPT(NV1, NV2, &NV3, NS1, NS2)
        CLIPPOLY(NS1, NS2, NV1, NV2, &NV3)
            [ifdef?] EP_Count_Calls
        ORDER(NV3, NS3)
        [ifdef?] EP_Count_Calls
        RoundSigDigits(RealValue, SigDigits)
            TestChar --> ??? não sei como converter para Python
            stripped() --> computing performance?
    SEM NENHUM VÍNCULO (pode ser excluído?):
        `polygon_contains_point` --> used for subsurfaces purposes (`CHKSBS`)
        `HTRANS` --> used for subsurfaces purposes (`CalcInteriorWinTransDifSolInitialDistribution` e `CalcComplexWindowOverlap`)
        `SurfaceScheduledSolarInc` --> used for subsurfaces purposes (`CalcInteriorSolarDistribution`)
            SUN3(JulianDayOfYear, &SineOfSolarDeclination, &EquationOfTime)
        `ReportSurfaceShading` --> called by no one
            PreDefTableEntry(columnIndex, &objName, tableEntryInt) ('ExternalFunctions')
                incrementTableEntry() --> OutputReportPredefined
                tableEntry(?) --> OutputReportPredefined
            Surface() --> DataSurfaces.cc
        `ReportSurfaceErrors` --> called by no one
        [struct] ZoneListData --> DataHeatBalance.hh ('ExternalFunctions')
        [struct] ZoneDaylightCalc --> DataDaylighting.hh ('ExternalFunctions')
        PreDefTableEntry(columnIndex, &objName, tableEntryInt) ('ExternalFunctions')
            incrementTableEntry() --> OutputReportPredefined
            tableEntry(?) --> OutputReportPredefined

img-dependency

ref: Open-source tool to visualize C/C++ header file dependencies?

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 71.6%
  • C++ 25.0%
  • JavaScript 3.2%
  • Python 0.2%
  • CSS 0.0%
  • CMake 0.0%