NREL / pCrunch

Apache License 2.0
8 stars 11 forks source link

Fatigue damage and DEL calculation #23

Closed rrvishnu13 closed 10 months ago

rrvishnu13 commented 10 months ago

Dear Team,

I am using pCrunch to calculate fatigue damage/DEL for tension time series. I am encountering some issues in interpreting the compute_del function in analysis.py.

  1. In DEL calculation line the variable 'elapsed' is used in the denominator which is the total time of the simulation. It is my understanding that this should be the total number of cycles or elapsed time * delFrequency. Could you please clarify?

  2. In the linear Endurance curve creation, based on the example given for fatpack for generating endurance curves, to generate a curve having a given slope and y-intercept of log-log SN curve of Scin, this has to be modified as :

    curve = fatpack.LinearEnduranceCurve(1) #curve.Sc = 1  
    curve.m = slope  
    curve.Nc = Scin

    This seems to produce the correct curve. Could you please have a look?

gbarter commented 10 months ago

Thank you for your questions and use of pCrunch. In response:

  1. The use of the elapsed time in seconds in the denominator at that line sets the DELs to be 1-Hz equivalent. We should probably comment this a bit better and even make the desired output frequency equivalent a user-option.
  2. I don't think your use of fatpack there is accurate. Please see the code documentation here. For a linear S-N curve, it is only necessary to define one point and the slope of the line in log-log space. In pCrunch, we use the failure stress such that 1 cycle at that stress amplitude leads to failure. Thus, Nc=1 and Sc=Sult. By then passing in the stress-count histogram from the rainflow counting routine, it computes the damage accumulation. From the suggested code that you have provided, it looks like Sc and Nc are swapped.
rrvishnu13 commented 10 months ago

Thank you for the quick response!

  1. Okay, an implicit assumption of 1Hz makes sense.

  2. The issue was a difference in pCrunch's SN curve definition( $S=AN^{-1/m}$ ) vs an alternative definition of SN curve ($A = S^{m}N$). But I see that you are correct.

Thank you very much for the clarifications !