Skip to content

Feature: Reliability Modeling In the Simple Cycle Turbine Performance Model - #919

Draft
RHammond2 wants to merge 2 commits into
NatLabRockies:developfrom
RHammond2:feature/simple-cycle-reliability
Draft

RHammond2 wants to merge 2 commits into
NatLabRockies:developfrom
RHammond2:feature/simple-cycle-reliability

Conversation

@RHammond2

@RHammond2 RHammond2 commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

Integrate Reliability Modeling in the Simple Cycle Performance Model

This PR is to integrate the reliability capabilities into the SimpleCycleTurbinePerformanceModel. This integration manually reimplements the fractional availability so that the reliability inputs are scaled to model a single turbine. Using the number of turbines being modeled (N) to run the reliability model N times, and the system-level availability from each run is aggregated to get a new system-level result. The model must be run N times to ensure the resulting availability is not the same for each turbine.

Section 1: Type of Contribution

  • Feature Enhancement
    • Framework
    • New Model
    • Updated Model
    • Tools/Utilities
    • Other (please describe):
  • Bug Fix
  • Documentation Update
  • CI Changes
  • Other (please describe):

Section 2: Draft PR Checklist

  • Open draft PR
  • Describe the feature that will be added
  • Fill out TODO list steps
  • Describe requested feedback from reviewers on draft PR
  • Complete Section 8: New Model Checklist (if applicable)

TODO:

  • Delete todo items after feedback
  • Update the changelog
  • Tests for example case?

Type of Reviewer Feedback Requested (on Draft PR)

Structural feedback:

Implementation feedback: The following bullets represent the two TODO items noted in the code

  • Should the availability_type for the model be manually overridden to "minimum"? If we are assuming the model configuration is for a single system, then the turbine should likely only be able to run at the capacity of its weakest component.
  • Should intermediary and aggregate availability results be stored in the OpenMDAO outputs?

Other feedback: Any other thoughts are welcome

Section 3: General PR Checklist

  • PR description thoroughly describes the new feature, bug fix, etc.
  • Added tests for new functionality or bug fixes
  • Tests pass (If not, and this is expected, please elaborate in the Section 6: Test Results)
  • Documentation
    • Docstrings are up-to-date
    • Related docs/ files are up-to-date, or added when necessary
    • Documentation has been rebuilt successfully
    • Examples have been updated (if applicable)
  • CHANGELOG.md
    • At least one complete sentence has been provided to describe the changes made in this PR
    • After the above, a hyperlink has been provided to the PR using the following format:
      "A complete thought. [PR XYZ]((https://github.com/NatLabRockies/H2Integrate/pull/XYZ)", where
      XYZ should be replaced with the actual number.

Section 4: Related Issues

Section 5: Impacted Areas of the Software

Section 5.1: New Files

  • path/to/file.extension
    • method1: What and why something was changed in one sentence or less.

Section 5.2: Modified Files

  • h2integrate/converters/combustion_machines/turbine_simple_cycle.py
    • SimpleCycleTurbinePerformanceModel: Incorporate the reliability modeling setup and computations.

Section 6: Additional Supporting Information

Section 7: Test Results, if applicable

Section 8 (Optional): New Model Checklist

  • Model Structure:
    • Follows established naming conventions outlined in docs/developer_guide/coding_guidelines.md
    • Used attrs class to define the Config to load in attributes for the model
      • If applicable: inherit from BaseConfig or CostModelBaseConfig
    • Added: initialize() method, setup() method, compute() method
      • If applicable: inherit from CostModelBaseClass
  • Integration: Model has been properly integrated into H2Integrate
    • Add the new model to the appropriate __init__.py file to ensure it is properly imported and used in supported_models.py
    • Added to supported_models.py
    • If a new commodity_type is added, update create_financial_model in h2integrate_model.py
  • Tests: Unit tests have been added for the new model
    • Pytest-style unit tests
    • Unit tests are in a "test" folder within the folder a new model was added to
    • If applicable add integration tests
  • Example: If applicable, a working example demonstrating the new model has been created
    • Input file comments
    • Run file comments
    • Example has been tested and runs successfully in test_all_examples.py
  • Documentation:
    • Write docstrings using the Google style
    • Model added to the main models list in docs/user_guide/model_overview.md
      • Model documentation page added to the appropriate docs/ section
      • <model_name>.md is added to the _toc.yml
    • Run generate_class_hierarchy.py to update the class hierarchy diagram in docs/developer_guide/class_structure.md

@RHammond2
RHammond2 requested a review from cfrontin October 8, 2026 22:36

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant