Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Refrigeration system in EnergyPlus

asked 2023-06-08 03:36:56 -0500

Zakaria's avatar

updated 2023-06-14 07:27:52 -0500

Hello community,

I'm having trouble understanding how refrigeration systems work, and I'd really appreciate any help I can get to clarify my understanding. Please feel free to correct me if I have any misconceptions.

Thank you.

image description

It starts with calculating the internal loads of the refrigerated case using the heat balance model so we know the heat that needs to be rejected. image description

The stat of the refrigerant information is passed to the compressor model and uses the performance curves to calculate the compressor power and the cooling capacity.

image description

The information on refrigerant state is then used in the condenser model to calculate the condensing temperature and enthalpy of the refrigerant entering the refrigerated case as well as the condenser fan power. The condenser is modeled via the heat rejection performance curve.

image description image description image description

The air inlet temperature and evaporating temperature are used to calculate the actual cooling capacity of the evaporating system (i.e. the air chiller object with European Standard Ratings).

image description

The sensible and latent loads are then calculated as:

image description

Question :

  1. How the actual reject heat by the condenser is calculated?
  2. What does E stancd for in the correction factor of the rated heat rejected (1 −7.17E − 5 × Elevation)?
  3. what is the WetCoilFactor?
edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted

answered 2023-06-14 08:11:50 -0500

updated 2023-06-14 15:09:11 -0500

I am not very familiar with this model but I can give you some insight into what I see in code.

1) How the actual reject heat by the condenser is calculated?

The description above says "The condenser is modeled via the heat rejection performance curve." which led me to this input field in the IDD. So I would think the user would provide a performance curve that is a function of the temperature difference between the refrigerant condensing temperature and ambient.

         \memo Air cooled condenser for a refrigeration system (Refrigeration:System).
  A2 ,  \field Rated Effective Total Heat Rejection Rate Curve Name
        \note Rating as per ARI 460
        \note Be sure the rating corresponds to the correct refrigerant
        \type object-list
        \object-list UnivariateFunctions
        \note HeatRejection(W)=C1 +C2(Condensing Temp - Entering Air Temp, deg C)
        \note Will be adjusted for elevation automatically

2) What does E stand for in the correction factor of the rated heat rejected (1 −7.17E − 5 × Elevation)?

The E is for exponential notation "E-5" or 0.0000717. This appears to be an empirical correlation to correct the heat rejection rate for elevation. Maybe ARI 460 will discuss this correlation?

3) what is the WetCoilFactor?

I found this comment in code and believe the WetCoilFactor is a way to translate between the European standard ratings for Nominal and Standard capacity. This excerpt is from the Engineering Reference: European Standard Ratings Five standard rating conditions have been defined in a European rating system. The capacity is reported at the rating condition as either the “Nominal” or “Standard” capacity. The “Nominal” capacity includes both latent and sensible loads and the “Standard” capacity includes sensible loads only. “Wet Coil Factors” are provided with the ratings to translate between the two, along with a chart giving the impact of Air Inlet Temperature on the Wet Coil Factor. The user identifies the rating condition used and whether the capacity input is “Nominal” or “Standard”. These rating factors, along with the air inlet temperature and evaporating temperature are used to calculate the actual cooling capacity.

Comment found in the refrigeration model code. Note that the PARAMETER variables are arrays with for example 1.35 being EuropeanWetCoilFactor[0] and 1.0 being EuropeanWetCoilFactor[4] (which I don't see being used here but is used elsewhere).

case SHRCorrectionType::European: {
    // With European ratings, either start with rated total sensible capacity or rated total capacity
    //    If rated total capacity is used, 'get input'
    //    translated it to rated total sensible capacity using
    //    PARAMETER ::EuropeanWetCoilFactor = (/1.35D0, 1.15D0,  1.05D0,  1.01D0,   1.0D0/)
    //    That sensible capacity rating was then turned to a rated UnitLoadFactor using
    //    the rated temperature difference. That sensible rating was also corrected
    //    for refrigerant and fin material in 'get input' and is given as UnitLoadFactor
    //  The total (sens + latent) capacity is equal to that * DT1 * WetCoilFactor(TcoilIn)
    //    Sensible capacity max already has DT1, just need WetCoilFactor(TcoilIn)
    // PARAMETER ::EuropeanWetCoilFactor = (/1.35D0, 1.15D0,  1.05D0,  1 ...
edit flag offensive delete link more

answered 2024-02-04 10:47:26 -0500

Zakaria's avatar

updated 2024-02-04 10:50:50 -0500

I appreciate your answer, @rraustad; it really made things clearer for me. I believe I now have a better understanding of the refrigeration model and have created the flowchart below after reviewing the code in ""

image description

There's one thing I'm still unsure about, specifically the Coil Material Correction and Refrigerant Correction coefficients. In the Refrigeration model code snippet, I noticed these coefficients are mentioned only three times, and a comment mentioned that they're ONLY used if the Capacity Rating Type is CapacityTotalSpecificConditions

        // Correction factor from manufacturer's rating for coil material, default 1.0
        ++NumNum;                                 // N7
        WarehouseCoil(CoilID).CorrMaterial = 1.0; // default value
        if (!lNumericBlanks(NumNum)) WarehouseCoil(CoilID).CorrMaterial = Numbers(NumNum);

        // Correction factor from manufacturer's rating for refrigerant, default 1.0
        ++NumNum;                                    // N8
        WarehouseCoil(CoilID).CorrRefrigerant = 1.0; // default value
        if (!lNumericBlanks(NumNum)) WarehouseCoil(CoilID).CorrRefrigerant = Numbers(NumNum);
        // ONLY used if the Capacity Rating Type is CapacityTotalSpecificConditions

        // Convert all European sensible capacities to sensible load factors
        if ((WarehouseCoil(CoilID).ratingType != RatingType::UnitLoadFactorSens) &&
            (WarehouseCoil(CoilID).ratingType != RatingType::RatedCapacityTotal))
            WarehouseCoil(CoilID).UnitLoadFactorSens = WarehouseCoil(CoilID).RatedSensibleCap / WarehouseCoil(CoilID).RatedTemperatureDif;
        // Now have UnitLoadFactorSens for all except RatingType == RatedCapacityTotal

        // Apply material and refrigerant correction factors to sensible load factors
        if ((WarehouseCoil(CoilID).ratingType != RatingType::RatedCapacityTotal))
            WarehouseCoil(CoilID).UnitLoadFactorSens *= WarehouseCoil(CoilID).CorrMaterial * WarehouseCoil(CoilID).CorrRefrigerant;
        // First calc of ratedsensiblecap for type type unitloadfactorsens
        WarehouseCoil(CoilID).RatedSensibleCap = WarehouseCoil(CoilID).UnitLoadFactorSens * WarehouseCoil(CoilID).RatedTemperatureDif;

However, at the beginning of the airchiller subroutine you provided, there's a comment stating, Correction factors for material and refrigerant are applied to all of these ratings. and I couldn't find where these coefficients are used for the European Standard Ratings. Just so you know, when I change the value from the default (which is 1), it affects the airchiller performance.

Any information on these coefficients?

// The air chiller performance is based on three types of manufacturers ratings,
// Unit Load Factor, Total Capacity Map, or a set of European standards.
// Correction factors for material and refrigerant are applied to all of these ratings.
edit flag offensive delete link more


I am not familiar with this model but it may be that the comment is wrong. It looks like these coefficients are applied to all European ratings using the code you show above (e.g., if(ratingType != RatedCapacityTotal) and the like). See input for Capacity Rating Type in Refrigeration:AirChiller.

rraustad's avatar rraustad  ( 2024-02-13 08:15:23 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Training Workshops


Question Tools

1 follower


Asked: 2023-06-08 03:36:56 -0500

Seen: 178 times

Last updated: Feb 04