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

User Defined Plant Component Refactor #7649

Merged
merged 16 commits into from
Dec 19, 2019
Merged

Conversation

mitchute
Copy link
Collaborator

@mitchute mitchute commented Dec 8, 2019

Pull Request Author

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

  • 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

Reviewer

This will not be exhaustively relevant to every PR.

  • 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

@mitchute mitchute added the Refactoring Includes code changes that don't change the functionality of the program, just perform refactoring label Dec 8, 2019
@mitchute mitchute added this to the EnergyPlus Future milestone Dec 8, 2019
@mitchute mitchute self-assigned this Dec 8, 2019
@mitchute mitchute changed the title User Defined Component(s) Plant Component Refactor User Defined Plant Component Refactor Dec 11, 2019
@mitchute
Copy link
Collaborator Author

Ready for review

@Myoldmopar
Copy link
Member

I merged develop in and addressed the tiny conflict along the way, I'll review the code now and let CI work on it overnight to make sure my conflict resolution wasn't correct.

Copy link
Member

@Myoldmopar Myoldmopar left a comment

Choose a reason for hiding this comment

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

Everything looks good on the code side.

@@ -1440,6 +1441,7 @@ namespace EnergyPlus {
this_comp.TypeOf_Num = TypeOf_PlantComponentUserDefined;
this_comp.GeneralEquipType = GenEquipTypes_PlantComponent;
this_comp.CurOpSchemeType = UnknownStatusOpSchemeType;
this_comp.compPtr = UserDefinedComponents::UserPlantComponentStruct::factory(CompNames(CompNum));
Copy link
Member

Choose a reason for hiding this comment

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

Simple enough.

sim_component.OptLoad = OptLoad;
sim_component.CompNum = EquipNum;
}
sim_component.compPtr->simulate(sim_component_location, FirstHVACIteration, CurLoad, RunFlag);
Copy link
Member

Choose a reason for hiding this comment

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

All good here.

@@ -464,6 +466,7 @@ void EnergyPlusFixture::clear_all_states()
UnitarySystems::clear_state();
UnitHeater::clear_state();
UnitVentilator::clear_state();
UserDefinedComponents::clear_state();
Copy link
Member

Choose a reason for hiding this comment

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

Excellent!


void initialize(int LoopNum, Real64 MyLoad);

void report(int LoopNum);
};
Copy link
Member

Choose a reason for hiding this comment

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

Nicely done with clean function names. 👍

{
// Process the input data
if (GetPlantCompInput) {
GetUserDefinedPlantComponents();
Copy link
Member

Choose a reason for hiding this comment

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

Right, just getting plant objects, great.

if (calledFromLocation.loopNum != this->Loop(loop).LoopNum) continue;
if (calledFromLocation.loopSideNum != this->Loop(loop).LoopSideNum) continue;
thisLoop = loop;
}
Copy link
Member

Choose a reason for hiding this comment

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

This "feels" like an odd way to do this, but I'm sure it's just pulled from the original code, so no need to change anything, just unusual. 🤷‍♂️

DataPlant::PlantLoop(this->Loop(loop).LoopNum).FluidIndex,
RoutineName);
this->Loop(loop).InletTemp = DataLoopNode::Node(this->Loop(loop).InletNodeNum).Temp;
this->Loop(loop).InletMassFlowRate = DataLoopNode::Node(this->Loop(loop).InletNodeNum).MassFlowRate;
Copy link
Member

Choose a reason for hiding this comment

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

This is all a nice cleanup.

@Myoldmopar
Copy link
Member

If CI is happy, this can merge in the morning. Thanks, @mitchute

@Myoldmopar Myoldmopar merged commit 6315024 into develop Dec 19, 2019
@Myoldmopar Myoldmopar deleted the plantCompUsrDefRefactor branch December 19, 2019 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Refactoring Includes code changes that don't change the functionality of the program, just perform refactoring
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants