MHKiT-Software / MHKiT-Python

MHKiT-Python provides the marine renewable energy (MRE) community tools for data processing, visualization, quality control, resource assessment, and device performance.
https://mhkit-software.github.io/MHKiT/
BSD 3-Clause "New" or "Revised" License
47 stars 45 forks source link

MHKiT Loads Questions #217

Closed kmacolini closed 1 year ago

kmacolini commented 1 year ago

Hi there! This is not an issue--just a couple questions from someone with a beginner level understanding of rainflow counting and cumulative damage.

Why was a 4-point rainflow counting method chosen for use in the loads module over a 3-point method? Also, how are half cycles accounted for using the fatpack package implemented in the MHKiT damage_equivalent_load function?

I'd like to confirm that the function follows IEC standards for cycle counting, since I have a foggy understanding about how fatpack works (seems like it has something to do with concatenation of residuals).

Thank you!

ssolson commented 1 year ago

Hey @kmacolini thank you for your interest in MHKiT. I do not know the answers to all of your questions so let us see if we can get the author @hivanov-nrel to take a look at them.

hivanov-nrel commented 1 year ago

Hey @kmacolini , thank you for your question. I see that you have received an answer from the creator of fatpack regarding the 4-point rainflow counting method - hopefully that helped clear up some things. As for how half-cycles are accounted for, I would point you to the function description of find_rainflow_ranges where it states:

Returns the ranges by first determining the reversals of the dataseries y classified into k loaded classes, then the cycles and residue of the complete series are found by concatenating the residue after the first pass of the rainflow algorithm and applying the algorithm a second time.

Following 10.6 of IEC TS 62600-3, the number of divisions of the load range is well above 100. As mentioned by Gunnstein, there may be edge cases where the method of half cycle counting would result in differences. The MHKiT function has been validated against a more sophisticated software (Mlife) using wind turbine data and the damage equivalent load results yielded a correlation coefficient of at least 0.92. Regardless, if you find that your results seem erroneous, please reach out to us.

Let us know if you have any other questions!

kmacolini commented 1 year ago

Hi @hivanov-nrel, thank you for your quick response. Both conversations have been incredibly helpful. I might have misunderstood the last line of section 10.6. Anyhow, it is now a matter of choosing which method to use.

Thank you for your help on this (and to the rest of the team)!

ssolson commented 1 year ago

Thank you @hivanov-nrel!