Mathematical Models Description
"Reciprocating compressor" description
Conditions:
1. hRfrOut = hRfrIn+(R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEffIsen(rpOutIn,tDPOut) *(1-rwLoss)*rwIn(rmRfr)/rmRfr 2. wIn = mRfr*(hRfrOut-hRfrIn)/(1-rwLoss) 3. mRfr = vDisp*rEffVol(rpOutIn,tDPOut)/R_VgasTP(tRfrIn,pRfrIn)*rmRfrhRfrOut is calculated in detail by:
pRfrIn = R_PsatgasT(tDPIn) pRfrOut = R_PsatgasT(tDPOut) rpOutIn = pRfrOut/pRfrIn rEffIsen = rEffIsen(rpOutIn,tDPOut) rwIn = rwIn(rmRfr) tRfrIn = R_TgasHP(hRfrIn,pRfrIn) sRfrIn = R_SgasTP(tRfrIn,pRfrIn) hRfrOut = hRfrIn+(R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEffIsen*(1-rwLoss)*rwIn/rmRfrLinearizes dh = hRfrOut - hRfrIn with respect to tDPIn and tDPOut:
dh(tDPIn,tDPOut) = A_dh + B_dh * tDPIn + C_dh * tDPOutEquations:
1. B_dh *tDPIn +C_dh *tDPOut + hRfrIn - hRfrOut = -A_dh 2. mRfr *hRfrIn -mRfr *hRfrOut +(1-rwLoss) *wIn = 0 3. mRfr = vDisp*rEffVol/R_VgasTP(tRfrIn,pRfrIn)*rmRfrIf rmRfr = 0:
1. hRfrIn - hRfrOut = 0Relations:
1. rmRfr = rmRfr<+(iStep-1)/(nStep-1)*(1-rmRfr<) 2. qRfr = wIn*(1-rwLoss) 3. iStep = iStep(current)
"Cooled reciprocating compressor" description
Conditions:
1. mRfr*hRfrIn + mSec*cpSec*tSecIn + wIn = mRfr*hRfrOut + mSec*cpSec*tSecOut 2. wIn = mRfr*(R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEffIsen(rpOutIn,tDPOut) *rwIn(rmRfr,rpOutIn)/rmRfr 3. mSec*cpSec*(tSecOut-tSecIn) = wIn*rwLoss(rmRfr,rpOutIn) 4. mRfr = vDisp*rEffVol(rpOutIn,tDPOut)/R_VgasTP(tRfrIn,pRfrIn)*rmRfr pRfrIn = R_PsatgasT(tDPIn) pRfrOut = R_PsatgasT(tDPOut) rpOutIn = pRfrOut/pRfrIn rEffIsen = rEffIsen(rpOutIn,tDPOut) tRfrIn = R_TgasHP(hRfrIn,pRfrIn) sRfrIn = R_SgasTP(tRfrIn,pRfrIn) specWA = (R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEffIsen*rwIn(rpOutIn,rmRfr)/rmRfr specW = wIn/mRfr is linearised to A_w+B_w*tDPIn+C_w*tDPOut mSec*cpSec*(tSecOut-tSecIn) = q = wIn*rwLoss(rmRfr,rpOutIn)Equations:
1. mSec*cpSec *tSecIn -mSec*cpSec *tSecOut +mRfr *hRfrIn -mRfr *hRfrOut + wIn = 0 2. mRfr*B_w *tDPIn +mRfr*C_w *tDPOut - wIn = -mRfr*A_w 3. mSec*cpSec *tSecIn -mSec*cpSec *tSecOut +rwLoss *wIn = 0 4. mRfr = vDisp*rEffVol(rpOutIn,tDPOut)/R_VgasTP(tRfrIn,pRfrIn)*rmRfrIf rmRfr = 0:
1. hRfrIn - hRfrOut = 0 3. tSecIn - tSecOut = 0If mSec = 0:
3. tSecIn = tSecIn(previous)Relations:
1. rmRfr = rmRfr<+(iStep-1)/(nStep-1)*(1-rmRfr<) 2. q = mSec*cpSec*(tSecOut-tSecIn) 3. qRfr = mRfr*(hRfrOut-hRfrIn)
"Speed controlled compressor" description
This is a compressor with a capacity that can be controlled through the parameter nRot.Conditions:
1. hRfrOut = hRfrIn+(R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEffIsen(rpOutIn,nRot)*(1-rwLoss) 2. wIn = mRfr*(hRfrOut-hRfrIn)/(1-rwLoss) 3. mRfr = volDisp*nRot*rEffVol(rpOutIn,nRot)/R_VgasTP(tRfrIn,pRfrIn)hRfrOut is calculated in detail by:
pRfrIn = R_PsatgasT(tDPIn) pRfrOut = R_PsatgasT(tDPOut) rpOutIn = pRfrOut/pRfrIn rEffIsen = rEffIsen(rpOutIn,nRot) rwLoss = rwLoss(rpOutIn,nRot) tRfrIn = R_TgasHP(hRfrIn,pRfrIn) sRfrIn = R_SgasTP(tRfrIn,pRfrIn) hRfrOut = hRfrIn+(R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEffIsen*(1-rwLoss)Linearizes dh = hRfrOut - hRfrIn with respect to tDPIn and tDPOut:
dh(tDPIn,tDPOut) = A_dh + B_dh * tDPIn + C_dh * tDPOutEquations:
1. B_dh *tDPIn +C_dh *tDPOut + hRfrIn - hRfrOut = -A_dh 2. mRfr *hRfrIn -mRfr *hRfrOut +(1-rwLoss) *wIn = 0 3. mRfr = volDisp*nRot*rEffVol/R_VgasTP(tRfrIn,pRfrIn)If nRot = 0:
1. hRfrIn - hRfrOut = 0Relations:
1. nRot = nRotMn+(iStep-1)/(nStep-1)*(nRotMx-nRotMn) 2. qRfr = wIn*(1-rwLoss) 3. iStep = iStep(current)
"Cooled speed controlled compressor" description
This is a compressor with a capacity that can be controlled through the parameter nRot. Is is cooled through heat transfer with a secondary fluid flow.Conditions:
1. mRfr*hRfrIn + mSec*cpSec*tSecIn + wIn = mRfr*hRfrOut + mSec*cpSec*tSecOut 2. wIn = mRfr*(R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEffIsen(rpOutIn,nRot) 3. mSec*cpSec*(tSecOut-tSecIn) = wIn*rwLoss(rpOutIn,nRot) 4. mRfr = volDisp*nRot*rEffVol(rpOutIn,nRot)/R_VgasTP(tRfrIn,pRfrIn)Specific shaft power specW = wIn/mRfr is calculated as follows:
pRfrIn = R_PsatgasT(tDPIn) pRfrOut = R_PsatgasT(tDPOut) rpOutIn = pRfrOut/pRfrIn rEffIsen = rEffIsen(rpOutIn,nRot) tRfrIn = R_TgasHP(hRfrIn,pRfrIn) sRfrIn = R_SgasTP(tRfrIn,pRfrIn) specW = (R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEffIsenLinearization:
specW = A_w+B_w*tDPIn+C_w*tDPOutEquations:
1. mSec*cpSec *tSecIn -mSec*cpSec *tSecOut +mRfr *hRfrIn -mRfr *hRfrOut + wIn = 0 2. mRfr*C1 *tDPIn +mRfr*C2 *tDPOut - wIn = -mRfr*C3 3. mSec*cpSec *tSecIn -mSec*cpSec *tSecOut +rwLoss *wIn = 0 4. mRfr = volDisp*nRot*rEffVol(rpOutIn,tDPOut)/R_VgasTP(tRfrIn,pRfrIn)If nRot = 0:
1. hRfrIn - hRfrOut = 0 3. tSecIn - tSecOut = 0If mSec = 0:
3. tSecIn = tSecIn(previous)Relations:
1. nRot = nRotMn+(iStep-1)/(nStep-1)*(nRotMx-nRotMn) 2. q = mSec*cpSec*(tSecOut-tSecIn) 3. qRfr = mRfr*(hRfrOut-hRfrIn)
"Screw compressor" description
Assumption: tRfrOut = tOilOutConditions:
1. mRfr*hRfrIn + wIn*(1-rwLoss) + mOil*cpOil*tOilIn = mRfr*hRfrOut + mOil*cpOil*tOilOut 2. wIn = mRfr*(R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEffIsen(rpOutIn,tDPOut) *rwIn(rmRfr)/rmRfr 3. tOilOut = tRfrOut = R_TgasHP(hRfrOut,pRfrOut) 4. mRfr = vDisp*rEffVol(rpOutIn,tDPOut)*rmRfr/R_VgasTP(tRfrIn,pRfrIn)specW = wIn/mRfr is calculated as follows:
pRfrIn = R_PsatgasT(tDPIn) pRfrOut = R_PsatgasT(tDPOut) rpOutIn = pRfrOut/pRfrIn rEffIsen = rEffIsen(rpOutIn,tDPOut) tRfrIn = R_TgasHP(hRfrIn,pRfrIn) sRfrIn = R_SgasTP(tRfrIn,pRfrIn) specW = (R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEffIsen*rwIn(rpOutIn,rmRfr)/rmRfr specW(tDPIn,tDPOut) is linearised to A_w + B_w*tDPIn+C_w*tDPOut Linearizes hRfrOut = R_HgasTP(tOilOut,R_PsatgasT(tDPOut)) = A_h + B_h*tOilOut+C_h*tDPOutEquations:
1. mcpOil *tOilIn -mcpOil *tOilOut +mRfr *hRfrIn -mRfr *hRfrOut +(1-rwLoss) *wIn = 0 2. mRfr*b_w *tDPIn +mRfr*C_w *tDPOut - wIn = -mRfr*A_w 3. C_h *tDPOut +B_h *tOilOut - hRfrOut = -A_h 4. mRfr = vDisp*rEffVol(rpOutIn,tDPOut)*rmRfr/R_VgasTP(tRfrIn,pRfrIn)If rmRfr = 0:
1. hRfrIn - hRfrOut = 0 2. wIn = 0 3. tOilIn - tOilOut = 0Relations:
1. rmRfr = rmRfr<+(iStep-1)/(nStep-1)*(1-rmRfr<) 2. mcpOil = mOil*cpOil 3. qOil = mcpOil*(tOilOut-tOilIn) 4. qRfr = wIn*(1-rwLoss)-qOil
"Screw compressor with economizer port" description
Conditions:
1. mRfrIn*hRfrIn + mRfrEco*hRfrEco + wIn*(1-rwLoss) + mOil*cpOil*tOilIn = mRfrOut*hRfrOut +mOil*cpOil*tOilOut 2. wIn = mRfrIn*(R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)*(1/rEffIsen(rpOutIn,tDPOut)+dra) *rwIn(rmRfr)/rmRfr 3. tOilOut = tRfrOut = R_TgasHP(hRfrOut,pRfrOut) 4. mRfrIn = vDisp*rEffVol(rpOutIn,tDPOut)*rmRfr/R_VgasTP(tRfrIn,pRfrIn) 5. mRfrEco*(tRfrEco+t0->K)/pInt = mRfrIn*(tRfrIn+t0->K)/pRfrIn *(1/rVolEco-(pRfrIn/pInt)**(1/rPoly)) 6. mRfrOut = mRfrIn + mRfrEco with t0->K = 273.15wIn/mRfrIn = specW is calculated as follows:
pRfrIn = R_PsatgasT(tDPIn) pInt = R_PsatgasT(tDPInt) pRfrOut = R_PsatgasT(tDPOut) rpOutIn = pRfrOut/pRfrIn tIntIn = pRfrIn*rVolE**rPoly rEffIsen = rEffIsen(rpOutIn,tDPOut) tRfrIn = R_TgasHP(hRfrIn,pRfrIn) sRfrIn = R_SgasTP(tRfrIn,pRfrIn) fPoly = 1/rPoly cPoly = 1-fPoly wIn = pRfrIn*vRfr/r*((pRfrOut/pRfrIn)**r-1) wOut = pRfrIn*vRfr/r*((pIntIn/pRfrIn)**r-1) + vRfr*(pRfrIn/pIntIn)**s*(pInt-pIntIn) + pInt*vRfr/r*(pRfrIn/pIntIn)**s*((pRfrOut/pInt)**r-1) specW = (R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)*(1/rEffIsen(rpOutIn,tDPOut)+wOut/wIn-1) *rwIn(rmRfr)/rmRfrLinearizing:
specW = A_w + B_w*tDPIn+C_w*tDPEco+D_w*tDPOutAlso linearizing:
hRfrOut = R_HgasTP(tOilOut,pRfrOut) = A_h + B_h*tOilOut+C_h*tDPOutEquations:
1. mcpOil *tOilIn -mcpOil *tOilOut +mRfrIn *hRfrIn +mRfrEco *hEco -mRfrOut *hRfrOut +(1-rwLoss) *wIn = 0 2. mRfrIn*B_w *tDPIn +mRfrIn*C_w *tDPEco +mRfrIn*D_w *tDPOut - wIn = -mRfrIn*A_w 3. C_h *tDPOut +B_h*tOilOut - hRfrOut = -A_h 4. mRfrIn = vDisp*rEffVol(rpOutIn,tDPOut)*rmRfr/R_VgasTP(tRfrIn,pRfrIn) 5. (tRfrIn+273.15)/pRfrIn*(1/rVolEco-(pRfrIn/pInt)**(1/rPoly)) *mRfrIn -(tEco+273.15)/pInt *mRfrEco = 0 6. mRfrIn + mRfrEco - mRfrOut = 0If rmRfr = 0:
1. hRfrIn - hRfrOut = 0 2. wIn = 0 3. tOilIn - tOilOut = 0Relations:
1. rmRfr = rmRfr<+(iStep-1)/(nStep-1)*(1-rmRfr<) 2. mcpOil = mOil*cpOil 3. qOil = mcpOil*(tOilOut-tOilIn) 4. qRfr = wIn*(1-rwLoss)-qOil
"Turbo compressor" description
Assumption of no heat loss.Conditions:
1. hRfrOut = hRfrIn + (R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEff 2. wIn = mRfr*(hRfrOut-hRfrIn) 3. mRfr = vRfr/R_VgasTP(tRfrIn,pRfrIn)dhRfr = specW = wIn/mRfr calculated as follows:
pRfrIn = R_PsatgasT(tDPIn) pRfrOut = R_PsatgasT(tDPOut) rpOutIn = pRfrOut/pRfrIn rrPr = rpOutIn/rPrNom tRfrIn = R_TgasHP(hRfrIn,pRfrIn) sRfrIn = R_SgasTP(tRfrIn,pRfrIn) rEff = rEffNom*rEff(rrPr,angPre) specW = (R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEffLinearizes:
specW = (R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEff = A_w + B_w*tDPIn + C_w*tDPOutEquations:
1. B_w *tDPIn +C_w *tDPOut + hRfrIn - hRfrOut = -A_w 2. mRfr *hRfrIn -mRfr *hRfrOut + wIn = 0 3. mRfr = vRfr/R_VgasTP(tRfrIn,pRfrIn)If angPre = 0:
1. hRfrIn - hRfrOut = 0Relations:
1. vRfr = vRfrNom*rvRfr(rrPr,angPre) 2. qRfr = mRfr*(hRfrOut-hRfrIn) 3. wIn = qRfr
"Cooled turbo compressor" description
Conditions:
1. mRfr*hRfrIn + mSec*cpSec*tSecIn + wIn = mRfr*hRfrOut + mSec*cpSec*tSecOut 2. wIn = mRfr*(R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEff 3. mSec*cpSec*(tSecOut-tSecIn) = wIn*rwLoss(angPre,rpOutIn) 4. mRfr = vRfr/R_VgasTP(tRfrIn,pRfrIn)specW = wIn/mRfr calculated as follows:
pRfrIn = R_PsatgasT(tDPIn) pRfrOut = R_PsatgasT(tDPOut) rpOutIn = pRfrOut/pRfrIn rrPr = rpOutIn/rPrNom tRfrIn = R_TgasHP(hRfrIn,pRfrIn) sRfrIn = R_SgasTP(tRfrIn,pRfrIn) rEff = rEffNom*rEff(rrPr,angPre) specW = (R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEffLinearizes:
specW = wIn/mRfr = (R_HgasSP(sRfrIn,pRfrOut)-hRfrIn)/rEff = A_w + B_w*tDPIn+C_w*tDPOut 3. mSec*cpSec*(tSecOut-tSecIn) = q = wIn*rwLoss(rmRfr,rrpOutIn) = mRfr*specW*rwLoss specQ = q/mRfr = specW*rwLoss(rmRfr,pRfrOut/(pRfrIn*rPNom)) Linearizes specQ = A_q + B_q*pRfrIn+C_q*pRfrOutEquations:
1. mSec*cpSec *tSecIn - mSec*cpSec *tSecOut +mRfr *hRfrIn -mRfr *hRfrOut + wIn = 0 2. mRfr*B_w *tDPIn +mRfr*C_w *tDPOut - wIn = -mRfr*A_w 3. mRfr*B_q *tDPIn +mRfr*C_q *tDPOut +mSec*cpSec *tSecIn -mSec*cpSec *tSecOut = -mRfr*A_q 4. mRfr = vRfr/R_VgasTP(tRfrIn,pRfrIn)If angPre = 0:
1. hRfrIn - hRfrOut = 0 2. wIn = 0 3. tSecIn - tSecOut = 0If mSec = 0:
3. tSecIn = tSecIn(previous)Relations:
1. vRfr = vRfrNom*rvRfr(rrPr,angPre) 2. qRfr = mRfr*(hRfrOut-hRfrIn) 3. q = mSec*cpSec*(tSecOut-tSecIn) 4. tSecAv = 0.5*(tSecIn+tSecOut)
"Pump with preset mass flow rate" description
Equation:
If turned on ('+'):
1. mSec = mSec+If turned off ('-'):
1. mSec = 0
"Pump with preset mass flow rate and heat produced" description
Conditions when on:
1. q = mSec*cpSec*(tSecOut-tSecIn) 2. mSec = mSec+Equations: If on ('+'):
1. -mSec*cpSec *tSecIn +mSec*cpSec *tSecOut = q 2. mSec = mSec+If off ('-'):
1. tSecIn - tSecOut = 0 2. mSec = 0
"Pump with given characteristics" description
Conditions:
1. q = vSec*dp(vSec,nRot)/rEff(vSec,nRot) = mSec*cp*(tSecOut-tSecIn) 2. pRfrOut - pRfrIn = dp(vSec,nRot)Linearizes:
dp(vSec,nRot) = C1*vSec + C2with:
C1 = (dp(vSec+dv)-dp(vSec))/dv C2 = dp(vSec) - C1*vSec with dv = 0.01*vSec and vSec = mSec/densSecEquations:
1. -cpSec *tSecIn +cpSec *tSecOut = dp/(densSec*rEff) 2. - pRfrIn + pRfrOut -C1/densSec *mSec = C2If nRot = 0:
1. tSecIn - tSecOut = 0 2. mSec = 0Relations:
1. wIn = q/rwLossComment: It is important to give vSec a good initial value to enter the characteristic properly. Note that for capacity control the state should normally be set to "Maximum" in stead of "On" to turn on the pump.
"Refrigerant pump" description
Equation:
If state is on ('+'):
1. mRfr = mRfr+If state is off ('-'):
1. mRfr = 0
"Speed controlled refrigerant pump" description
Conditions:
1. q = vRfr*dp(vRfr,nRot)/rEff(vRfr,nRot) = mRfr*(hRfrOut-hRfrIn) 2. pRfrOut - pRfrIn = dp(vRfr,nRot)Linearizes:
dp(vRfr,nRot) = C1*vRfr + C2with:
C1 = (dp(vRfr+dv)-dp(vRfr))/dv C2 = dp(vRfr) - C1*vRfr with dv = 0.01*vRfr and vRfr = mRfr/densRfrEquations:
1. -cpRfr *tRfrIn +cpRfr *tRfrOut = dp/(densRfr*rEff) 2. - pRfrIn + pRfrOut -C1/densRfr *mRfr = C2If nRot = 0:
1. tDPIn - tDPOut = 0 2. mRfr = 0Relations:
1. wIn = q/rwLossComment: It is important to give vRfr a good initial value to enter the characteristic properly. Note that for capacity control the state should normally be set to "Maximum" in stead of "On" to turn on the pump.
"Standard motor" description
Conditions:
1. wOut = wIn*rEffEquation:
1. rEff *wIn - wOut = 0Relation:
1. rw = wOut/wNom
"Motor cooled by secondary fluid" description
Conditions:
1. wOut = wIn*rEff 2. mSec*cp*(tSecOut-tSecIn) = (1-rEff)*rwLoss*wInEquations:
1. rEff *wIn - wOut = 0 2. -mSec*cpSec *tSecIn +mSec*cpSec *tSecOut +(rEff-1)*rwLoss *wIn = 0If mSec = 0: If sec. medium is cooled by refrigerant:
1. tSecOut = tSecOut(previous)If sec. medium is cooled by sec. medium:
1. tSecIn - tSecOut = 0Relation:
1. rw = wOut/wNom
"Motor cooled by suction gas" description
Conditions:
1. wOut = wIn*rEff 2. mRfr*(hRfrOut-hRfrIn) = (1-rEff)*wInEquations:
1. rEff *wIn - wOut = 0 2. -mRfr *hRfrIn +mRfr *hRfrOut +(rEff-1) *wIn = 0If mRfr = 0:
2. hRfrIn - hRfrOut = 0Relations:
1. rw = wOut/wNom
"Electrical power line" description
Conditions:
1. wOut = wIn-dwdl_*lCblEquations:
1. wIn - wOut = dwdl_*lCblRelations:
1. dwdl_ = f(UCbl)
"Standard heat exchanger" description
Conditions:
1. q = ua*(tHiIn-tLoOut-(tHiOut-tLoIn))/ln((tHiIn-tLoOut)/(tHiOut-tLoIn)) 2. q = mcpHi*(tHiIn-tHiOut) 3. q = mcpLo*(tLoOut-tLoIn)Equations: (with R = exp(ua*(1/mcpHi-1/mcpLo))):
1. tHiIn -R *tHiOut +R *tLoIn - tLoOut = 0 2. mcpHi *tHiIn -mcpHi *tHiOut +mcpLo *tLoIn -mcpLo *tLoOut = 0When mcpHi approaches mcpLo equation 1 will degenerate into equation 2 and then arithmetic mean temperature differences must be used in the heat transfer equation. When abs(R-1) < 0.01 the following is used (with s = ua/(2*mcpHi)):
1. (1-s) *tHiIn -(1+s) *tHiOut + s *tLoIn + s *tLoOut = 0If mSecHi = 0 or mSecLo = 0: When mSecLo is in a closed circuit (mSecHi arbitrary):
1. tHiIn - tHiOut = 0 2. tHiIn - tLoOut = 0When mSecHi is in a closed circuit and mSecLo in an open one:
1. tHiOut - tLoIn = 0 2. tLoIn - tLoOut = 0When both mSecHi and mSecLo is in an open circuit:
1. tHiIn - tHiOut = 0 2. tLoIn - tLoOut = 0Relations:
1. mcpHi = mSecHi*cpSecHi(tHiAv) 2. mcpLo = mSecLo*cpSecLo(tLoAv) 3. ua = u(mSecHi,mSecLo)*a 4. q = mcpHi*(tHiIn-tHiOut) 5. tHiAv = 0.5*(tHiIn+tHiOut) 6. tLoAv = 0.5*(tLoIn+tLoOut) 7. q_a = q/a 8. dtLmtd = q/ua
"Accurate heat exchanger" description
This is a model for accurate calculation of normal heat exchangers.
It calculates both heat transfer and pressure drop.
It must be used with counter flow.
The exchanger is divided into nS number of sections (max: 50). Based upon inlet and outlet conditions for both fluids, the conditions at intersectional points are calculated with an internal iteration accounting for non-linearities. Conditions:
1. q = ua*(tHiIn-tLoOut-(tHiOut-tLoIn))/ln((tHiIn-tLoOut)/(tHiOut-tLoIn)) 2. q = mcpHi*(tHiIn-tHiOut) 3. q = mcpLo*(tLoOut-tLoIn) 1. ua*((tHiIn-tLoOut-(tHiOut-tLoIn))/ln((tHiIn-tLoOut)/(tHiOut-tLoIn)) = mSecLo*cpSecLo*(tLoOut-tLoIn) = qThe ua value is an average value accounting both for varying thermal properties over the heat exchanger and deviations from the ideal exponential shape of the temperature difference. ua is calculated from summing heat transfer contributions dq(iS) from all sections:
q = dq(1) + dq(2) + ... + dq(nS) dq(iS) = mSecHi*cpSecHi(iS)*(tHiIn(iS)-tHiOut(iS+1)) = u(iS)a/nS*(tHiIn(iS)-tLoOut(iS)-(tHiOut(iS+1)-tLoIn(iS+1)) /ln((tHiIn(iS)-tLoOut(iS))/(tHiOut(iS+1)-tLoIn(iS+1))) dpHi(iS) = dpdl(mHi,0.5*(tHi(iS-1)+tHi(iS-1)))*lHi/nS dpLo(iS) = dpdl(mLo,0.5*(tLo(iS-1)+tLo(iS-1)))*lLo/nS iS - Section number (Downstream for heat donor, upstream for heat receptor) tHiIn(iS) - Heat donor temperature at inlet of section iS tLoOut(iS) - Heat receptor temperature at outlet of section iS. u(iS) - Heat transfer coefficient for section number iS.ua is then calculated from:
ua = q/((tHiIn-tLoOut-(tHiOut-tLoIn))/ln((tHiIn-tLoOut)/(tHiOut-tLoIn)) R = exp(ua*(1/(mSecHi*cpSecHi)-1/(mSecLo*cpSecLo)))These values are calculated from a set of algebraic equations:
R(iS) *tSecLo(iS+1) -tSecLo(iS) + tSecHi(iS) -R *tSecHi(iS+1) = 0, iS = 1,nS mSecHi*cpSecHi(iS)*(tSecHi(iS)-tSecHi(iS+1)) = mSecLo*cpSecLo(iS)*(tSecLo(iS)-tSecLo(iS+1)), iS = 1,nS where R(iS) = exp(u(iS)*a/nS*(1/(mSecHi*cpSecHi(iS))-1/(mSecLo*cpSecLo(iS)))) and u(iS)*a = 1/(1/(uHi(iS)*aHi)+1/(uLo(iS)*aLo))plus:
tSecHi(1) = tHiIn tSecLo(nS+1) = tLoIn 2. mRfr*(hRfrIn-hRfrOut) = mSec*cpSec*(tSecOut-tSecIn) 3. pHiIn - pHiOut = dpHi 4. pLoIn - pLoOut = dpLoEquations:
1. R*cpRfr *tSecIn -cpRfr *tSecOut + hRfrIn -R *hRfrOut = h0Rfr*(1-R) 2. mSec*cpSec *tSecIn -mSec*cpSec *tSecOut +mRfr *hRfrIn -mRfr *hRfrOut = 0 3. pHiIn - pHiOut = dpHi 4. pLoIn - pLoOut = dpLoEquations: (with R = exp(ua*(1/mcpHi-1/mcpLo))):
1. tHiIn -R *tHiOut +R *tLoIn - tLoOut = 0 2. mcpHi *tHiIn -mcpHi *tHiOut +mcpLo *tLoIn -mcpLo *tLoOut = 0When mcpHi approaches mcpLo equation 1 will degenerate into equation 2 and then arithmetic mean temperature differences must be used in the heat transfer equation. When abs(R-1) < 0.01 the following is used (with s = ua/(2*mcpHi)):
1. (1-s) *tHiIn -(1+s) *tHiOut + s *tLoIn + s *tLoOut = 0If mSecHi = 0 or mSecLo = 0: When mSecLo is in a closed circuit (mSecHi arbitrary):
1. tHiIn - tHiOut = 0 2. tHiIn - tLoOut = 0When mSecHi is in a closed circuit and mSecLo in an open one:
1. tHiOut - tLoIn = 0 2. tLoIn - tLoOut = 0When both mSecHi and mSecLo is in an open circuit:
1. tHiIn - tHiOut = 0 2. tLoIn - tLoOut = 0If mSecHi = 0:
3. pHiIn - pHiOut = 0If mSecLo = 0:
4. pLoIn - pLoOut = 0Relations:
1. mcpHi = mSecHi*cpSecHi(tHiAv) 2. mcpLo = mSecLo*cpSecLo(tLoAv) 3. ua = u(mSecHi,mSecLo)*a 4. q = mcpHi*(tHiIn-tHiOut) 5. tHiAv = 0.5*(tHiIn+tHiOut) 6. tLoAv = 0.5*(tLoIn+tLoOut) 7. q_a = q/a 8. dtLmtd = q/ua
"Rotating heat exchanger" description
Conditions:
1. rEff = (tLoOut-tLoIn)/(tHiIn-tLoIn) 2. q = mcpHi*(tHiIn-tHiOut) 3. q = mcpLo*(tLoOut-tLoIn)Equations:
1. rEff *tHiIn +(1-rEff) *tLoIn -tLoOut = 0 2. mcpHi *tHiIn -mcpHi *tHiOut +mcpLo *tLoIn -mcpLo *tLoOut = 0If mSecHi = 0 or mSecLo = 0:
1. tHiIn - tHiOut = 0 2. tLoIn - tLoOut = 0Relations:
1. q = mcpHi*(tHiIn-tHiOut) 2. tHiAv = 0.5*(tHiIn+tHiOut) 3. tLoAv = 0.5*(tLoIn+tLoOut)
"Heat exchanger with buffer" description
Condition:
1. ua*(tSecIn-tBuf-(tSecOut-tBuf))/ln((tSecIn-tBuf)/(tSecOut-tBuf)) = mcp*(tSecIn-tSecOut)With R = exp(ua/mcp) we have:
Equation:
1. tSecIn -R *tSecOut = (1-R)*tBufWhen abs(R-1) < 0.01 we use in stead (with sRfr = ua/(2*mcp)):
1. (1-sRfr) *tSecIn -(1+sRfr) *tSecOut = -2*sRfr*tBufIf mSec = 0:
1. tSecOut = tBufRelations:
1. ua = u(m,dtLmtd)*a 2. mcp = mSec*cpSec(tSecAv) 3. q = mcp*(tSecIn-tSecOut) 4. tSecAv = tBuf+dtLmtd 5. q_a = q/a 6. dtLmtd = q/ua
"1D heat source with external heat exchanger" description
Condition:
1. ua*(tSecIn-tSurf-(tSecOut-tSurf))/ln((tSecIn-tSurf)/(tSecOut-tSurf)) = mcp*(tSecIn-tSecOut)With R = exp(ua/mcp) one have:
Equation:
1. tSecIn -R *tSecOut = (1-R)*tSurfWhen abs(R-1) < 0.01 we use in stead (with kSec = ua/(2*mcp)):
1A. (1-kSec) *tSecIn -(1+kSec) *tSecOut = -2*kSec*tSurfIf mSec = 0:
1. tSecOut = tSurfRelations:
1. ua = u(m,dtLmtd)*a 2. mcp = mSec*cpSec(tSecAv) 3. q = mcp*(tSecIn-tSecOut) 4. tSecAv = tSurf+dtLmtd 5. q_a = q/a 6. dtLmtd = q/uaComment: This component model uses the Heat1D object class, handling multi-layered one-dimensional transient heat conduction calculation in non-linear materials with phase change. It generates special output to the plant specification file not shared by "normal" components. The minimum non-zero time step of all layers used in one or several Heat1D-based components, is used as initial time step of the simulation.
"Electric heater" description
This is a component model for an electric heater.
Conditions:
1. mSec*cp*(tSecOut - tSecIn) = wEl 2. wEl = q
Equations:
1. -mSec*cp *tSecIn + mSec*cpSec *tSecOut -wEl = 0 2. wEl = q
If mSec = 0:
1. tSecIn - tSecOut = 0
"Heat exchanger for air drying" description
Conditions:
The relative cooling factor rQ is specified by:
C1. rQ(hHumIn,tSecIn) = (hHumIn - hHumOut)/(hHumIn - HX_H_trh(tSecIn,100))Rearranged:
C1. (1-rQ)*hHumIn - hHumOut + rQ*HX_H_trh(tSecIn,100) = 0 Linearizing HX_H_trh(tSecIn,100) = A1 + B1*tSecInproducing:
C1. (1-rQ)*hHumIn - hHumOut + rQ*(A1 + B1*tSecIn) = 0Heat balance of the heat exchanger:
C2. mHum*(hHumIn-hHumOut) = mSec*cpSecAv*(tSecOut-tSecIn)Linearizing enthalpy of humid air:
HX_H_tx(t,x) = A2 + B2*t + C2*x disregarding the D*x*t term from vapour heat capacity. Replacing enthalpy coefficients by this produces eq. 1 and 2 below. Eq1. (1-rQ)*B2In *tHumIn - B2Out *tHumOut +rQ*B1 *tSecIn +(1-rQ)*C2In *xHumIn - C2Out *xHumOut = -(1-rQ)*A2In + A2Out -rQ*A1 Eq2. mHum*B2In *tHumIn -mHum*B2Out *tHumOut +mRfr *hRfrIn -mRfr *hRfrOut + mHum*C2In *xHumIn -mHum*C2Out *xHumOut = -mHum*A2In +mHum*A2Out The outlet absolute humidity xHumOut, considering a processfollowing a straight line towards tSecIn at the saturation line, is given by:
xHumOut = xHumIn + rQ*(HX_X_trh(tSecIn,100) - xHumIn) =(1-rQ) * xHumIn + rQ * HX_X_trh(tSecIn,100) Linearizing HX_X_trh(tSecIn,100) = A3 + B3 * tSecIn giving xHumOut = (1-rQ) *xHumIn + rQ*A3 + rQ*B3 *tSecIn Rearranging this produces eq. 3 below. Eq3. rQ*B3 *tSecIn +(1-rQ) *xHumIn - xHumOut = -rQ*A3If after 4 iterations xHumOut > xHumIn the following is used:
1. rQ = (tHumIn-tHumOut)/(tHumIn-tSecIn) 3. xHumIn = xHumOutNew equations:
1. (1-rQ)*tHumIn - tHumOut + rQ*tSecIn = 0 3. xHumIn - xHumOut = 0If after 4 iterations or more xHumOut > xHumIn, we use instead:
Eq1. rQ = (tHumIn-tHumOut)/(tHumIn-tSecIn) Eq3. xHumIn = xHumOutNew equations:
Eq1. (1-rQ)*tHumIn - tHumOut + rQ*tSecIn = 0 Eq3. xHumIn - xHumOut = 0If after 4 iterations or more hHumOut > hHumIn, the simulation is aborted. If conditions are so that (tSecIn,xHumOut) is in the mist region, then equation 3 is changed to:
Eq3. xHumOut = HX_X_trh(tSecIn,100) = A3 + B3 * tSecInproducing:
Eq3. B3 *tSecIn - xHumOut = -A3Relations:
1. mWater = mHum*(xHumIn - xHumOut) 2. q = mSec*cpSec*(tSecOut-tSecIn) 3. qWater = mSec*HX_H_tx(tHumIn,xHumIn)-HX_H_tx(tHumIn,xHumOut)) 4. qDry = q-qHum 5. rhIn = RHtx(tHumIn,xHumIn) 6. rhOut = RHtx(tHumOut,xHumOut) 7. rmcp = mHum*cpHumAv/mSec*cpSecAvComment: This model should not be used for heating humid air. The model is not designed for that.
"Fluidised bed for product drying" description
Conditions:
Heat balance with a simple enthalpy model for the product: hPr = cpPr*t + dhW*mc
and a more complex model for the humid air enthalpy: hHum = HX_H_tx(tHum,xHum).
The cpPr is the dry product heat capacity, while dhW is the heat of evaporization
for water (2.5015 MJ/kg). This gives:
1. mPrIn*(cpPr*tPrIn + dhEvapW*mcPrIn) + mHum*HX_H_tx(tHumIn,xHumIn) = mPrOut*(cpPr*tPrOut + dhEvapW*mcPrIn) + mHum*HX_H_tx(tHumOut,xHumOut)Linearizes:
HX_H_tx(tHumIn,xHumIn) = A1 + B1*tHumIn + C1*xHumIn HX_H_tx(tHumOut,xHumOut) = A2 + B2*tHumOut + C2*xHumOut:The temperature of the drying chamber is set equal to the wet bulb temperature of the inlet air (WB = wet bulb):
2. tPrOut = tWB(tHumIn,xHumIn) = HX_T_hrh(HX_H_tx(tHumIn,xHumIn),100)This requires that mPrIn is not to large compared to the size of the bed so that the residence time (see below) is not too short for the required process to take place. Linearizes:
tWB(tHumIn,xHumIn) = A3 + B3*tHumIn + C3*xHumIn
Product moisture content leaving the drying chamber equals the moisture content after the residence time.
3. mcPrOut = mcPr(Time,residence)Water mass flow rate balance of the drying chamber with product terms mPr*mcPr and humid air terms mHum*xHum:
4. mPrIn*mcPrIn + mHum*xHumIn = mPrOut*mcPrOut + mHum*xHumOutBalance of the solid-part (dry) product mass flow rate of the drying chamber, this part being mPrSolid = mPr * (1-mcPr):
5. mPrIn*(1-mcPrIn) = mPrOut*(1-mcPrOut)Equations:
1. mHum*B1 *tHumIn -mHum*B2 *tHumOut + mPrIn*cpPr *tPrIn + mPrIn*dhW *mcPrIn -mPrOut*cpPr *tPrOut -mPrOut*dhW *mcPrOut + mHum*C1 *xHumIn - mHum*C2 *xHumOut = mHum*(A2 - A1) 2. -B3 *tHumIn - C3 *xHumIn + tPrOut = A3 3. mcPrOut = mcPr(Time,residence) 4. mHum *xHumIn -mHum *xHumOut +mPrIn *mcPrIn -mPrOut *mcPrOut = 0 5. (1-mcPrIn) *mPrIn -(1-mcPrOut) *mPrOut = 0Relations:
Moisture content leaving the drying chamber is the result of an integration in the product residence time during which a potential two-period drying is taking place. The first period is the capillary feed period (constant rate), the second one is the diffusion period (decreasing rate). Time integration from zero to the residence time contains one or both of the two drying periods:
1. mcPr(Time) = mcPr(Time-dTime) + d(mcPr)/dt*dTime, mcPr(0) = mcPrIn 2. d(mcPr)/dt = -rateCnst , mcPr > mcPrCrit = -rateCnst(1+1/(mcPrCrit-mcPrEqui)*(mcPr-mcPrCrit)), mcPr < mcPrCrit = 0 , mcPr <= mcPrEqui mcPr(Time) = mcPr(0) , mcPr(0) < mcPrEqui 3. Time,residence = massPr / mPr, massPr being the product mass in the bed 4. mcPrEqui = 1/(1+1/(xMono*cM/((1-rhHumIn)*(1+cM-1)*rhHumIn))*rhHumIn)
"Gas cooler" description
This model handles sub- or supercritical cooling of refrigerant vapour
transferring heat to a secondary fluid.
It resembles the Superheat heat exchanger model,
but operates with higher accuracy to enable handling close-to-critical-point conditions.
And it calculates pressure drop in addition to heat transfer.
It must be used with counter flow.
The exchanger is divided into nS number of sections (max: 50).
Based upon inlet and outlet conditions for both fluids,
the conditions at intersectional points are calculated
with an internal iteration accounting for non-linearities.
1. ua*((tRfrIn-tSecOut-(tRfrOut-tSecIn))/ln((tRfrIn-tSecOut)/(tRfrOut-tSecIn)) = mSec*cpSec*(tSecOut-tSecIn) = qThe ua value is an average value accounting both for varying thermal properties over the heat exchanger and deviations from the ideal exponential shape of the temperature difference. ua is calculated from summing heat transfer contributions dq(iS) from all sections:
q = dq(1) + dq(2) + ... + dq(nS) dpRfr = dpRfr(1) + dpRfr(2) + ... + dpRfr(nS) dpSec = dpSec(1) + dpSec(2) + ... + dpSec(nS) dq(iS) = mSec*cpSec(iS)*(tSec(iS)-tSec(iS+1)) = u(iS)a/nS*(tRfr(iS)-tSec(iS)-(tRfr(iS+1)-tSec(iS+1)) /ln((tRfr(iS)-tSec(iS))/(tRfr(iS+1)-tSec(iS+1))) dpRfr(iS) = dpdl(mRfr,0.5*(tRfr(iS-1)+tRfr(iS-1)))*lRfr/nS dpSec(iS) = dpdl(mSec,0.5*(tSec(iS-1)+tSec(iS-1)))*lSec/nS iS - Section number (Downstream for refrigerant, upstream for secondary fluid) tRfr(iS) - Refrigerant temperature at inlet of section iS tSec(iS) - Secondary fluid temperature at outlet of section iS. u(iS) - Heat transfer coefficient for section number iS.ua is then calculated from:
ua = q/((tRfrIn-tSecOut-(tRfrOut-tSecIn))/ln((tRfrIn-tSecOut)/(tRfrOut-tSecIn)) R = exp(ua*(1/(mRfr*cpRfr)-1/(mSec*cpSec)))These values are calculated from a set of algebraic equations:
R(iS) *tSec(iS+1) -tSec(iS) + tRfr(iS) -R *tRfr(iS+1) = 0, iS = 1,nS mRfr*cpRfr(iS)*(tRfr(iS)-tRfr(iS+1)) = mSec*cpSec(iS)*(tSec(iS)-tSec(iS+1)), iS = 1,nS where R(iS) = exp(u(iS)*a/nS*(1/(mRfr*cpRfr(iS))-1/(mSec*cpSec(iS)))) and u(iS)*a = 1/(1/(uRfr(iS)*aRfr)+1/(uSec(iS)*aSec))plus:
tRfr(1) = tRfrIn tSec(nS+1) = tSecIn 2. mRfr*(hRfrIn-hRfrOut) = mSec*cpSec*(tSecOut-tSecIn) Equation 3 is expressing the refrigerant pressure drop represented by a drop in the dew-point temperature. 3. tDPIn - tDPOut = dtTP, where dtTP is found from dpRfr.Equation 4 calculates the secondary fluid pressure drop:
4. pSecIn - pSecOut = dpSecEquations:
1. R*cpRfr *tSecIn -cpRfr *tSecOut + hRfrIn -R *hRfrOut = h0Rfr*(1-R) 2. mSec*cpSec *tSecIn -mSec*cpSec *tSecOut +mRfr *hRfrIn -mRfr *hRfrOut = 0 3. tDPIn - tDPOut = dtTP 4. pSecIn - pSecOut = dpSec When R approaches 1, equation 1 is degenerated into equation 2 and we have to use arithmetic mean temperatures in the heat transfer equation.If abs(R-1) < 0.01 with kSec = 2*mcpSec/ua and rcp = cpSec/cpRfr:
1. (kSec-rcp) *hRfrIn -(kSec+rcp) *hRfrOut + hIn + hLoOut = 2*(-rcp*h0Rfr+h0Sec)If mRfr = 0:
3. tDPIn - tDPOut = 0If mSec = 0:
4. pSecIn - pSecOut = 0Relations:
1. ua = u(mRfr,m)*a 2. q = mRfr*(hRfrIn-hRfrOut) 3. tRfrAv = 0.5*(tRfrIn+tRfrOut) 4. tSecAv = 0.5*(tSecIn+tSecOut) 5. q_a = q/a 6. dtLmtd = q/uaComment: The model may cause stability problems if the area is too large. Start with a small area until you know how far the outlet conditions go.
"Superheat heat exchanger" description
This model handles sub- or supercritical cooling of refrigerant vapour
transferring heat to a secondary fluid.
It resembles the Gas cooler model, but operates with lower accuracy.
It must be used with counter flow.
Conditions:
1. ua*((tRfrIn-tSecOut-(tRfrOut-tSecIn))/ln((tRfrIn-tSecOut)/(tRfrOut-tSecIn)) = mSec*cpSec*(tSecOut-tSecIn) 2. mRfr*(hRfrIn-hRfrOut) = mSec*cpSec*(tSecOut-tSecIn)We use R = exp(ua*(1/(mRfr*cpRfr)-1/(mSec*cpSec))) and linearizes
hRfr = R_HgasTP(tRfr,R_PsatgasT(tDP)) = cpRfr*tRfr + h0RfrEquations:
1. R*cpRfr *tSecIn -cpRfr *tSecOut + hRfrIn -R *hRfrOut = h0Rfr*(1-R) 2. mSec*cpSec *tSecIn -mSec*cpSec *tSecOut +mRfr *hRfrIn -mRfr *hRfrOut = 0When R approaches 1, equation 1 is degenerated into equation 2 and we have to use arithmetic mean temperatures in the heat transfer equation. If abs(R-1) < 0.01 with kSec = 2*mcpSec/ua and rcp = cpSec/cpRfr:
1. (kSec-rcp) *hRfrIn -(kSec+rcp) *hRfrOut + hIn + hLoOut = 2*(-rcp*h0Rfr+h0Sec)Relations:
1. ua = u(mRfr,m)*a 2. q = mRfr*(hRfrIn-hRfrOut) 3. tRfrAv = 0.5*(tRfrIn+tRfrOut) 4. tSecAv = 0.5*(tSecIn+tSecOut) 5. q_a = q/a 6. dtLmtd = q/uaComment: The model may cause stability problems if the area is too large. Start with a small area until you know how far the outlet conditions go.
"Subcooling heat exchanger" description
Conditions:
1. ua*((tRfrIn-tSecOut-(tRfrOut-tSecIn))/ln((tRfrIn-tSecOut)/(tRfrOut-tSecIn)) = mSec*cpSec*(tSecOut-tSecIn) 2. mRfr*(hRfrIn-hRfrOut) = mSec*cpSec*(tSecOut-tSecIn) We use R = exp(ua*(1/(mRfr*cpRfr)-1/(mSec*cpSec))) and hRfrIn = R_HsatliqT(tRfrAv) = h01 + cpRfr*tDPand have:
Equations:
1. R*cpSec *tSecIn -cpSec *tSecOut + hRfrIn -R *hRfrOut = h01*(1-R) 2. mSec*cpSec *tSecIn -mSec*cpSec *tSecOut +mRfr *hRfrIn -mRfr *hRfrOut = 0
When R approaches 1, equation 1 degenerates into equation 2 and
we have to use arithmetic mean temperatures in the heat transfer equation.
If abs(R-1) < 0.01 with kSec = 2*mcpSec/ua and rcp = cpSec/cpRfr:
1. (kSec-rcp) *hRfrIn -(kSec+rcp) *hRfrOut + hIn + hLoOut = 2*(-rcp*h0Rfr+h0Sec)Relations:
1. ua = u(mRfr,m)*a 2. q = mRfr*(hIn-hOut) 3. tHiAv = 0.5*(tHiIn+tHiOut) 4. tLoAv = 0.5*(tLoIn+tLoOut) 5. q_a = q/a 6. dtLmtd = q/uaComment: The model may cause stability problems if the area is too large. Start with a small area until you know how far the outlet conditions go.
"Standard condenser" description
The model is based on disregarding the increased LMTD from the normally superheated inlet
and a possibly subcooled outlet. On the other hand the superheated and subcooled enthalpies
are taken care of.
Conditions:
1. mcp*(tSecOut-tSecIn) = ua*((tRfrOut-tSecIn-(tRfrIn-tSecOut)) /ln((tRfrOut-tSecIn)/(tRfrIn-tSecOut)) 2. mcp*(tSecOut-tSecIn) = mRfr*(hRfrIn-hRfrOut) tRfrIn is replaced by tDP = R_TsatgasP(pRfr) and tRfrOut is replaced by tBP = R_TsatliqP(pRfr)if tBP = tDP:
R = exp(ua/mcpSec) 1. tSecIn -R *tSecOut +(R-1) *tDP = 0if tBP <> tDP:
R = exp(ua*(1/mcpSec-1/(mRfr*cpRfr))), where cpRfr = (hDP-hBP)/(tDP-tBP) 1. tSecIn -R *tSecOut +R *tBP - tDP = 0Linearizes:
tBP = R_TsatliqP(pRfr) = R_TsatliqP(R_PsatgasT(tDP)) = A_BP + B_BP *tDPresulting in:
Equations:
1. tSecIn -R *tSecOut +(R*B_BP-1) *tDP = -A_BP*R 2. mcp *tSecIn -mcp *tSecOut + mRfr *hRfrIn -mRfr *hRfrOut = 0If mSec = 0 or mRfr = 0:
1. tSecIn - tSecOut = 0 2. hRfrOut = hRfrOut(previous) , mRfr = 0 2. hRfrIn - hRfrOut = 0 , mRfr <> 0Relations:
1. mcp = mSec*cpSec(tSecAv) 2. ua = u(m,q_a)*a 3. q = mRfr*(hRfrIn - hRfrOut) 4. tRfrIn = R_TgasHP(hRfrIn,R_PsatgasT(tDP)) 5. tRfrOut = R_satliqH(hRfrOut,R_PsatliqT(tDP)) 6. tSecAv = 0.5*(tSecIn+tSecOut) 7. dtLmtd = q/ua 8. q_a = q/a
"Accurate condenser" description
The model is based on accurately integrating the heat transfer and pressure change
through the condenser to account for varying pressure gradients,
heat transfer coefficient, temperature difference and refrigerant pressure.
It presupposes counter flow.
The user specifies individual correlations for the pressure gradient and heat transfer
coefficient of the liquid, two-phase, and gas domain. The data for the two-phase domain
must be averaged over the total condensation, as there is no input of vapour fraction.
The exchanger is divided into nS number of sections (max: 50). Based upon inlet and outlet conditions for both fluids, the conditions at intersectional points are calculated with an internal iteration accounting for non-linearities. The result is an accurate value of the total heat transfer q and the pressure drops dpRfr and dpSec.
q = dq(1) + dq(2) + ... + dq(nS) dpRfr = dpRfr(1) + dpRfr(2) + ... + dpRfr(nS) dpSec = dpSec(1) + dpSec(2) + ... + dpSec(nS)Initial assumption from initially specified parameter value "q_a ":
q = q_a*a and dq(iS) = q/nS tSec(1) = tSecOut, tSec(iS) = tSec(iS-1) - dq(iS)/(mSec*cpSec(tSec(iS-1)), iS = 2,nS dpSec(iS) = dpdl(mSec,0.5*(tSec(iS-1)+tSec(iS-1)))*lSec/nS tRfr(1) = tRfrIn = R_TxHP(hRfrIn,pRfrIn), tRfr(iS) = R_TxHP(hRfr(iS-1),pRfr(iS-1)), hRfr(iS-1) = hRfr(iS) - dq(iS)/mRfr, iS=2,nS dpRfr(iS) = dpdl(mRfr,0.5*(tRfr(iS-1)+tRfr(iS-1)))*lRfr/nS iS - Section number (Downstream for refrigerant, upstream for secondary fluid) tRfr(iS) - Refrigerant temperature at inlet of section iS tSec(iS) - Secondary fluid temperature at outlet of section iS.New values of dq(iS) are calculated from:
dq(iS) = (tRfr(iS)-tSec(iS))/(1/(uSec*aSec)+1/(uRfr*aRfr))The new dq values are again used to evaluate improved tRfr(iS) and tSec(iS) values.
q is then said to be the result of an exponential heat transfer with an equivalent
value of ua from:
q = ua*((tDPIn-tSecIn-(tDPIn-tSecOut))/ln((tDPIn-tSecIn)/(tDPIn-tSecOut))giving the equation:
1. (R-1) *tDPIn +tSecIn -R *tSecOut = 0 where R = exp(ua/mcpSec)The other equation is based on enthalpy balance of the two fluids:
2. mRfr*(hRfrIn-hRfrOut) = mSec*cpSec*(tSecOut-tSecIn) Equation 3 is expressing the refrigerant pressure drop represented by a drop in the dew-point temperature. 3. tDPIn - tDPOut = dtTP, where dtTP is found from dpRfr.Equation 4 calculates the secondary fluid pressure drop:
4. pSecIn - pSecOut = dpSecEquations:
1. (R-1) *tDPIn +tSecIn -R *tSecOut = 0 2. mSec*cpSec *tSecIn -mSec*cpSec *tSecOut +mRfr *hRfrIn -mRfr *hRfrOut = 0 3. tDPIn - tDPOut = dtTP 4. pSecIn - pSecOut = dpSecIf mSec = 0 or mRfr = 0:
1. tSecIn - tSecOut = 0 2. hRfrOut = hRfrOut(previous) , mRfr = 0 2. hRfrIn - hRfrOut = 0 , mRfr <> 0If mRfr = 0:
3. tDPIn - tDPOut = 0If mSec = 0:
4. pSecIn - pSecOut = 0Relations:
1. mcpSec = mSec*cpSec(tSec) 2. q = mRfr*(hRfrIn - hRfrOut) 3. pRfrIn = R_PsatgasT(tDPIn) 4. pRfrOut = R_PsatgasT(tDPOut) 5. tRfrIn = R_TgasHP(hRfrIn,pRfrIn) 6. tRfrOut = R_TsatliqH(hRfrOut,pRfrOut) 7. dtLmtd = q/ua 8. q_a = q/aRfr
"Standard evaporator" description
The model is based on disregarding the increased LMTD from the normally superheated outlet.
On the other hand the real enthalpies are used.
Conditions:
1. mcp*(tSecIn-tSecOut) = ua*((tSecIn-tRfrOut-(tSecOut-tRfrIn)) /ln((tSecIn-tRfrOut)/(tSecOut-tRfrIn)) 2. mcp*(tSecIn-tSecOut) = mRfr*(hRfrOut-hRfrIn) tRfrIn is replaced by tDP = R_TsatgasP(pRfr) and tRfrOut is replaced by tBP = R_TsatliqP(pRfr)if tBP = tDP:
R = exp(ua/mcpSec) 1. tSecIn -R *tSecOut +(R-1) *tDP = 0if tBP <> tDP:
R = exp(ua*(1/mcpSec-1/(mRfr*cpRfr))), where cpRfr = (hDP-hBP)/(tDP-tBP) 1. tSecIn -R *tSecOut +R *tBP - tDP = 0 Linearizes tBP = R_TsatliqP(pRfr) = R_TsatliqP(R_PsatgasT(tDP)) = A_BP + B_BP *tDPresulting in:
Equations:
1. tSecIn -R *tSecOut +(R*B_BP-1) *tDP = -A_BP*R 2. mcp *tSecIn -mcp *tSecOut +mRfr *hRfrIn -mRfr *hRfrOut = 0If mSec = 0 or mRfr = 0:
1. tSecIn - tSecOut = 0 2. hRfrOut = hRfrOut(previous) , mRfr = 0 2. hRfrIn - hRfrOut = 0 , mRfr <> 0Relations:
1. mcp = mSec*cpSec(tSecAv) 2. ua = u(m,q_a)*a 3. q = mRfr*(hRfrOut - hRfrIn) 4. tRfrOut = R_TgasHP(hRfrOut,R_PsatgasT(tDP)) 5. tSecAv = 0.5*(tSecIn+tSecOut) 6. q_a = q/a 7. dtLmtd = q/ua
"Accurate evaporator" description
The model is based on accurately integrating the heat transfer and pressure change
through the evaporator to account for varying pressure gradients,
heat transfer coefficient, temperature difference and refrigerant pressure.
It presupposes counter flow.
The user specifies individual correlations for the pressure gradient and heat transfer
coefficient of the liquid (normally not used), two-phase, and gas domain.
The data for the two-phase domain must be averaged over the total evaporation,
as there is no input of vapour fraction.
The exchanger is divided into nS number of sections (max: 50). Based upon inlet and outlet conditions for both fluids, the conditions at intersectional points are calculated with an internal iteration accounting for non-linearities. The result is an accurate value of the total heat transfer q and the pressure drops dpRfr and dpSec.
q = dq(1) + dq(2) + ... + dq(nS) dpRfr = dpRfr(1) + dpRfr(2) + ... + dpRfr(nS) dpSec = dpSec(1) + dpSec(2) + ... + dpSec(nS)Initial assumption from initially specified parameter value "q_a ":
q = q_a*a and dq(iS) = q/nS tSec(1) = tSecOut, tSec(iS) = tSec(iS-1) + dq(iS)/(mSec*cpSec(tSec(iS-1)), iS = 2,nS dpSec(iS) = dpdl(mSec,0.5*(tSec(iS-1)+tSec(iS-1)))*lSec/nS tRfr(1) = tRfrIn = R_TxHP(hRfrIn,pRfrIn), tRfr(iS) = R_TxHP(hRfr(iS-1),pRfr(iS-1)), hRfr(iS-1) = hRfr(iS) + dq(iS)/mRfr, iS=2,nS dpRfr(iS) = dpdl(mRfr,0.5*(tRfr(iS-1)+tRfr(iS-1)))*lRfr/nS iS - Section number (Downstream for refrigerant, upstream for secondary fluid) tRfr(iS) - Refrigerant temperature at inlet of section iS tSec(iS) - Secondary fluid temperature at outlet of section iS.New values of dq(iS) are calculated from:
dq(iS) = (tSec(iS)-tRfr(iS))/(1/(uSec*aSec)+1/(uRfr*aRfr))The new dq values are again used to evaluate improved tRfr(iS) and tSec(iS) values.
q is then said to be the result of an exponential heat transfer with an equivalent
value of ua from:
q = ua*((tSecIn-tDPIn-(tSecOut-tDPIn))/ln((tSecIn-tDPIn)/(tSecOut-tDPIn))giving the equation:
1. (R-1) *tDPIn +tSecIn -R *tSecOut = 0 where R = exp(ua/mcpSec)The other equation is based on enthalpy balance of the two fluids:
2. mRfr*(hRfrOut-hRfrIn) = mSec*cpSec*(tSecIn-tSecOut)Equation 3 is expressing the refrigerant pressure drop represented by a drop in the dew-point temperature.
3. tDPIn - tDPOut = dtTP, where dtTP is found from dpRfr.Equation 4 calculates the secondary fluid pressure drop:
4. pSecIn - pSecOut = dpSecEquations:
1. (R-1) *tDPIn +tSecIn -R *tSecOut = 0 2. mSec*cpSec *tSecIn -mSec*cpSec *tSecOut +mRfr *hRfrIn -mRfr *hRfrOut = 0 3. tDPIn - tDPOut = dtTP 4. pSecIn - pSecOut = dpSecIf mSec = 0 or mRfr = 0:
1. tSecIn - tSecOut = 0 2. hRfrOut = hRfrOut(previous) , mRfr = 0 2. hRfrIn - hRfrOut = 0 , mRfr <> 0If mRfr = 0:
3. tDPIn - tDPOut = 0If mSec = 0:
4. pSecIn - pSecOut = 0Relations:
1. mcpSec = mSec*cpSec(tSec) 2. q = mRfr*(hRfrOut-hRfrIn) 3. pRfrIn = R_PsatgasT(tDPIn) 4. pRfrOut = R_PsatgasT(tDPOut) 5. tRfrIn = R_TgasHP(hRfrIn,pRfrIn) 6. tRfrOut = R_TsatliqH(hRfrOut,pRfrOut) 7. dtLmtd = q/ua 8. q_a = q/aRfr
"Evaporator for air drying" description
Conditions:
The relative cooling factor rQ is specified by:
C1. rQ(hHumIn,tDP) = (hHumIn - hHumOut)/(hHumIn - HX_H_trh(tDP,100))Rearranged:
C1. (1-rQ)*hHumIn - hHumOut + rQ*HX_H_trh(tDP,100) = 0Linearizing:
HX_H_trh(tDP,100) = A1 + B1*tDPproducing:
C1. (1-rQ)*hHumIn - hHumOut + rQ*(A1 + B1*tDP) = 0Heat balance of the heat exchanger:
C2. mHum*(hHumIn-hHumOut) = mRfr*(hRfrOut-hRfrIn)Linearizing:
HX_H_tx(t,x) = A2 + B2*t + C2*xdisregarding the D2*x*t term from vapour heat capacity. Replacing enthalpy coefficients by this produces eq. 1 and 2.
Eq1. (1-rQ)*B2In *tHumIn - B2Out *tHumOut +rQ*B1 *tDP +(1-rQ)*C2In *xHumIn - C2Out *xHumOut = -(1-rQ)*A2In + A2Out -rQ*A1 Eq2. mHum*B2In *tHumIn -mHum*B2Out *tHumOut +mRfr *hRfrIn -mRfr *hRfrOut + mHum*C2In *xHumIn -mHum*C2Out *xHumOut = -mHum*A2In +mHum*A2OutThe outlet absolute humidity xHumOut, considering a process following a straight line towards tDP at the saturation line, is given by:
xHumOut = xHumIn + rQ*(HX_X_trh(tDP,100) - xHumIn) =(1-rQ)*xHumIn + rQ*X_X_trh(tDP,100)Linearizing
HX_X_trh(tDP,100) = A3 + B3 * tDPgiving
xHumOut = (1-rQ)*xHumIn + rQ*A3 + rQ*B3 *tDPRearranging this produces eq. 3 below.
Eq3. rQ*B3 *tDP +(1-rQ) *xHumIn - xHumOut = -rQ*A3If after 4 iterations or more xHumOut > xHumIn, we use instead:
Eq1. rQ = (tHumIn-tHumOut)/(tHumIn-tDP) Eq3. xHumIn = xHumOutNew equations:
Eq1. (1-rQ)*tHumIn - tHumOut + rQ*tDP = 0 Eq3. xHumIn - xHumOut = 0If after 4 iterations or more hHumOut > hHumIn, the simulation is aborted.
If conditions are so that (tDP,xHumOut) is in the mist region, then equation 3 is changed to:
Eq3. xHumOut = HX_X_trh(tDP,100) = A3 + B3 * tDPproducing:
Eq3. B3 *tDP - xHumOut = -A3Relations:
1. mWater = mHum*(xHumIn - xHumOut) 2. q = mRfr*(hRfrOut-hRfrIn) 3. qWater = mSec*HX_H_tx(tHumIn,xHumIn)-HX_H_tx(tHumIn,xHumOut)) 4. qDry = q-qHum 5. rhIn = RHtx(tHumIn,xHumIn) 6. rhOut = RHtx(tHumOut,xHumOut)Comment: This model should not be used for heating humid air. The model is not designed for this.
"Evaporator for humid air" description
Conditions for dry air:
1. mcp*(tHumIn-tHumOut) = ua*((tHumIn-tDP-(tHumOut-tDP)) /ln((tHumIn-tDP)/(tHumOut-tDP)) 2. mcp*(tHumIn-tHumOut) = mRfr*(hRfrOut-hRfrIn) 3. xHumOut = xHumIn - mCond/mHumFor humid air the same correlation is used, only with cp and u replaced by cpHum and uHum given by:
cpHum = (hHumIn-hHumOut)/(tHumIn-tHumOut) uHum = u + mCond * dhVap / dtLmtd using dtLmtd = (tHumIn-tDP-(tHumOut-tDP))/ln((tHumIn-tDP)/(tHumOut-tDP) mCond = ua/cpHum * (0.5*(xHumIn+xHumOut) - HX_X_trh(tDP,100)) and dhVap = HX_Hvanndamp_t(tDP + dtLmtd) - HX_Hvanndamp_t(tDP)Equations:
1. (exp(uHum*a/m*cpHum)-1) *tDP +tSecIn -exp(uHum*a/m*cpHum) *tSecOut = 0 2. m*cpHum *tSecIn -m*cpHum *tSecOut +mRfr *hRfrIn -mRfr *hRfrOut = 0If mSec = 0 or mRfr = 0:
1. tSecIn - tSecOut = 0 2. hRfrOut = hRfrOut(previous), mRfr = 0 2. hRfrIn - hRfrOut = 0 , mRfr <> 0Relations:
1. mcp = mSec*cpSec(tSecAv) 2. ua = u(m,q_a)*a 3. q = mRfr*(hRfrOut - hRfrIn) 4. tRfrOut = R_TgasHP(hRfrOut,R_PsatgasT(tDP)) 5. tHumAv = 0.5*(tSecIn+tSecOut) 6. q_a = q/a 7. dtLmtd = q/ua
"Condenser with given capacity" description
Condition:
1. mRfr*(hRfrIn-hRfrOut) = qEquation:
1. mRfr*hRfrIn - mRfr*hRfrOut = qIf mRfr = 0:
1. hRfrOut = hRfrOut(previous)
"Evaporator with given capacity" description
Condition:
1. mRfr*(hRfrOut-hRfrIn) = qEquation:
1. mRfr*hRfrIn - mRfr*hRfrOut = -qIf mRfr = 0:
1. hRfrOut = hRfrOut(previous)
"Air cooler with given capacity" description
This model is obsolete and can not be selected any more.
It is only kept to ensure backwards compatibility.
It should be replaced by the model "Evaporator with given capacity".
Condition:
1. mRfr*(hRfrOut-hRfrIn) = q(tDP)Linearizes:
Q(tDP) = C1*tDP +C2 Finds two points (tDP,q): (tDPA,qA) and (tDPB,qB) C1 = (qB-qA)/(tDPB-tDPA) C2 = qA - C1*tDPAEquation:
1. C1 *tDP + mRfr*hRfrIn - mRfr*hRfrOut = -C2If mRfr = 0:
1. hRfrOut = hRfrOut(previous)Relations:
1. q_a = q/a 2. tRfrOut = R_TgasHP(hRfrOut,R_PsatgasT(tDP)) 3. tSecAv = 0.5*(tSecIn+tSecOut) 4. dtLmtd = q/uaComment: This component model was especially designed to be interfaced to an external routine calculating heat transfer in an air heated evaporator. Therefore some data are included that FrigoSim does not use directly. If you use the model without this routine, you may specify anything for the data 2-4 and 6. Only 1(a) and 5(q) are used by FrigoSim and must be given the correct values.
"Suction gas heat exchanger" description
Conditions:
1. ua*((tHiIn-tHiOut)-(tLoOut-tLoIn))/ln((tHiIn-tLoOut)/(tHiOut-tLoIn)) = mRfrHi*(hHiIn-hHiOut) 2. mRfrHi*(hIn-hOut) = mRfrLo*(hLoOut-hLoIn)Linearizes:
hHi = R_HxTPX(tHi,R_PsatgasT(tDPHi),xHi) = h0Hi + cpHi*tHi hLo = R_HxTPX(tLo,R_PsatgasT(tDPLo),xLo) = h0Lo + cpLo*tLoevaluated at average conditions. Using:
R = exp(ua*(1/(mRfrHi*cpHi)-1/(mRfrLo*cpLo))) rcp = cpLo/cpHiwe have:
Equations:
1. rcp *hHiIn -R*rcp *hHiOut +R *hLoIn - hLoOut = (1-R)*(rcp*h0Hi-h0Lo) 2. mRfrHi *hHiIn -mRfrHi *hHiOut +mRfrLo *hLoIn -mRfrLo *hLoOut = 0When R approaches 1 then equation 1 degenerates into equation 2 and we have to use arithmetic mean temperatures in the heat transfer equation.
If abs(R-1) < 0.01 using kRfr = 2*mcpLo/ua:
1A. (kRfr-rcp) *hHiIn -(kRfr+rcp) *hHiOut + hLoIn + hLoOut = 2*(-rcp*h0Hi+h0Lo)If mRfrHi = 0 or mRfrLo = 0:
1. hHiIn - hHiOut = 0 2. hLoIn - hLoOut = 0Relations:
1. ua = u(mRfrHi,q_a)*a 2. q = mRfrHi*(hIn-hOut) 3. tHiAv = (0.5*(hIn+hOut)-h01)/cpSecHi 4. tLoAv = (0.5*(tLoIn+tLoOut)-h02)/cpSecLo 5. q_a = q/a 6. dtLmtd = q/ua
"Oil return heat exchanger" description
Condition:
1. mRfrHi*(hIn-hOut) = ua*((tHiIn-tDPHi-(tHiOut-tDPHi)) /ln((tHiIn-tDPHi)/(tHiOut-tDPHi)) 2. mRfrHi*(hIn-hOut) = mRfrLo*(hLoOut-hLoIn)Uses R = exp(ua/(mRfrHi*cpSecHi) and "R_HsatliqT "(tBPHi) = h01 + cpRfrHi*tBPHi:
Equation:
1. cpRfrHi*(R-1) *tBPHi + hHiIn -R *hHiOut = (1-R)*h01 2. mRfrHi *hHiIn -mRfrHi *hHiOut +mRfrLo *hLoIn -mRfrLo *hLoOut = 0If mRfrHi = 0 or mRfrLo = 0:
1. hHiIn - hHiOut = 0 2. hLoIn - hLoOut = 0Relations:
1. ua = u(mRfrHi,q_a)*a 2. q = mRfrHi*(hHiIn - hHiOut) 3. tHiAv = R_satliqH(0.5*(hHiIn+hHiOut))
"Cascade heat exchanger" description
Conditions:
1. mRfrHi*(hIn-hOut) = ua*(tDP-tDPHi) 2. mRfrHi*(hIn-hOut) = mRfrLo*(hLoOut-hLoIn)Equations:
1. ua *tDP -ua *tDPHi -mRfrHi *hIn +mRfrHi *hOut = 0 2. mRfrHi *hIn -mRfrHi *hOut +mRfrLo *hLoIn -mRfrLo *hLoOut = 0If mRfrHi = 0 or mRfrLo = 0:
1. hOut = hOut(previous) , mRfrHi = 0 1. hRfrIn - hOut = 0 , mRfrHi <> 0 , mRfrLo = 0 2. hLoOut = hLoOut(previous), mRfrLo = 0 2. hLoIn - hLoOut = 0 , mRfrHi = 0 , mRfrLo <> 0Relations:
1. ua = u(q_a)*a 2. q = mRfrHi*(hIn-hOut) 3. q_a = q/a
"Temperature boundary" description
This is a component model representing a temperature-type boundary, ref. boundaries for heat transfer.
The temperature is set by a function, ref. functions input.
"Convective boundary" description
This is a component model representing a convective boundary, ref. boundaries for heat transfer.
Both the heat transfer coefficient and the ambient temperature are set by a function,
ref. functions input.
This is a model for setting a specific heat flux load on a boundary. This heat flux is a controllable parameter.
"Outdoor climate" description
This is a model for calculating the atmospheric climate impact on a construction.
C1. qConv = uConv * (tAir - tSurf)
uConv depends on tAir and velAir based on correlations for an upward horizontal surface (described later).
The long-wave net irradiation from a clear sky (qLW0) is calculated based on reference Frank, see below:
LW-1. eAtm0 = 0.745 + 0.0056*tDew
where tDew is the dew point temperature 2 m above the surface.
LW-2. qLW0 = eLWSurf * cSB * (eAtm0 * (tAir+273.15)**4 - (tSurf+273.15)**4)
cSB is the Stefan-Boltzmann number, tAir is the air temperature 2 m above the surface
and tSurf the surface temperature.
Adjustment for cloud cover is based on reference Martin (see below):
LW-3. eAtm = eAtm0 + (1 - eAtm0)*rCover*eCloud*exp(GradT*lCloud/dt)
rCover is the fractional cloud cover, GradT = -0.0056 K/m, lCloud is the lower cloud height (base height) and dt = 38 K.
eCloud = 1 (for low and medium high clouds), while a lower value (down to 0) should be selected
for high altitude cirrus clouds.
LW-4. qLW = eSurf * cSB * (eAtm*(tAir+273.15)**4 - (tSurf+273.15)**4) LW-5. qLW = uLW * (tLWAmb - tSurf)uLW and tLWAmb in LW-5 is calculated from LW-4.
The preferred selection of the two correlations above plus a replacement of the original dt = 46 K to 38 K
are all based on reference IEA94, see below.
SW-1: qSW = eSWSurf * qGlobal
The heat transfer from precipitation (as rain) is calculated as:
PR-1. qPrec = velRain*densWater*cpWater*(tAir-tSurf) PR-2. qPrec = uPrec * (tAir - tSurf) PR-3. uPrec = velRain*densWater*cpWater
Snow is not considered to be a source of heat transfer, as it accumulates and
soon is in equilibrium with the surface.
So for tAir < 0: qPrec = 0.
Condensation to and evaporation from the surface is calculated. To be able to calculate an evaporation,
some conditions on the containment of water on the surface and supply of water to the surface must be assumed.
The drainage properties of the surface is set through the data "Upper water level" (lWatMax).
For a perfectly drained and water repellant surface, this value is set to 0.
This will effectively eliminate any evaporation to take place, unless the surface temperature is below 0.
A more reasonable value is 1 mm, indicating a drained surface with a wettable material.
Evaporation will take place until the surface has been dried up.
The current "Water level" value (lWat) is calculated from an initial value with contributions from
precipitation (mPrec) and condensation (mCond > 0). Evaporation corresponds to mCond < 0.
CE-1. xAir = HX_X_trh(tAir,100*rhAir) CE-2. hAir = HX_Hvanndamp_t(tAir) CE-3. xSurf = HX_X_trh(tSurf,100) CE-4. mCond = uConv * rCoarse/cpAir * (xAir-xSurf) CE-5. if tSurf < 0 then hSurf = HX_His_t(tSurf) else hSurf = HX_Hvann_t(tSurf) CE-6. qCond = mCond * (hAir - hSurf) CE-7. qCond = uCond * (tAir - tSurf)
uConv (in CE-4) is the dry convection heat transfer coefficient.
If there are conditions for frost build-up, the added heat resistance in the surface is not considered.
On the other hand the emissivity is modified in this case, the short-wave set to the low value 0.05
and the long-wave to 0.99.
All heat contributions (qConv, qCond, qSW, qLW and qPrec) are collected into this model:
T-1. qTot = qDir + uTot * (tAmbTot - tSurf) T-2. qTot = qConv + qCond + qLW + qSW + qPrec T-3. uTot = uConv + uLW + uPrec + uCond T-4. qDir = qSW
TAmbTot follows from T-1.
"Phase separator for refrigerants" description
Conditions:
1. mRfr*hRfr = mRfrLiq*hLiq + mRfrGas*hGas 2. hLiq = R_HsatliqT(tDP) 3. hGas = R_HsatgasT(tDP) 4. mRfr = mRfrLiq + mRfrGas 5. mRfrGas = xRfr*mRfrLinearizes:
R_HsatliqT(tDP) = C1 + C2*tDP R_HsatgasT(tDP) = C3 + C4*tDP
Equations:
1. mRfr *hRfr -mRfrLiq *hLiq -mRfrGas *hGas = 0 2. C2 *tDP -hLiq = C1 3. C4 *tDP -hGas = C3 4. mRfr - mRfrLiq - mRfrGas = 0 5. xRfr *mRfr - mRfrGas = 0Relations:
1. xRfr = Xlqgs(tDP,hRfr)
"Open flash chamber with 3 ports" description
Conditions:
1. mRfrIn*hRfrIn = mRfrLiq*hRfrLiq + mRfrGas*hRfrGas 2. hRfrLiq = R_HsatliqT(tDP) 3. hRfrGas = R_HsatgasT(tDP) 4. mRfrIn = mRfrLiq + mRfrGas
Linearizes
R_HsatliqT(tDP) = C1 + C2*tDP and R_HsatgasT(tDP) = C3 + C4*tDP:
Equations:
1. mRfrIn *hRfrIn -mRfrLiq *hLiq -mRfrGas *hGas = 0 2. C2 *tDP -hRfrLiq = C1 3. C4 *tDP -hRfrGas = C3 4. mRfrIn - mRfrLiq - mRfrGas = 0
If mRfrIn = 0:
hRfrIn = R_HlqgsTX(tDP,xRfr) is linearised to C5 + C6*tDP giving: 1. -C6 *tDP + hRfrIn = C5
"Open flash chamber with 4 ports" description
Conditions:
1. mRfrLo*hLoIn + mRfrHi*hHiIn = mRfrLo*hLoOut + mRfrHi*hHiOut 2. hLoOut = R_HsatliqT(tBP) 3. hHiOut = R_HsatgasT(tDP) where tBP = R_TsatliqP(pRfr) and tDP = R_TsatgasP(pRfr)Linearizes:
hLoOut = R_HsatliqT(tBP) = R_HsatliqT(R_TsatliqP(pRfr)) = R_HsatliqT(R_TsatliqP(R_PsatgasT(tDP))) = ALo + BLo * tDP hHiOut = R_HsatgasT(tDP) = AHi + BHi * tDPEquations:
1. mRfrHi *hIn - mRfrHi *hOut + mRfrLo *hLoIn - mRfrLo *hLoOut = 0 2. BLo *tDP - hLoOut = -ALo 3. BHi *tDP - hHiOut = -AHiIf mRfrHi = 0 and mRfrLo = 0:
1. pRfr = pRfr,previous
"Closed flash chamber with 4 ports" description
Conditions:
1. mRfrLo*(hLoOut-hLoIn) = mRfrHi*(hHiIn-hHiOut) 2. mRfrLo*(hLoOut-hLoIn) = ua*(tDPHi-tDPLo) 3. hLoOut = R_HsatgasT(tDPLo)Equations:
1. mRfrLo *hLoIn - mRfrLo *hLoOut + mRfrHi *hHiIn -mRfrHi *hHiOut = 0 2. -ua *tDPLo +ua *tDPHi +mRfrLo *hLoIn -mRfrLo *hLoOut = 0 3. C1 *tDPLo -hLoOut = -C2The coefficients C1 and C2 is given by:
hLoOutA = R_HsatgasT(tDPLo) hLoOutB = R_HsatgasT(tDPLo+dt) C1 = (hLoOutB - hLoOutA)/dt C2 = hLoOutA - C1*tDPLoIf mRfrHi = 0 or mRfrLo = 0:
1. tDPLo = tDPLo(previous) 2. hHiIn - hHiOut = 0Relations:
1. q = mRfrHi*(hHiIn - hHiOut) 2. tHiAv = 0.5*(tHiIn + tHiOut)
"Cooled flash chamber" description
Conditions:
1. mcp*(tSecOut-tSecIn) = ua*((tDP-tSecIn-(tDP-tSecOut)) /ln((tDP-tSecIn)/(tDP-tSecOut)) 2. mRfr*h + mcp*tSecIn = mRfrLiq*hLiq + mRfrGas*hGas + mcp*tSecOut 3. hLiq = R_HsatliqT(tDP) 4. hGas = R_HsatgasT(tDP) 5. mRfrIn = mRfrLiq + mRfrGasLinearizes:
R_HsatliqT(tDP) = C1 + C2*tDP R_HsatgasT(tDP) = C3 + C4*tDPEquations:
1. (exp(ua/mcp)-1) *tDP + tSecIn -exp(ua/mcp) *tSecOut = 0 2. mcp *tSecIn -mcp *tSecOut + mRfr *hRfr -mRfrLiq *hLiq -mRfrGas *hGas = 0 3. C2 *tDP -hLiq = C1 4. C4 *tDP -hGas = C3 5. mRfrIn - mRfrLiq - mRfrGas = 0If mSec = 0 or mRfrIn = 0:
1. tSecIn - tSecOut = 0If mRfrIn = 0:
2. -C6 *tDP + hRfr = C5 with C6 = (Hlqgs(tDP+dt,xRfrIn) - Hlqgs(tDP,xRfr))/dt and C5 = Hlqgs(tDP,xRfrIn) - C6*tDPRelations:
1. mcp = mSec*cpSec(tSecAv) 2. ua = u(mSec,q_a)*a 3. q = mcp*(tSecOut - tSecIn) 4. tRfrIn = R_TgasHP(hRfrIn,R_PsatgasT(tDP)) 5. tRfrOut = R_satliqH(hRfrOut,R_PsatgasT(tDP)) 6. tSecAv = 0.5*(tSecIn+tSecOut) 7. dtLmtd = q/ua 8. q_a = q/a
"Standard boiler" description
Condition:
1. mSec*cpSec*(tSecOut - tSecIn) = qEquation:
1. -mSec*cpSec *tSecIn + mSec*cpSec *tSecOut = qIf mSec = 0:
1. tSecIn - tSecOut = 0Relations:
1. rq = q/qMx 2. qCombust = q/rEff(rq)Comment: The peak load heater is controlled through setting the capacity step.
"Oil-fired boiler" description
This is a component model for a boiler that is incinerating oil or similar fuel
for heating water or a brine. The component is set to an initial capacity
that can changed by a connected control. The amount of oil supplied will be accordingly.
Condition:
1. mSec*cpSec*(tSecOut - tSecIn) = q 2. mOil*fvOil = q/rEff(q/qMx)Equation:
1. -mSec*cpSec *tSecIn + mSec*cpSec *tSecOut = q 2. fvOil * mOil = q/rEff(q/qMx)If mSec = 0:
1. tSecIn - tSecOut = 0Relations:
1. rq = q/qMx 2. qCombust = q/rEff(rq)
"Electric boiler" description
This is a component model for a boiler based on electricity for heating a secondary fluid, normally water or a brine.
The component is set to an initial capacity that can be changed by a connected control.
The amount of power supplied will be accordingly.
Condition:
1. mSec*cp*(tSecOut - tSecIn) = q 2. rEff*wEl = qwhere rEff = rEff(rQ), rQ = q/qMx
Equation:
1. -mSec*cp *tSecIn + mSec*cpSec *tSecOut = q 2. +rEff *wEl = q
If mSec = 0:
1. tSecIn - tSecOut = 0
"Mixing chamber and post heater" description
Equations:
1. tSecOut = tSecOut 2. mIn = mSecOut - mExt 3. mExt = (mSecOut*tSecOut - mIn*tSecIn)/tExtIn , tSecIn > tSecOut = 0 , tSecIn <= tSecOutRelations:
1. qIn = mSecOut*cp(tSecAv)*(tSecOut-tSecIn) , tSecIn <= tSecOut = 0 , tSecIn > tSecOutComment: The component model could be used if you wish to define a temperature and mass flow rate somewhere in a secondary medium circuit. There must not be a pump in this circuit, because the mass flow rate is set by the component. If the temperature is too high, a medium of a lower temperature is added (tExtIn,mExt). The mass flow rate entering the component is correspondingly reduced. If the entry temperature on the other hand is too low, the necessary heat amount (qIn) is added to reach the correct value.
"Fully mixed storage tank" description
Condition:
cpSecOut*MAcc*(tAcc(next) - tAcc) = m*(cpSecIn*tSecIn - cpSecOut*tAcc(next)) *dTime (Backward Euler integration)Using:
rm = m*dTime/MAcc tSecOut = tAcc(next)Equation:
1. -rm*cpSecIn/cpSecOut *tSecIn + (1+rm) *tSecOut = tAccRelation:
1. MAcc = V*densSec
"Heated mixed storage tank" description
Condition:
cpSecOut*MAcc*(tAcc(next) - tAcc) = (q + m*(cpSecIn*tSecIn - cpSecOut*tAcc(next))) *dTime (Backward Euler integration)Using:
rm = m*dTime/MAcc tSecOut = tAcc(next)Equation:
1. -rm*cpSecIn/cpSecOut *tSecIn + (1+rm) *tSecOut = tAcc + q*dTime/(MAcc*cpSecOut)Relation:
1. MAcc = V*densSec
"Stratified storage tank" description
The model is based upon considering a tank with stable fluid, i.e. no convection, neither free nor forced.
The only mechanisms for temperature change is conduction and piston movement of the water.
The heat conduction is a transient one-dimensional heat conduction with temperature dependent
thermal properties. The boundary conditions use the inlet temperatures as ambient temperature
and a high heat transfer coefficient when there is inlet flow, a low value of no inlet flow.
"Heated stratified storage tank" description
The model is based upon considering a tank with stable fluid, i.e. no convection, neither free nor forced.
The only mechanisms for temperature change is conduction,
piston movement of the water and (if specified) the internal heating in all or parts of the tank height.
The heat conduction is a transient one-dimensional heat conduction with temperature dependent
thermal properties. The boundary conditions use the inlet temperatures as ambient temperature
and a high heat transfer coefficient when there is inlet flow, a low value of no inlet flow.
"1D heat source/sink" description
This is a model for one-dimensional transient heat condition. It connects to other components
through it's two external boundaries and the number of active layer boundaries.
A layer boundary is activated in the layer dialogue.
Boundaries are attached to each other by dragging one of the boundary components onto another one
also with a boundary, and releasing the mouse button when the boundaries turns red.
The component size normal to the heat flow is set through scaling (Edit+Move/Scale/Rotate + Y size scaling).
The enthalpical mean temperature is only calculated if the component consists of a single layer.
"Heat-conducting wall" description
This is a component model for a heat conducting slab, cylinder or sphere,
ref. one-dimensional transient heat conduction calculation.
Each of the two opposite boundaries can be connected to any other component with an active boundary.
"Zone (Temperature zone)" description
Version 2.6
This is a component model representing a polygonic enclosure, or zone, filled with a specific fluid (often air).
The zone may exchange heat through each of the polygon sides if the individual side has an active heat exchanging boundary,
otherwise it is adiabatic.
Any open secondary fluid connector inside the zone interacts with the enclosure:
If it supplies fluid, the fluid heat adds to the total zone heat.
If it sucks fluid, the connector temperature will be set to the zone temperature.
In the latter case there must be a temperature boundary condition at the connector.
The temperature value of this boundary condition will be overridden by the zone temperature.
A non-zero net mass flow will be drained or supplied by a special connector called "Infiltration".
All connectors in the zone must carry the same type of fluid.
If a secondary fluid connector with a different kind of fluid is dropped in the zone, the fluid will change to the zone fluid.
Conditions:
1. MZone*cpZone*(tZone-tZonePrv) = (SumCon(mSec*cpSec*(tSec-tZone)) + SumSide(area*HTC*(tSurf-tZone)+qDir))*dTime 2. MZone*(xHumZone-xHumZonePrv) = SumCon(mSec*(xHum-xHumZone))*dTimeDeveloping:
1. tZone*(MZone*cpZone + SumCon(mSec*cpSec)*dTime + SumSide(area*HTC)*dTime) = MZone*cpZone*tZonePrv + (SumCon(mSec*cpSec*tSec) + SumSide(area*HTC*tSurf+qDir))*dTime 2. xHumZone*(MZone + SumCon(mSec))*dTime = MZone*hHumZonePrv + SumCon(mSec*xHumSec)*dTimeSetting:
1. (MZone*cpZone + ASum*dTime)*tZone = MZone*cpZone*tZonePrv + BSum*dTime 2. (MZone + MSum*dTime)*xHumZone = MZone*xHumZonePrv + XSum*dTime
1. (MZone*cpZone + ASum*dTime)* tZone = MZone*cpZone*tZonePrv + BSum*dTime 2. (MZone + MSum*dTime) *xHumZone = MZone*xHumZonePrv + XSum*dTimeRelations:
1. qInt = SumCon(mcpSec*(tSec-tZone) + mSec*(xHumSec-xHumZon)
"Temperature source" description
This is a model for getting a specific temperature as input to other components,
as an alternative to using a boundary condition.
Note! All unused outlets must be supplied with a mass flow rate boundary condition (or a pump),
normally set to zero flow.
"Throttle valve" description
The valve is separating the pressure, represented by the dew-point temperature.
No other variables change when passing the component.
This component model carries no mechanism for controlling the flow
in order to have a specific superheat at exit of an evaporator.
Please, use an enthalpy control for this purpose (Add+Control + Enthalpy control).
"Back-up valve" description
Equation:
1. tDPIn - tDPOut = 0 , tDPOut > tDPInMn (Open valve) 1. tDPIn = tDPInMn , tDPOut < tDPInMn (Closed valve)To avoid problems in switching between the two kinds of equations, tDPIn is stepped 1 K per iteration until reaching the other equation.
"Resistor for secondary fluid circuit" description
Condition:
1. pSecOut - pSecIn = -dpNom*(m/mSecNom)**2*sign(m)With C1 = dpNom/mSecNom**2*sign(m) and linearizing round the current point:
Equation:
1. -pSecIn + pSecOut + 2*C1*mPrv *m = C1*mPrv**2with mPrv being the previous value of m <> 0.
Relations:
1. dpSec = pSecIn - pSecOut
"Secondary fluid tube with pressure drop" description
Condition:
1. pSecOut - pSecIn = -C1*mSec**2Equation:
1. -pSecIn + pSecOut + 2*C1*mSecPrv *mSec = C1*mSecPrv**2 with C1 = C3*rFrict/densSec*sign(mSec) C3 = 8*L/(Pi**2*lDiam**5)and mSecPrv being the previous value of mSec <> 0.
With rRe = 4*mSec/(Pi*lDiam*dv) we use:
rFrict = 64/rRe , rRe < 2000For smooth pipes:
rFrict = 0.3164*rRe**(-0.25) , 3000 < rRe < 1.E5 rFrict = 0.0032 + 0.221*rRe**(-0.237) , rRe > 1.E5For rough pipes:
1/sqrt(rFrict) = 1.14 - 2*log(rlRough + 9.3/(rRe*sqrt(rFrict))) , 3000 < rRe < 2E4 rFrict = (1.14 + 2*log(1/rlRough))**(-2) , rRe > 2E4
We have rough pipes if rlRough > rlRoughMin
with rlRoughMin = f(rRe) (given by ASHRAE)
With rRe in the region (2000 to 3000) it is interpolated between values for
2000 and 3000 to have a smooth transition between the laminar region
and the transition region.
Relations:
1. dpSec = pSecIn - pSecOut
"Pipe with heat loss" description
Condition:
1. ua*(tSecIn-tBuf-(tSecOut-tBuf))/ln((tSecIn-tBuf)/(tSecOut-tBuf)) = mcp*(tSecIn-tSecOut)With R = exp(ua/mcp) we have:
Equation:
1. tSecIn -R *tSecOut = (1-R)*tExtWhen abs(R-1) < 0.01 we use in stead (with sRfr = ua/(2*mcp)):
1. (1-sRfr) *tSecIn -(1+sRfr) *tSecOut = -2*sRfr*tBufIf mSec = 0:
1. tSecOut = tExtRelations:
1. aInt = lDiamInt * Pi * lPipe 2. aExt = lDiamExt * Pi * lPipe 3. a = 0.5*(aInt + aExt) 4. RInt = 1/(aInt*uInt) 5. RExt = 1/(aExt*uExt) 6. RPipe = ln(lDiamExt/lDiamInt)/(2*Pi*tcPipe*lPipe) 7. ua = 1/(RInt + RPipe + RExt) 8. u = ua/a 9. mcp = mSec*cpSec(tSecAv) 10. rUAMC = ua/mcp 11. q_ = mcp*(tSecIn-tSecOut) 12. dtLmtd = q_/ua 13. tSecAv = tExt+dtLmtd 14. q_a = q_/aInt
"Resistor for refrigerant circuit" description
Condition:
1. R_PsatgasT(tDPOut) - R_PsatgasT(tDPIn) = -dpNom*(mRfr/mRfrNom)**2*sign(mRfr)Equation:
1. tDPIn - tDPOut = C1/C2*mRfr**2 with C1 = dpNom/mRfrNom**2*sign(mRfr) C2 = (R_PsatgasT(tDPAv+dt)-R_PsatgasT(tDPAv))/dtRelations:
1. tDPAv = 0.5*(tDPIn+tDPOut) 2. dp = R_PsatgasT(tDPIn) - R_PsatgasT(tDPOut) 3. dtDP = tDPIn - tDPOut
"Refrigerant tube with pressure drop" description
Condition:
1. R_PsatgasT(tDPOut) - R_PsatgasT(tDPIn) = -C1*mRfr**2Equation:
1. tDPIn - tDPOut = C1/C2*mRfr**2 with C1 = C3*rFrict/densRfr*sign(mRfr) C2 = (R_PsatgasT(tDPAv+dt)-R_PsatgasT(tDPAv))/dt C3 = 8*L/(Pi**2*lDiam**5)With rRe = 4*mRfr/(Pi*lDiam*dv) we have:
rFrict = 64/rRe , rRe < 2000For smooth pipes:
rFrict = 0.3164*rRe**(-0.25) , 3000 < rRe < 1.E5 rFrict = 0.0032 + 0.221*rRe**(-0.237) , rRe > 1.E5For rough pipes:
1/sqrt(rFrict) = 1.14 - 2*log(rlRough + 9.3/(rRe*sqrt(rEffVol))) , 3000 < rRe < 2E4 rFrict = (1.14 + 2*log(1/rlRough))**(-2) , rRe > 2E4
We have rough pipes if rlRough > rlRoughMin
with rlRoughMin = f(rRe) (given by ASHRAE)
With rRe in the region (2000 to 3000) it is interpolated between values for
2000 and 3000 to have a smooth transition between the laminar region
and the transition region.
If mRfr = 0:
1. tDPIn - tDPOut = 0Relations:
1. dpRfr = pRfrIn - pRfrOut 2. dtDP = tDPIn - tDPOutComment: The component model uses relations valid for one-phase refrigerants. It may formally be used also in the two-phase domain, but then accuracy will not be good.
"Secondary fluid tube with elevation" description
Equation:
1. pSecIn - pSecOut = densSec*Grav*dZwith Grav being the gravity acceleration.
"Refrigerant tube with elevation" description
Conditions:
1. pRfrIn - pRfrOut = densRfr*Grav*dZwith Grav being the gravity acceleration.
Linearizes pRfr = R_PsatgasT(tDP) = A_p + B_p*tDPat tDP = tDPAv = 0.5*(tDPIn+tDPOut) giving:
Equation:
1. tDPIn - tDPOut = densRfr*Grav*pipEl/B_p
"Three-way valve for secondary fluid circuit" description
Conditions:
1. mSecOut1 = rmOut1*mIn 2. mSecOut2 = (1-rmOut1)*mInEquations:
1. rmOut1 *mSecIn - mSecOut1 = 0 2. (1-rmOut1)*mSecIn - mSecOut2 = 0
"Three-way valve for refrigerant circuit" description
Conditions:
1. mRfrOut1 = rmOut1*mRfrIn 2. mRfrOut2 = (1-rmOut1)*mRfrInEquations:
1. rmOut1 *mRfrIn - mRfrOut1 = 0 2. (1-rmOut1)*mRfrIn - mRfrOut2 = 0
"T-manifold for secondary fluid circuit" description
Condition:
1. mSecIn = mSecOut1 + mSecOut2Equation:
1. -mSecIn + mSecOut1 + mSecOut2 = 0
"T-header for secondary fluid circuit" description
Conditions:
1. mSecIn1*hRfrIn1+mSecIn2*hRfrIn2 = mSecOut*hRfrOut 2. mSecIn1+mSecIn2 = mSecOutLinearizes the enthalpy round tSec = tSecOut:
hSec = cpSecOut*tSec + H0SecOutThe result is:
Equations:
1. mSecIn1*tSecIn1 + mSecIn2*tSecIn2 - mSecOut*tSecOut = 0 2. mSecIn1 + mSecIn2 - mSecOut = 0If mSecOut = 0:
1. rm1 *tSecIn1 + (1-rm1) *tSecIn2 - mSecOut(previous) *tSecOut = 0 where rm1 = mSecIn1(previous)/mSecOut(previous)
"T-manifold for refrigerant circuit" description
Condition:
1. mRfrIn = mRfrOut1 + mRfrOut2Equation:
1. -mRfrIn + mRfrOut1 + mRfrOut2 = 0
"T-header for refrigerants circuit" description
Condition:
1. mRfrIn1*hRfrIn1+mRfrIn2*hRfrIn2 = mRfrOut*hRfrOutEquation:
1. mRfrIn1*hRfrIn1 + mRfrIn2*hRfrIn2 - mRfrOut*hRfrOut = 0If mRfrOut = 0:
1. rm1 *hRfrIn + (1-rm1) *hRfrIn2 - hRfrOut = 0 with rm1 = mSecIn1(previous)/mSecOut(previous) If mSecOut <> 0, however mSecIn1 = 0 or mSecIn2 = 0 mSecIn1 is set equal to 0.001*mSecIn1 respectively mSecIn2 equal to 0.001*mSecIn2 in the ordinary equations so that hRfrIn1 resp. hRfrIn2 is calculated.
"T-header for humid air" description
Conditions:
1. mHumIn1*hHumIn1 + mHumIn2*hHumIn2 = mHumOut*hHumOut 2. mHumIn1*xHumIn1 + mHumIn2*xHumIn2 = mHumOut*xHumOut 3. mHumIn1 + mHumIn2 = mHumOutLinearizing hHum = HX_H_tx(t,x) = A + B*t + C*x disregarding the product term D*t*x from the vapour heat capacity. Since the C*x term in eq. 1 will be satisfied by eq. 2 and term A by eq. 3, we only need the B*t term.
From this:
Equations:
1. mHumIn1*BIn1*tHumIn1 + BIn2*tHumIn2 - mHumOut*BOut*tHumOut = 0 2. mHumIn1*xHumIn1 + mHumIn2*xHumIn2 - mHumOut*xHumOut = 0 3. mHumIn1 + mHumIn2 - mHumOut = 0If mHumOut = 0:
1. tHumIn1 + rm2 *tHumIn2 -(1+rm2) *tHumOut = 0 with rm2 = (tHumOut-tHumIn1)/(tHumIn2-tHumOut)
"T-header for power" description
Condition:
1. wIn1 + wIn2 = wOutEquation:
1. wIn1 + wIn2 - wOut = 0
"Manifold for secondary fluid circuit" description
Condition:
1. mSecOut = nParal * mSecInwith nParal being the number of parallels.
Equation:
1. nParal *mSecIn - mSecOut = 0
"Header for secondary fluid circuit" description
Condition:
1. mSecIn = nParal * mSecOut with nParal being the number of parallels.Equation:
1. mSecIn - nParal *mSecOut = 0
"Simple building" description
This is a simplistic model for setting the energy demand of a house.
The house is supposed to be connected to a district heating network,
so data for the exchange with this must be supplied.
If the house is not connected, just set heat transfer area to 0.
Then each additional type of energy supply is specified.
Conditions:
1. wEl = wElDem(Time) 2. mOil = qOilDem(Time) / (fvOil*rEffOil) 3. mBio = qBioDem(Time) / (fvBio*rEffBio) 4. uDH*aDH*(tDHIn-tIndoor-(tDHOut- tIndoor))/ln((tDHIn- tIndoor)/(tDHOut- tIndoor)) = mDH*cp*(tDHIn-tDHOut), tIndoor = tIndoor(Time) Equations:1. wEl = wElDem(Time) 2. mOil = qOil/(rFuelOil*rEffOil) 3. mBio = qBio/(rFuelBio*rEffBio) 4. tDHIn -R *tDHOut = (1-R)*tIndoorwith
R = exp(uDH*aDH/mcpDH)
When abs(R-1) < 0.01 we use in stead (with s = ua/(2*mcp)):
1. (1-s) *tDHIn -(1+s) *tDHOut = -2*sDH*tIndoorIf mSec = 0:1. tSecOut = tIndoor
Relations: 1. qDH = mDH*(tDHIn - tDHOut) 2. qTot = wElDem+ qOilDem + qBioDem + qDH 3. qTotAll = qTot*nBld
District heating/cooling is modelled as a simple heat exchange vs. a fixed time varying function.
"Residential house" description
Conditions:
1. qHeat = QHeat*aBld*(tIn-tOut) * nBld 2. qTot = qHeat + (QTW*nResid + WAppl*aBld + QRad*nWnd)*nBld 3. wEl = qTot * rEl 4. mOil*rFuelOil*etaOil = qHeat*rOil 5. mBio*rFuelBio*etaBio = qHeat*rBio 6. uDH*raDH*aBld*(tDHIn-tAirIn-(tDHOut-tAirIn))/ln((tDHIn-tAirIn)/(tDHOut-tAirIn)) = mcp*(tSHIn-tDHOut)
Equations:
1. wEl = qTot*rEl 2. mOil = qTot*rOil/(rFuelOil*etaOil) 3. mBio = qTot*rBio/(rFuelBio*etaBio) 4. tDHIn -R *tDHOut = (1-R)*tAirInwith
qTot = (QHeat*aBld*(tIn-tOut) + QTW*nResid + WAppl*aBld + QRad*nWnd)*nBldand
R = exp(ua/mcp)
When abs(R-1) < 0.01 we use in stead (with sRfr = ua/(2*mcp)):
1. (1-sRfr) *tSecIn -(1+sRfr) *tSecOut = -2*sRfr*tBufIf mSec = 0:
1. tSecOut = tBuf
DH modelleres som en enkel varmeveksler mot fast tAirIn.
Flaten aDH = aBld * raDH
Resten av qHeat må dekkes av El, Oil eller Bio.
Det forutsettes at TW og Appl bare bruker El.
Bør også ha en enkel AC-modell.
Solkollektor og solceller kan inkorporeres ved å redusere
QHeat-verdien.
"Illustrative valve for secondary fluid circuit" description
Comment: You use this component model if you wish to add a valve in a secondary medium circuit with no modelling impact,
only to serve as an illustration. It has a lot of representing symbols.
"Illustrative valve for refrigerant circuit" description
Comment: You use this component model if you wish to add a valve in a refrigerant circuit with no modelling impact,
only to serve as an illustration. It has a lot of representing symbols.
"Illustrative filter for secondary fluid circuit" description
Comment: You use this component model if you wish to add a filter in a secondary medium circuit with no modelling impact,
only to serve as an illustration. It has a lot of representing symbols.
"Illustrative filter for refrigerant circuit" description
Comment: You use this component model if you wish to add a filter in a refrigerant circuit with no modelling impact,
only to serve as an illustration. It has a lot of representing symbols.
"Measuring device for refrigerant circuit" description
Comment: You use this component model if you need to know certain thermodynamic quantities
at specific locations in the plant, e.g. for exergy analysis.
"Temperature adapter for secondary fluid circuit" description
Comment: Separates the temperature, keeping all other variables.
"Pressure adapter for secondary fluid circuit" description
Comment: Separates the pressure, keeping all other variables.
"Mass flow adapter for secondary fluid circuit" description
Comment: Separates the mass flow rate, keeping all other variables.
"Humidity adapter for secondary fluid circuit" description
Comment: Separates the fraction, keeping all other variables.
"Dew-point temp. adapter for refrigerant circuit" description
Comment: Separates the dew-point temperatures, keeping all other variables.
"Enthalpy adapter for refrigerant circuit" description
Comment: Separates the enthalpy, keeping all other variables.
"Mass flow adapter for refrigerant circuit" description
Comment: Separates the mass flow rate, keeping all other variables.
"Power adapter for power circuit" description
Comment: Separates the power.