Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AirTerminal:SingleDuct:VAV:Reheat inputs for Constant and Fixed Minimum Air Flow Fraction/Rate do not get autosized for Method = Scheduled #10748

Open
1 of 3 tasks
rraustad opened this issue Sep 19, 2024 · 0 comments
Labels
Defect Includes code to repair a defect in EnergyPlus

Comments

@rraustad
Copy link
Contributor

rraustad commented Sep 19, 2024

Issue overview

AirTerminal:SingleDuct:VAV:Reheat,
  N2 , \field Constant Minimum Air Flow Fraction
       \type real
       \autosizable
       \default autosize
       \note This field is used if the field Zone Minimum Air Flow Input Method is Constant
       \note If the field Zone Minimum Air Flow Input Method is Scheduled, then this field
       \note is optional; if a value is entered, then it is used for sizing normal-action reheat coils.
       \note If both this field and the following field are entered, the larger result is used.
       \note The values for autosizing are picked up from the Sizing:Zone input fields
       \note "Cooling Minimum Air Flow per Zone Floor Area", "Cooling Minimum Air Flow", and
       \note "Cooling Minimum Air Flow Fraction". If there is no sizing calculation a default of
       \note 0.000762 m3/s-m2 (0.15 cfm/ft2) is used.
  N3 , \field Fixed Minimum Air Flow Rate
       \type real
       \units m3/s
       \autosizable
       \default autosize

More than 1 issue here with these inputs for constant and fixed using the same variable DesignMinAirFrac when Zone Minimum Air Flow Input Method = Scheduled. I believe the fixed choice should use DesignFixedMinAir as used in the NoReheat version of this TU otherwise the constant choice input gets overwritten. A search for DesignMinAirFrac shows that this input is not autosized. A search for DesignFixedMinAir also shows that the Fixed input is never autosized. The variables ZoneMinAirFracDes and ZoneFixedMinAir are autosized but are not used when Method = Scheduled. Why is there an alternate variable describing these 2 input fields?

    CurrentModuleObject = "AirTerminal:SingleDuct:VAV:Reheat";

    state.dataSingleDuct->sd_airterminal(state.dataSingleDuct->SysNumGSI).ZoneMinAirFracDes = Numbers(2);
    if (lNumericBlanks(2)) {
        state.dataSingleDuct->sd_airterminal(state.dataSingleDuct->SysNumGSI).ConstantMinAirFracSetByUser = false;
        state.dataSingleDuct->sd_airterminal(state.dataSingleDuct->SysNumGSI).DesignMinAirFrac = 0.0;
    } else {
        state.dataSingleDuct->sd_airterminal(state.dataSingleDuct->SysNumGSI).ConstantMinAirFracSetByUser = true;
        state.dataSingleDuct->sd_airterminal(state.dataSingleDuct->SysNumGSI).DesignMinAirFrac = Numbers(2);
    }

    state.dataSingleDuct->sd_airterminal(state.dataSingleDuct->SysNumGSI).ZoneFixedMinAir = Numbers(3);
    if (lNumericBlanks(3)) {
        state.dataSingleDuct->sd_airterminal(state.dataSingleDuct->SysNumGSI).FixedMinAirSetByUser = false;
        state.dataSingleDuct->sd_airterminal(state.dataSingleDuct->SysNumGSI).DesignMinAirFrac = 0.0;
    } else {
        state.dataSingleDuct->sd_airterminal(state.dataSingleDuct->SysNumGSI).FixedMinAirSetByUser = true;
        state.dataSingleDuct->sd_airterminal(state.dataSingleDuct->SysNumGSI).DesignMinAirFrac = Numbers(3);

This alternate variable for these 2 inputs fields are used when Method = Scheduled:

if (this->ZoneMinAirFracMethod == MinFlowFraction::Scheduled) {
    // need a value for sizing.
    if (this->ConstantMinAirFracSetByUser) {
        this->ZoneMinAirFracDes = this->DesignMinAirFrac;
        // if both inputs are defined, use the max
        if (this->FixedMinAirSetByUser) {
            this->ZoneMinAirFracDes = min(1.0, max(this->ZoneMinAirFracDes, SafeDivide(this->DesignFixedMinAir, this->MaxAirVolFlowRate)));
        }
        // if only fixed is defined, use the value
    } else if (this->FixedMinAirSetByUser) {
        this->ZoneMinAirFracDes = min(1.0, SafeDivide(this->DesignFixedMinAir, this->MaxAirVolFlowRate));
    } else {
        // use an average of min and max in schedule
        this->ZoneMinAirFracDes =
            (GetScheduleMinValue(state, this->ZoneMinAirFracSchPtr) + GetScheduleMaxValue(state, this->ZoneMinAirFracSchPtr)) / 2.0;
    }
}

Issue provided by Trane North America.

Details

Some additional details for this issue (if relevant):

  • Platform (Operating system, version)
  • Version of EnergyPlus (if using an intermediate build, include SHA)
  • Unmethours link or helpdesk ticket number

Checklist

Add to this list or remove from it as applicable. This is a simple templated set of guidelines.

@rraustad rraustad added the Defect Includes code to repair a defect in EnergyPlus label Sep 19, 2024
@rraustad rraustad changed the title AirTerminal:SingleDuct:VAV:Reheat inputs for Constant and Fixed Minimum Air Flow Fraction/Rate do not get autosized AirTerminal:SingleDuct:VAV:Reheat inputs for Constant and Fixed Minimum Air Flow Fraction/Rate do not get autosized for Method = Scheduled Sep 20, 2024
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

No branches or pull requests

1 participant