Modified LWR Exchange with Surrounding Surfaces with Finite Difference Method#11083
Modified LWR Exchange with Surrounding Surfaces with Finite Difference Method#11083Myoldmopar merged 9 commits intodevelopfrom
Conversation
|
|
Defect test file: |
|
The following diagrams show the surface temperatures and LWR exchange flux terms of the wall and the roof surface before and after the fix. January results for a wall before the fix: January results for a wall after the fix: The outside face temperature and the LWR exchange flux values align well between the conduction transfer function (CTF) and the conduction finite difference (FND) heat balance algorithm methods. |
Nigusse
left a comment
There was a problem hiding this comment.
Expanded LWR exchange with Surrounding surfaces for the Condition Finite Difference Heat Balance Algorithm.
| Array1D<Real64> HSkyFD; // Sky Convection Coefficient | ||
| Array1D<Real64> HGrndFD; // Ground Convection Coefficient | ||
| Array1D<Real64> HAirFD; // Air Convection Coefficient | ||
| Array1D<Real64> HSurrFD; // Surrounding Surfaces LWR Exchange Coefficient |
There was a problem hiding this comment.
Defines an array variable for LWR exchange heat transfer coefficient between an exterior surface and the surrounding surfaces it sees.
| if (state.dataSurface->Surface(Surf).SurfHasSurroundingSurfProperty) { | ||
| TsurrSurface = state.dataSurface->Surface(Surf).SrdSurfTemp; | ||
| } | ||
|
|
There was a problem hiding this comment.
Sets an average surface temperature of the surrounding surfaces seen by the exterior surface, for use locally.
| Real64 const hrad(state.dataMstBal->HAirFD(Surf)); | ||
| Real64 const hsky(state.dataMstBal->HSkyFD(Surf)); | ||
| Real64 const hgnd(state.dataMstBal->HGrndFD(Surf)); | ||
| Real64 const hsurr(state.dataMstBal->HSurrFD(Surf)); |
There was a problem hiding this comment.
Defines and sets dimensions of the LWR heat transfer coefficient variable.
| Real64 const hsurr(state.dataMstBal->HSurrFD(Surf)); | ||
| Real64 const Toa(state.dataMstBal->TempOutsideAirFD(Surf)); | ||
| Real64 const Tgnd(Tgndsurface); | ||
| Real64 const Tsurr(TsurrSurface); |
There was a problem hiding this comment.
Sets the average temperature of the surrounding surfaces seen by an exterior surface.
| TDT_i = (TDT_p + (QRadSWOutFD + hgnd * Tgnd + (hconvo + hrad) * Toa + hsky * Tsky) * Rlayer) / | ||
| (1.0 + (hconvo + hgnd + hrad + hsky) * Rlayer); | ||
| TDT_i = (TDT_p + (QRadSWOutFD + hgnd * Tgnd + (hconvo + hrad) * Toa + hsky * Tsky + hsurr * Tsurr) * Rlayer) / | ||
| (1.0 + (hconvo + hgnd + hrad + hsky + hsurr) * Rlayer); |
There was a problem hiding this comment.
Adds the constant term (Boundary Condition) to an exterior surface temperature calculation equation that accounts for the effects of the surrounding surfaces' temperature.
| state.dataHeatBalSurf->SurfHAirExt(SurfNum) = 0.0; | ||
| state.dataHeatBalSurf->SurfHSkyExt(SurfNum) = 0.0; | ||
| state.dataHeatBalSurf->SurfHGrdExt(SurfNum) = 0.0; | ||
| state.dataHeatBalSurf->SurfHSrdSurfExt(SurfNum) = 0.0; |
There was a problem hiding this comment.
Initializes the LWR exchange variable to 0.0.
| state.dataHeatBalSurf->SurfHSkyExt(SurfNum) = 0.0; | ||
| state.dataHeatBalSurf->SurfHGrdExt(SurfNum) = 0.0; | ||
| state.dataHeatBalSurf->SurfQRadLWOutSrdSurfs(SurfNum) = 0.0; | ||
| state.dataHeatBalSurf->SurfHSrdSurfExt(SurfNum) = 0.0; |
There was a problem hiding this comment.
Initializes the LWR exchange heat transfer coefficient variable to 0.0.
| state.dataMstBal->HSkyFD(SurfNum) = state.dataHeatBalSurf->SurfHSkyExt(SurfNum); | ||
| state.dataMstBal->HGrndFD(SurfNum) = state.dataHeatBalSurf->SurfHGrdExt(SurfNum); | ||
| state.dataMstBal->HAirFD(SurfNum) = state.dataHeatBalSurf->SurfHAirExt(SurfNum); | ||
| state.dataMstBal->HSurrFD(SurfNum) = state.dataHeatBalSurf->SurfHSrdSurfExt(SurfNum); |
There was a problem hiding this comment.
Assigns a value to the LWR exchange with the surrounding surface heat transfer coefficient variable for use with the Conduction Finite Difference method.
| state.dataMstBal->HSkyFD(SurfNum) = state.dataHeatBalSurf->SurfHSkyExt(SurfNum); | ||
| state.dataMstBal->HGrndFD(SurfNum) = state.dataHeatBalSurf->SurfHGrdExt(SurfNum); | ||
| state.dataMstBal->HAirFD(SurfNum) = state.dataHeatBalSurf->SurfHAirExt(SurfNum); | ||
| state.dataMstBal->HSurrFD(SurfNum) = state.dataHeatBalSurf->SurfHSrdSurfExt(SurfNum); |
| state.dataMstBal->HSkyFD(SurfNum) = state.dataHeatBalSurf->SurfHSkyExt(SurfNum); | ||
| state.dataMstBal->HGrndFD(SurfNum) = state.dataHeatBalSurf->SurfHGrdExt(SurfNum); | ||
| state.dataMstBal->HAirFD(SurfNum) = state.dataHeatBalSurf->SurfHAirExt(SurfNum); | ||
| state.dataMstBal->HSurrFD(SurfNum) = state.dataHeatBalSurf->SurfHSrdSurfExt(SurfNum); |
|
|
|
@Nigusse @Myoldmopar it has been 34 days since this pull request was last updated. |
…Surf_FND_Issue9881
|
One last pull since the last commit was weeks ago, but this should be good to go in now. Sorry for the delay. |
|
The documentation issue is fixed separately, and no reason to do anything else here. Thanks @Nigusse |




Pull request overview
Description of the purpose of this PR
Pull Request Author
Reviewer