Both BLAST and DOE-2 were written in older version of FORTRAN and used features that will eventually be obsolete in new compilers. Both programs consisted of a ...
GettingStarted—EnergyPlus8.2
<>
All8.2Docs
|DocsHome
|EPxHome
GettingStarted
WhydoesEnergyPlusexistandwhatwereitsoriginalgoals?
WhydoesEnergyPlusexistandwhatwereitsoriginalgoals?[LINK]
TheexistenceofEnergyPlusisdirectlyrelatedtosomeoftheincreasinglyobviousshortcomingsofitspredecessorprograms–BLASTandDOE-2.Bothprograms,thoughstillvalidtoolsthatwillcontinuetohaveutilityinvariousenvironments,havebeguntoshowtheirageinavarietyofways.BothBLASTandDOE-2werewritteninolderversionofFORTRANandusedfeaturesthatwilleventuallybeobsoleteinnewcompilers.Bothprogramsconsistedofasignificantamountof“spaghetticode”andoutdatedstructuresthatmadeitdifficulttomaintain,support,andenhance.NeitherBLASTnorDOE-2isabletocorrectlyhandlefeedbackfromtheHVACsystemtothezoneconditions.
Finally,thespeedwithwhichnewtechnologyintheHVACfieldisdevelopedhasfaroutpacedtheabilityofthesupportanddevelopmentgroupsofbothprogramstokeeptheprogramscurrentandviable.ThisisreallythekeyissueintheexistenceofEnergyPlus:theresimplyarenotenoughresearchersworldwidewhohaveenoughexperiencewiththecomplexcodeoftheprogramstokeeppacewithnewtechnology.Inaddition,duetotheyearsofexperiencenecessarytomakemodificationstoeitherBLASTorDOE-2,itisextremelyexpensiveandtimeconsumingtoproducemodelsortrainsomeonetobecomeproficientineitherprogram’scode.ThefollowingparagraphsaddresshowthegoalsofEnergyPlushavebeencarefullyselectedtosolvetheproblemsofthelegacyprogramsandtomakeEnergyPlusaninternationalrepositoryforalgorithmsthatcanbemadeavailabletoallinterestedparties.
StructureandSimulationManagement:The“spaghetticode”natureoftheparentprogramsresultedingreatconfusionastohowinformationflowedwithintheprogram,whendatawasmodifiedorshouldbemodified,andwhatwashappeningwhen.Thus,oneofthegoalsofEnergyPlusdevelopmentwastoeliminatetheinterconnectionsbetweenvariousprogramsectionsandtheneedtounderstandallpartsofthecodejusttomakeanadditiontoaverylimitedpartoftheprogram.Thisgoalwasachievedthroughaprogramstructurethatimplementeda“manager”philosophy.Ineffect,theprogramconsistsofmanypieces(i.e.,modules–seenextparagraph)whichwhenviewedgraphicallyresembleaninvertedtree.Insteadofallowinglowerlevelpiecesoftheprogramandcallstothosesectionsofthecodetoinfiltrateuptothehighestlevelofthesimulation,eachbranchexercisescontroloverwhenitssub-branchesarecalled.Thus,thisismuchlikeanorganizationchartwheremanagementoveremployeesproceedsupachainofcommanduntilitreachesthe“CEO”ofthesimulation.InEnergyPlus,asubroutinecalledManageSimulationservesthe“CEO”role.Thissinglesubroutinecontrolsfourofthefivemainsimulationloops(environment,day,hour,sub-hourtimestep;thesystemtimestepiscontrolledbytheHVACmanager).Inaddition,thissubroutinealsosetsglobalflagsthatareusedbyothersubroutinesandmodulestodeterminethestateofthesimulationsothateachpartoftheprogramknowswhethertoreadinput,initialize,simulate,report,etc.Themanagerphilosophymakesthelinksbetweenprogrammodulessimpleandexplicit.Typically,eachmoduleisaccessibleonlythroughacalltoitsmanagerroutine.Developersnolongerhavetoworryabouthiddenandunexpectedconnectionsbetweenandamongprogramsubroutines.
Modularity:Oneofthebenefitsofthestructuralimprovementsoverthelegacyprogramsisthatthecodecannowbemuchmoreobject-orientedandmodularinnature.AresultofthegoalforimprovedstructureinEnergyPluswasthedefinitionofawell-organized,moduleconceptthatwouldfacilitateaddingfeaturesandlinkstootherprograms.ItwasdecidedthatFORTRAN90wouldbeusedfortheinitialreleaseofEnergyPlusduetothefactthatit:
isamodern,modularlanguagewithgoodcompilersonmanyplatforms
allowsC-likedatastructuresandmixedlanguagemodules
providesstructurethatbeginstobeobject-based
allowslongvariablenames(upto32characters)
providesbackwardcompatibilitywithlegacycodeduringthedevelopmentprocess
Thekeybenefitofmodularityisthatresearcherscandevelopmodulesconcurrentlywithoutinterferingwithothermodulesunderdevelopmentandwithonlyalimitedknowledgeoftheentireprogramstructure.Thisfeatureiscriticaltopromotingbothwidespreaduseandbroaddevelopmentofprogrammodels.EnergyPluscanonlybesuccessfulifthepoolofpotentialmodeldevelopersincreasessignificantlysothatinterestandeconomicsdriveswhatmodelsareaddedtotheprogramratherthanhaveitsextensionslimitedbyalackofintellectualresources.Thus,modularityandstructureimprovementsinEnergyPlussolvetheproblemsofnothavingenoughexpertstokeepupwithtechnologyandthelargestart-uptimeandexpensepreviouslyneededtobringsomeoneuptospeedonprogramadditions.
Sincetheoriginalversion(2001),EnergyPluscodeandstructurecontinuestoevolveandadoptstheeverchangingFortranStandard.
EstablishedLinks:ThemodularityofEnergyPlusmakesiteasierforotherdeveloperstoquicklyaddothercomponentsimulationmodules.Thismeansthatitwillbesignificantlyeasiertoestablishlinkstootherprogrammingelements.SinceinitiallytheEnergyPluscodewillcontainasignificantnumberofexistingmodules,therewillbemanyplaceswithintheHVACcodewherenaturallinkstonewprogrammingelementscanbeestablished.ThesearefullydocumentedtoassistotherdevelopersinaswiftintegrationoftheirresearchintoEnergyPlus.InadditiontothesemorenaturallinksintheHVACsectionofthecode,EnergyPluswillalsohaveothermorefluidlinksinareassuchastheheatbalancethatwillallowforinteractionwherethemodulesmightbemorecomplexorlesscomponentbased.Again,thegoalofthisfeatureofEnergyPlusismaximizethenumberofdeveloperswhocanquicklyintegratetheirworkintoEnergyPlusfortheminimuminvestmentofresources.ThefollowingdiagramdepictshowotherprogramshavealreadybeenlinkedtoEnergyPlusandabigpictureviewofhowfutureworkcanimpacttheprogram.
EnergyPlus–thebigpicture
IntegrationofLoads,Systems,andPlants:OneofthestrongpointsofEnergyPlusistheintegrationofallaspectsofthesimulation–loads,systems,andplants.BasedonaresearchversionoftheBLASTprogramcalledIBLAST,systemandplantoutputisallowedtodirectlyimpactthebuildingthermalresponseratherthancalculatingallloadsfirst,thensimulatingsystemsandplants.Thesimulationiscoupledallowingthedesignertomoreaccuratelyinvestigatetheeffectofundersizingfansandequipmentandwhatimpactthatmighthaveonthethermalcomfortofoccupantswithinthebuilding.Thediagrambelowshowsabasicoverviewoftheintegrationoftheseimportantelementsofabuildingenergysimulation.
EnergyPlus–Internalelements
“Open”SourceCode:AnotheradvantageofEnergyPlusthatitshareswithbothBLASTandDOE-2isthatthesourcecodeoftheprogramwillbeavailableandopenforpublicinspection,revision,etc.Theprogramisnotintendedtobeablackboxthatisunintelligibletotheusersanddevelopersaroundtheworld.Whiletherearemanyconflictingideasonwhatismeantby“open”,EnergyPlusiscertainlynotclosedsincethiswouldbecountertothegoalsthathavealreadybeenstated.Thehopeisthatthisaccesstosourcecodewillimprovetheaccuracyandusabilityoftheprogramoverthelongtermandallowmanydeveloperstoworkontheprogramsimultaneously.This“developerfriendly”stanceiscriticaltokeepingEnergyPluscurrentandinstepwithtechnologicaladvances.
Insummary,thegoalsofEnergyPlusareambitiousbutachievableviathepathdescribedabove.EnergyPlusaimstobeaprogramthatisrelativelysimpletoworkwithfromtheperspectiveofboththeusersandthedeveloper.Thedevelopmentteammadetremendouseffortstokeepsimulationcodeandalgorithmsasseparateaspossibleandasmodularaspossibletominimizetheoverallknowledgethatsomeonewouldneedtohavetoaddmodelstotheprogram.Thiswillminimizetheresourceinvestmentandmaximizetheimpactofcurrentresearchinthefieldofbuildingenergyanalysisandthermalloadcalculations.Finally,thefullcouplingofbuildingenvelopes,systems,andplantswillprovideabetterunderstandingofhowabuildingrespondsnotonlytotheenvironmentalfactorsthatimpactthebuildingbutalsotheHVACsystemasitattemptstomeetthethermalloadsonthebuilding.
ItisalsoimportanttonotethattestingandverificationarekeyissuesinthedevelopmentofanynewprogramsuchasEnergyPlus.WhiletherearelargesectionsofEnergyPlusthatconsistofbrandnewcode,themajorityoftheheatbalancecodecanbetracedbacktotheoriginalparentprograms.Itshouldbenotedthatwhilethiscodehasbeensignificantlyreengineeredtheteamusedwhathasbeentermedan“evolutionaryreengineering”(ER)process.InER,programcodeismodifiedstepwiseinanefforttorestructureit,modularizeit,replaceoldobsoletedatastructures,etc.Theultimategoalistobringituptocurrentprogrammingstandardswithoutstartingoverwithnewcode.Ateachstepalongtheway,theprogramisexercisedoveravarietyofinputfilesandparameterstoinsurethatwhatwereintendedtobealgorithmneutralchangesintheprogramhavenotresultedinchangestotheoutput.Thisprocesswasverysuccessfulandbolsteredconfidenceintheprogram.Inaddition,comparisonscouldbemadebacktolegacyprogramstoshowthatthenewprogramisataminimumasaccurateasitspredecessors.Beyondthis,EnergyPlushasalsobeensubjectedtoalengthyandrigoroustestingplanbyanoutsideagencyaswellasnumerousbetatesters.ThislevelofeffortandcollaborationisunprecedentedinthehistoryofenergyanalysisandthermalloadcalculationprogramsandhasresultedinamuchhigherlevelofconfidenceintheresultsproducedbyEnergyPlus.
Documentationcontentcopyright©1996-2014TheBoardofTrusteesofthe
UniversityofIllinoisandtheRegentsoftheUniversityofCalifornia
throughtheErnestOrlandoLawrenceBerkeleyNationalLaboratory.Allrights
reserved.EnergyPlusisatrademarkoftheUSDepartmentofEnergy.
ThisdocumentationismadeavailableundertheEnergyPlus
OpenSourceLicensev1.0.