Skip to content

ConstructionProperty:InternalHeatSource not being properly integrated with the surface heat balance - #11729

Open
joseph-robertson wants to merge 29 commits into
developfrom
pv-int-heat-source
Open

ConstructionProperty:InternalHeatSource not being properly integrated with the surface heat balance#11729
joseph-robertson wants to merge 29 commits into
developfrom
pv-int-heat-source

Conversation

@joseph-robertson

@joseph-robertson joseph-robertson commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Pull request overview

  • Fixes Possible issue with ConstructionProperty:InternalHeatSource not being properly integrated with the surface heat balance #11698
  • The change improves handling of PV panels that are part of the building itself, rather than separate, rack-mounted equipment. These panels produce electricity by taking some energy from the surface or collector they are attached to. Previously, that heat removal could be calculated after the surrounding wall or collector had already completed its thermal calculation for that iteration. The update repeats the relevant calculations when the PV effect changes enough to matter, so the panel, wall, air cavity, and collector temperatures stay consistent. This applies to PV integrated into an outside surface, a transpired collector, a vented cavity, or a photovoltaic-thermal collector.

Description of the purpose of this PR

  • The issue was an ordering gap in the coupled PV thermal model. For building-integrated PV, electrical generation removes energy from the mounting surface, transpired collector, vented cavity, or PVT collector; previously that updated PV heat sink could be calculated after the associated surface heat balance had already been solved for the HVAC iteration. The fix publishes the changed sink to its owning thermal model and, when the change is material, requests a bounded surface/PV heat-balance resimulation plus any required air, plant, and electrical-loop passes. This reconciles the PV heat extraction with the local boundary temperatures and downstream collector response within the same iteration, covering the outside-face, transpired-collector, exterior-vented-cavity, and PVT integration modes.

    • IntegratedSurfaceOutsideFace: PV is recalculated from the updated surface outside-face temperature. A material PV heat-sink change requests another surface heat-balance pass so the wall surface and PV remain consistent in the HVAC iteration.

    • IntegratedExteriorVentedCavity: The current PV heat sink is republished to the exterior vented-cavity baffle model. A material change triggers surface/cavity/PV reconciliation so the cavity boundary condition and covered-surface temperature are refreshed.

    • IntegratedTranspiredCollector: The current PV heat sink is republished to the unglazed transpired collector energy balance. A material change requests surface heat-balance plus air- and plant-loop resimulation, reconciling collector temperature, plenum air, wall boundary conditions, and PV output.

    • PhotovoltaicThermalSolarCollector: The current PV heat sink is republished to the PVT collector. A material change requests air- and plant-loop resimulation so thermal-fluid conditions, thermal production, and PV output use a consistent collector state.

integrated-pv-four-modes.html

Pull Request Author

  • Title of PR should be user-synopsis style (clearly understandable in a standalone changelog context)
  • Label the PR with at least one of: Defect, Refactoring, NewFeature, Performance, and/or DoNoPublish
  • Pull requests that impact EnergyPlus code must also include unit tests to cover enhancement or defect repair
  • Author should provide a "walkthrough" of relevant code changes using a GitHub code review comment process
  • If any diffs are expected, author must demonstrate they are justified using plots and descriptions
  • If changes fix a defect, the fix should be demonstrated in plots and descriptions
  • If any defect files are updated to a more recent version, upload new versions here or on DevSupport
  • If IDD requires transition, transition source, rules, ExpandObjects, and IDFs must be updated, and add IDDChange label
  • If structural output changes, add to output rules file and add OutputChange label
  • If adding/removing any LaTeX docs or figures, update that document's CMakeLists file dependencies
  • If adding/removing any output files (e.g., eplustbl.*)
    • Update ..\scripts\Epl-run.bat
    • Update ..\scripts\RunEPlus.bat
    • Update ..\src\EPLaunch\ MainModule.bas, epl-ui.frm, and epl.vbp (VersionComments)
    • Update ...github\workflows\energyplus.py

Reviewer

  • Perform a Code Review on GitHub
  • If branch is behind develop, merge develop and build locally to check for side effects of the merge
  • If defect, verify by running develop branch and reproducing defect, then running PR and reproducing fix
  • If feature, test running new feature, try creative ways to break it
  • CI status: all green or justified
  • Check that performance is not impacted (CI Linux results include performance check)
  • Run Unit Test(s) locally
  • Check any new function arguments for performance impacts
  • Verify IDF naming conventions and styles, memos and notes and defaults
  • If new idf included, locally check the err file and other outputs

@joseph-robertson joseph-robertson self-assigned this Aug 6, 2026
@joseph-robertson joseph-robertson added the Defect Includes code to repair a defect in EnergyPlus label Aug 6, 2026
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 1cbdffe

Regression Summary
  • EIO: 33
  • ESO Big Diffs: 31
  • MTR Small Diffs: 19
  • Table Big Diffs: 21
  • MTR Big Diffs: 12
  • Table Small Diffs: 12
  • Table String Diffs: 13
  • ZSZ Small Diffs: 12
  • ESO Small Diffs: 2
  • ERR: 9
  • ZSZ Big Diffs: 9
  • SSZ Big Diffs: 1

Comment thread src/EnergyPlus/HeatBalanceSurfaceManager.cc Outdated
@joseph-robertson

joseph-robertson commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator Author

Here is the before (blue) and after (orange) for Zn001:Wall001a (IntegratedSurfaceOutsideFace) of GeneratorswithPV.idf in USA_CO_Denver-Aurora:

image

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit 451cdc9

Regression Summary
  • EIO: 33
  • ESO Big Diffs: 31
  • MTR Small Diffs: 18
  • Table Big Diffs: 21
  • MTR Big Diffs: 12
  • Table Small Diffs: 12
  • Table String Diffs: 13
  • ZSZ Small Diffs: 12
  • ERR: 9
  • ZSZ Big Diffs: 9
  • ESO Small Diffs: 1
  • SSZ Big Diffs: 1

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 451cdc9

Regression Summary
  • EIO: 33
  • ESO Big Diffs: 31
  • MTR Small Diffs: 18
  • Table Big Diffs: 21
  • MTR Big Diffs: 12
  • Table Small Diffs: 12
  • Table String Diffs: 13
  • ZSZ Small Diffs: 12
  • ERR: 9
  • ZSZ Big Diffs: 9
  • ESO Small Diffs: 1
  • SSZ Big Diffs: 1

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit f3c42b0

Regression Summary
  • EIO: 27
  • ESO Big Diffs: 26
  • MTR Small Diffs: 9
  • Table Big Diffs: 25
  • MTR Big Diffs: 17
  • Table String Diffs: 21
  • ERR: 8
  • ESO Small Diffs: 1
  • Table Small Diffs: 2

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit f3c42b0

Regression Summary
  • EIO: 27
  • ESO Big Diffs: 26
  • MTR Small Diffs: 9
  • Table Big Diffs: 25
  • MTR Big Diffs: 17
  • Table String Diffs: 20
  • ERR: 8
  • ESO Small Diffs: 1
  • Table Small Diffs: 2

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 455768d

Regression Summary
  • EIO: 4
  • ESO Big Diffs: 4
  • MTR Small Diffs: 1
  • Table Big Diffs: 4
  • SSZ Big Diffs: 3
  • ZSZ Big Diffs: 3
  • Table String Diffs: 3

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit 455768d

Regression Summary
  • EIO: 4
  • ESO Big Diffs: 4
  • MTR Small Diffs: 1
  • Table Big Diffs: 4
  • SSZ Big Diffs: 3
  • ZSZ Big Diffs: 3
  • Table String Diffs: 3

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 334e80d

Regression Summary
  • EIO: 2
  • ESO Big Diffs: 2
  • MTR Small Diffs: 1
  • Table Big Diffs: 2
  • SSZ Big Diffs: 1
  • ZSZ Big Diffs: 1
  • Table String Diffs: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit 334e80d

Regression Summary
  • EIO: 2
  • ESO Big Diffs: 2
  • MTR Small Diffs: 1
  • Table Big Diffs: 2
  • SSZ Big Diffs: 1
  • ZSZ Big Diffs: 1
  • Table String Diffs: 1

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses #11698 by ensuring building-integrated photovoltaic (PV) source/sink terms are incorporated into the surface heat balance after they become available during the HVAC/air heat balance sequence.

Changes:

  • Adds a Photovoltaics utility (HasBuildingIntegratedPV) to detect whether any PV array uses an integrated heat transfer mode.
  • Updates UpdateFinalSurfaceHeatBalance to trigger an additional outside/inside surface heat balance pass when integrated PV is present.
  • Minor cleanup in Photovoltaics::ReportPV (fully-qualify TranspiredCollector::SetUTSCQdotSource) and removal of a stray merge marker comment.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
src/EnergyPlus/Photovoltaics.hh Declares new helper to detect integrated PV modes.
src/EnergyPlus/Photovoltaics.cc Defines integrated-PV detection helper; minor qualification cleanup in PV reporting.
src/EnergyPlus/HeatBalanceSurfaceManager.cc Triggers final surface heat balance re-pass when integrated PV is present.
Suppressed comments (1)

src/EnergyPlus/HeatBalanceSurfaceManager.cc:5223

  • This change adds a new condition (AnyCellIntegrationMode) that triggers an extra pass through CalcHeatBalanceOutsideSurf/InsideSurf at the end of the HVAC timestep. There are existing unit tests for HeatBalanceSurfaceManager behavior, but none appear to cover this new PV-triggered re-simulation path; adding a targeted unit/integration test (e.g., asserting that a non-zero QPVSysSource applied after the first pass affects SurfQsrcHist / surface temps on the final pass) would help prevent regressions of #11698.
    Photovoltaics::HasBuildingIntegratedPV(state, AnyCellIntegrationMode);

    if (LowTempRadSysOn || HighTempRadSysOn || HWBaseboardSysOn || SteamBaseboardSysOn || ElecBaseboardSysOn || CoolingPanelSysOn || SwimmingPoolOn ||
        AnyCellIntegrationMode) {
        // Solve the zone heat balance 'Detailed' solution
        // Call the outside and inside surface heat balances
        CalcHeatBalanceOutsideSurf(state);
        CalcHeatBalanceInsideSurf(state);

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/EnergyPlus/Photovoltaics.cc Outdated
@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 187de70

Regression Summary
  • EIO: 2
  • ESO Big Diffs: 2
  • MTR Small Diffs: 1
  • Table Big Diffs: 2
  • SSZ Big Diffs: 1
  • ZSZ Big Diffs: 1
  • Table String Diffs: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit 187de70

Regression Summary
  • EIO: 2
  • ESO Big Diffs: 2
  • MTR Small Diffs: 1
  • Table Big Diffs: 2
  • SSZ Big Diffs: 1
  • ZSZ Big Diffs: 1
  • Table String Diffs: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit a34535f

Regression Summary
  • EIO: 3
  • MDD: 7
  • MTD: 7
  • RDD: 7
  • ESO Big Diffs: 2
  • MTR Big Diffs: 1
  • Table Big Diffs: 2
  • BND: 3
  • Table Small Diffs: 1
  • Table String Diffs: 1
  • ESO Small Diffs: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit a34535f

Regression Summary
  • EIO: 3
  • MDD: 7
  • MTD: 7
  • RDD: 7
  • ESO Big Diffs: 2
  • MTR Big Diffs: 1
  • Table Big Diffs: 2
  • BND: 3
  • Table Small Diffs: 1
  • Table String Diffs: 1
  • ESO Small Diffs: 1

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.

Suppressed comments (2)

src/EnergyPlus/HeatBalanceSurfaceManager.cc:249

  • The new regression test only calls UpdatePVIntegrationSource and checks flags; it never exercises this resimulation routine or verifies that the updated sink changes surface temperatures/heat rates. Consequently, the ordering failure from #11698—and the possibility that a pending final pass is skipped—can still pass the tests. Add an integration-level test that runs the coupled surface/PV path and asserts the internal-source heat balance responds to PV extraction.
void ResimulateSurfaceHeatBalanceForPV(EnergyPlusData &state)

src/EnergyPlus/HVACManager.cc:1809

  • A pending PV surface resimulation does not keep the HVAC iteration loop alive. This function is only called when SimSelectedEquipment is entered, but PVSurfaceHeatBalanceResimFlag is not part of the loop condition in SimHVAC. During the call, the final PV calculation can set this flag and SimElecCircuitsFlag; the subsequent electric-manager pass then unconditionally clears SimElecCircuitsFlag on non-first iterations. For outside-face and exterior-cavity PV, no air/plant flag remains, so the loop exits with the newest sink unapplied and the resimulation is delayed until a later system timestep. Include the PV flag in the iteration gating or otherwise guarantee the pending surface pass runs before convergence is declared.
    HeatBalanceSurfaceManager::ResimulateSurfaceHeatBalanceForPV(state);

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit df88b68

Regression Summary
  • EIO: 3
  • MDD: 7
  • MTD: 7
  • RDD: 7
  • ESO Big Diffs: 2
  • MTR Big Diffs: 1
  • Table Big Diffs: 2
  • BND: 3
  • Table Small Diffs: 1
  • Table String Diffs: 1
  • ESO Small Diffs: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit df88b68

Regression Summary
  • EIO: 3
  • MDD: 7
  • MTD: 7
  • RDD: 7
  • ESO Big Diffs: 2
  • MTR Big Diffs: 1
  • Table Big Diffs: 2
  • BND: 3
  • Table Small Diffs: 1
  • Table String Diffs: 1
  • ESO Small Diffs: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit ac38247

Regression Summary
  • EIO: 3
  • MDD: 7
  • MTD: 7
  • RDD: 7
  • ESO Big Diffs: 2
  • MTR Big Diffs: 1
  • Table Big Diffs: 2
  • BND: 3
  • Table Small Diffs: 1
  • Table String Diffs: 1
  • ESO Small Diffs: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit ac38247

Regression Summary
  • EIO: 3
  • MDD: 7
  • MTD: 7
  • RDD: 7
  • ESO Big Diffs: 2
  • MTR Big Diffs: 1
  • Table Big Diffs: 2
  • BND: 3
  • Table Small Diffs: 1
  • Table String Diffs: 1
  • ESO Small Diffs: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit e5141a5

Regression Summary
  • EIO: 3
  • MDD: 7
  • MTD: 7
  • RDD: 7
  • ESO Big Diffs: 2
  • MTR Big Diffs: 1
  • Table Big Diffs: 2
  • BND: 3
  • Table Small Diffs: 1
  • Table String Diffs: 1
  • ESO Small Diffs: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit e5141a5

Regression Summary
  • EIO: 3
  • MDD: 7
  • MTD: 7
  • RDD: 7
  • ESO Big Diffs: 2
  • MTR Big Diffs: 1
  • Table Big Diffs: 2
  • BND: 3
  • Table Small Diffs: 1
  • Table String Diffs: 1
  • ESO Small Diffs: 1

@joseph-robertson
joseph-robertson marked this pull request as ready for review August 21, 2026 17:50
@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit cbe4eb6

Regression Summary
  • EIO: 3
  • MDD: 7
  • MTD: 7
  • RDD: 7
  • ESO Big Diffs: 2
  • MTR Big Diffs: 1
  • Table Big Diffs: 2
  • BND: 3
  • Table Small Diffs: 1
  • Table String Diffs: 1
  • ESO Small Diffs: 1

@github-actions

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit cbe4eb6

Regression Summary
  • EIO: 3
  • MDD: 7
  • MTD: 7
  • RDD: 7
  • ESO Big Diffs: 2
  • MTR Big Diffs: 1
  • Table Big Diffs: 2
  • BND: 3
  • Table Small Diffs: 1
  • Table String Diffs: 1
  • ESO Small Diffs: 1

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 3d2b4f6

Regression Summary
  • EIO: 3
  • MDD: 7
  • MTD: 7
  • RDD: 7
  • ESO Big Diffs: 2
  • MTR Small Diffs: 1
  • Table Big Diffs: 2
  • BND: 3
  • Table Small Diffs: 1
  • Table String Diffs: 1
  • ESO Small Diffs: 1

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit 3d2b4f6

Regression Summary
  • EIO: 3
  • MDD: 7
  • MTD: 7
  • RDD: 7
  • ESO Big Diffs: 2
  • MTR Small Diffs: 1
  • Table Big Diffs: 2
  • BND: 3
  • Table Small Diffs: 1
  • Table String Diffs: 1
  • ESO Small Diffs: 1

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on macos-14 for commit 4a65ec9

Regression Summary
  • EIO: 3
  • MDD: 7
  • MTD: 7
  • RDD: 7
  • ESO Big Diffs: 2
  • MTR Small Diffs: 1
  • Table Big Diffs: 2
  • BND: 3
  • Table Small Diffs: 1
  • Table String Diffs: 1
  • ESO Small Diffs: 1

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

⚠️ Regressions detected on ubuntu-24.04 for commit 4a65ec9

Regression Summary
  • EIO: 3
  • MDD: 7
  • MTD: 7
  • RDD: 7
  • ESO Big Diffs: 2
  • MTR Small Diffs: 1
  • Table Big Diffs: 2
  • BND: 3
  • Table Small Diffs: 1
  • Table String Diffs: 1
  • ESO Small Diffs: 1

@mitchute mitchute left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @joseph-robertson. I think this one is good, but we'll check regressions one more time before merging.

Comment on lines +171 to +177
// Surface-coupled PV must be initialized before its first temperature-dependent calculation.
if (state.dataPhotovoltaicState->GetInputFlag &&
state.dataInputProcessing->inputProcessor->getNumObjectsFound(state, "Generator:Photovoltaic") > 0) {
Photovoltaics::GetPVInput(state);
state.dataPhotovoltaicState->GetInputFlag = false;
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not proposing we change this now, just wondering why not integrate this with InitSuraceHeatBalance ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a good point. It might fit better there, but maybe the thinking was it's only for PV not for "all surfaces" and so maybe it doesn't?

}

for (int PVnum = 1; PVnum <= state.dataPhotovoltaic->NumPVs; ++PVnum) {
Photovoltaics::SimSurfaceCoupledPV(state, PVnum);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hitting this before resolving the outside and inside heat balance. Seems fine.

Comment on lines +251 to +269
void ResimulateSurfaceHeatBalanceForPV(EnergyPlusData &state)
{
// Repeat the coupled surface and PV calculations after electric simulation changes the PV heat sink.
if (!state.dataHVACGlobal->PVSurfaceHeatBalanceResimFlag) {
return;
}

for (int pass = 1; pass <= 2; ++pass) {
state.dataHVACGlobal->PVSurfaceHeatBalanceResimFlag = false;
CalcHeatBalanceOutsideSurf(state);
CalcHeatBalanceInsideSurf(state);
for (int PVnum = 1; PVnum <= state.dataPhotovoltaic->NumPVs; ++PVnum) {
Photovoltaics::SimSurfaceCoupledPV(state, PVnum);
}
if (!state.dataHVACGlobal->PVSurfaceHeatBalanceResimFlag) {
break;
}
}
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New function to resim the outside and and inside surface heat balances, and then (?) resim the PV after. That's backwards from what you did earlier. Does it matter?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't it true that by the time the simulation has hit this point that it has already gone through the inside and outside heat balance? So, why would it need to do another round of that (for all surfaces) if the point here is that something in the PV systems has to update and another round of the heat balance has to take place? In UpdateFinalSurfaceHeatBalance, another round is needed because those systems are running at the HVAC time step and the zone heat balance needs to update based on the "average" of what has been happening. Since PV is running at the HVAC time step level, is something similar happening here? Or is there a different reason that I'm not understanding yet? I guess, why not call SimSurfaceCoupledPV and then just use the UpdateFinalSurfaceHeatBalance with an updated flag?

}

for (int pass = 1; pass <= 2; ++pass) {
state.dataHVACGlobal->PVSurfaceHeatBalanceResimFlag = false;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, you set PVSurfaceHeatBalanceResimFlag to false, and then inside SimSurfaceCoupledPV it can drop into UpdatePVIntegrationSource, which then evaluates whether another iteration is needed. But only up to a max of 2. Seems OK, I think.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the pass max of 2 due to the impact on the outside surface heat balance and needing it to better update?

@mitchute

mitchute commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

@RKStrand maybe you could take a quick look at this one, if you get a chance?

@RKStrand

RKStrand commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@mitchute Sure, I'll try to look it over tomorrow, hopefully in the morning.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Defect Includes code to repair a defect in EnergyPlus

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Possible issue with ConstructionProperty:InternalHeatSource not being properly integrated with the surface heat balance

5 participants