Mlife - User Defined Distribution

Provide feedback, request enhancements, and get help with wind-turbine computer-aided engineering tools.

Moderators: Bonnie.Jonkman, Jason.Jonkman

Luke.Cunningham
Posts: 13
Joined: Thu Sep 27, 2018 10:53 am
Organization: Trinity College Dublin
Location: Ireland

Mlife - User Defined Distribution

Postby Luke.Cunningham » Mon Jan 21, 2019 10:25 am

Hi,

I am attempting to use MLIfe with a user defined, 4 variable probability distribution and I have ran into some questions/problems.

When selecting to use a User Defined Distribution, why is it necessary to still specify the Wind Speed Channel for fatigue calculations? Is there any way around this? Why is this necessary if using a User Defined Distribution? I have ran a large number of simulations without Wind Speed as an output and would ideally avoid re-running them!


Thanks,

Luke Cunningham

Jason.Jonkman
Posts: 4750
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: Mlife - User Defined Distribution

Postby Jason.Jonkman » Tue Jan 22, 2019 12:45 pm

Dear Luke,

The mean wind speed of each simulation is needed in MLife's fatigue calculation to determine which wind-speed bin the simulation data falls in to assign the proper probability of that simulation for its contribution to the overall lifetime.

If your simulation data does not have a wind speed output, presumably you know in some other way which bin each simulation is associated with. But you'd have to modify the MLife source code to define this without the wind speed output.

Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

Luke.Cunningham
Posts: 13
Joined: Thu Sep 27, 2018 10:53 am
Organization: Trinity College Dublin
Location: Ireland

Re: Mlife - User Defined Distribution

Postby Luke.Cunningham » Wed Feb 06, 2019 1:39 pm

Hi Jason,

Thank you for your reply. I now have Mlife running with the User Defined Distrubtion.

Perhaps you could offer further insight into some questions I have regarding using Mlife:

1. When defining th LUlt for parameters, is it assumed that the LUlt will be in the same units as the paramter is defined? For example, FAST outputs 'FAIRTEN'in N, while a parameter such as 'TwrBsFxt' is listed in KN. I assume the LUlt for FAIRTEN should be defined in N and that of TwrBsFxt in KN?

2. What would be common reason for the 'Lifetime Damage' and 'Time until Failure 'to be calculated as negative numbers or 'NaN'? The time series I have develoepd for the outputs are all fully intact (i.e. no NaN values) and look to me to be reasonable. I would have thought that even if parameters such as 'LUlt' or 'm' are poorly chosen that this would result in very small or very large values of 'Lifetime Damage' and 'Time until Failure' and, as such, would assume there is something wrong with my .mlif file inputs. I have attached it below as reference.
TCDCoupledExample.txt
(108.74 KiB) Downloaded 58 times


Thank you for your time and assistance, as always,

Kind regards,
Luke Cunningham

Jason.Jonkman
Posts: 4750
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: Mlife - User Defined Distribution

Postby Jason.Jonkman » Wed Feb 06, 2019 2:16 pm

Dear Luke,

Regarding (1), yes.

Regarding (2), I'm not sure. I don't recall running into that problem myself (granted, I don't run MLIfe very often). I would probably start by reviewing the rainflow cycle counts for correctness.

Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

Luke.Cunningham
Posts: 13
Joined: Thu Sep 27, 2018 10:53 am
Organization: Trinity College Dublin
Location: Ireland

Re: Mlife - User Defined Distribution

Postby Luke.Cunningham » Thu Feb 07, 2019 5:14 am

Hi Jason,


Okay, thanks. I will have a look at that.

Thank you,
Luke Cunningham

Conor.White
Posts: 5
Joined: Sat Mar 21, 2020 6:33 am
Organization: Trinity College Dublin
Location: Ireland

Re: Mlife - User Defined Distribution

Postby Conor.White » Sat Mar 21, 2020 8:18 am

Hi,

I am conducting further work based on the research Luke carried out. I am having a similar issue to what he describes in the second question in his second post:

What would be common reason for the 'Lifetime Damage' and 'Time until Failure 'to be calculated as negative numbers or 'NaN'. The time series I have develoepd for the outputs are all fully intact (i.e. no NaN values) and look to me to be reasonable.


Looking at the short term fatigue statistics I have discovered that several of the 404 different cases that I ran feature the value 'inf' for the tower base moments in the x and y directions, so I assume this leads to the 'NaN' value when extrapolating for the lifetime fatigue statistics. I have looked extensively through the MLife code which computes the short term fatigue statistics and cannot find the reason behind this 'Inf' value. I think the 'inf' value may be arising because somewhere in the code a number is being divided by 0. However I cannot find the source of it and I am confused as several of my test cases compute the fatigue statistics correctly while other cases do not (each case was simply an OpenFAST simulation with varying wind and wave conditions).

Like Luke I am using the same 4 variable probability distribution however I don't think this would have an effect on the short term fatigue statistics if it were to be incorrect. I am starting to lean towards the fact that this code be an issue with the MLife code?

I am wondering if anyone has a solution to this problem as I have run out of ideas. I have attached the short term fatigue statistics which show how some cases are not being computed correctly while others are. I would be vary grateful for any help on this issue.

Kind regards,
Conor White.
Attachments
TMD_Short-term_Damage_Rate.txt
(196.46 KiB) Downloaded 13 times

Jason.Jonkman
Posts: 4750
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: Mlife - User Defined Distribution

Postby Jason.Jonkman » Sat Mar 21, 2020 9:36 am

Dear Conor,

What does the time series look like for a case that is resulting in "Inf" in the short-term damage rate? Do you have the same problem whether you enable or disable the Goodman correction?

Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

Conor.White
Posts: 5
Joined: Sat Mar 21, 2020 6:33 am
Organization: Trinity College Dublin
Location: Ireland

Re: Mlife - User Defined Distribution

Postby Conor.White » Sat Mar 21, 2020 10:43 am

Hi Jason,

Thank you for the fast response. Only one of the 404 output file produces 'inf' for the short term fatigue for the tower base moments in the x direction TwrBsMxt. I have attached this file called 'OFWT_11.00_114.28_3.95_12.73.out'. Interestingly this is the only output file of the 404 which produces the 'inf' value for the TwrBsMxt (each of the 404 output files are just varying metocean conditions).

I have also attach the file "OFWT_20.10_-24.69_3.95_12.73.out" which is an arbitrarily chosen example of one of the cases in which the 'inf' value occurs for the tower base moment in the y direction. Of my 404 cases about 100 produce this 'inf' value for the TwrBsMyt. All of these time-series appear to be correct. Please note that I have only attached a small portion of the two output files as the original hour long time-series was too large to attach.

The problem doesn't occur when I disable the Goodman correction so obviously the issue must be arising from the part of the code that computes this correction. I have examined this in the source code however the solution isn't obvious to me as none of the variables in the 'cyclesToFailure' equation appear to produce values that would result in 'inf' for the short-term fatigue statistics. I have included the code extract which I am referring to from the 'compute_fatigue_per_DEL_type.m' function:

switch DEL_Type
case 1 % Goodman correction with a specified fixed mean
cycleRanges = cycles(:,3);
case 2 % Goodman correction with a fixed zero mean
cycleRanges = cycles(:,3); % was 5
case 3 % no Goodman correction
cycleRanges = cycles(:,1);
otherwise
% error

end

And later in the code:

% Compute cycles to failure per Equation 6 of the Theory manual.

cyclesToFailure = ( ( Fatigue.ChanInfo(iCh).LUlt - abs( double(lmf) ) )./( 0.5*cycleRanges ) ).^SNslope;

UPDATE:
I just realised could this issue be due to choosing an incorrect value for LUlt, given that it is used in the cyclesToFailure equation above? Given I am computing the tower base moments and shear force I simply used the value for LUlt in which Luke (the previous poster - I am conducting similar work to him) used which was 31,875 kN. I haven't yet verified where he got this value from so it may be incorrect.

Thanks for the help,
Conor.
Attachments
OFWT_20.10_-24.69_3.95_12.73.txt
(60.88 KiB) Downloaded 9 times
OFWT_11.00_114.28_3.95_12.73.txt
(123.22 KiB) Downloaded 8 times

Jason.Jonkman
Posts: 4750
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: Mlife - User Defined Distribution

Postby Jason.Jonkman » Sat Mar 21, 2020 9:36 pm

Dear Conor,

Yes, my guess is the problem is related to the setting of LUlt. It looks like many of the loads are higher than 31875, which would indicate immediate failure. I would recommend setting LUlt above the highest absolute maximum load across all time series (and distinct for shear forces, axial forces, bending moments, and torsion). See our related FAQ for more information: https://nwtc.nrel.gov/faq#TypeLMF.

Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

Conor.White
Posts: 5
Joined: Sat Mar 21, 2020 6:33 am
Organization: Trinity College Dublin
Location: Ireland

Re: Mlife - User Defined Distribution

Postby Conor.White » Mon Mar 23, 2020 6:00 am

Hi Jason,

Thank you for your reply. setting LUlt above the highest absolute maximum load across all time series solved the issue, however I have another question;

Given that I am looking at the tower base shear forces in the x,y and z directions and the tower base moments in the x,y and z directions I used MExtremes to find the absolute maximum values for these 6 channels across my 404 .out files. I applied the methodology of scaling these maxima by a factor of 20 to obtain the values for LUlt as suggested in the FAQ. My question is should I take the maximum value of the three base moment channels x,y and z for example, and use this number multiplied by a factor of 20 for the LUlt for all of the base moment components (i.e TwrBsMxt, TwrBsMyt and TwrBsMzt) or should I take the maximum of each individual base moment channel scaled by a factor of 20 and use that as the LUlt value? e.g using three different LUlt values for the three base moment channels as opposed to using the overall maximum LUlt value for the three base moment channels.

Thanks for the help,
Conor.

Jason.Jonkman
Posts: 4750
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: Mlife - User Defined Distribution

Postby Jason.Jonkman » Mon Mar 23, 2020 7:41 am

Dear Conor,

I'm glad increasing LUlt solved your problem.

Assuming your tower is axisymmetric, I would set 4 unique values of LUlt for each cross section, i.e.:

Tower-Base Shear Forces (x or y): Factor*MAX( SQRT( TwrBsFxt^2 + TwrBsFyt^2) )
Tower-Base Axial Force (z): Factor*MAX( ABS(TwrBsFzt) )
Tower-Base Bending Moments (x or y): Factor*MAX( SQRT( TwrBsMxt^2 + TwrBsMyt^2) )
Tower-Base Torsion Moment (z): Factor*MAX( ABS(TwrBsMzt) )

Note that MAX( SQRT( x^2 + y^2) ) is not the same as SQRT( MAX(x^2) + MAX(y^2) ).

Note also that you don't need to use Factor = 20, but presumably Factor > 1 to avoid immediate failure. If you know the ultimate strength of the cross section, you could derive LUlt from that.

Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

Conor.White
Posts: 5
Joined: Sat Mar 21, 2020 6:33 am
Organization: Trinity College Dublin
Location: Ireland

Re: Mlife - User Defined Distribution

Postby Conor.White » Mon Mar 23, 2020 10:31 am

Hi Jason,

I now understand what you mean about setting 4 unique values for LUlt, thank you for the advice.

My research is concerned with the 5MW baseline OC3-Hwyind tower, to my knowledge there is no specified value for the ultimate strength of the tower. However, from other posts I have read that in order to determine the ultimate strength for the bending moment the felxure formula can be used (LUlt = sigma_yield*Ixx/y_max), where y_max was taken to be diameter/2. Given that the diameter of the Hwyind tower is 6.5m, its thickness is 0.027 m and E = 200 GPA (I found the values here https://www.nrel.gov/docs/fy10osti/47535.pdf) , I calculated LUlt to be 372,184.62 [kN m].

However when I use this value for LUlt within MLife (for TwrBsMxt and TwrBsMyt) I get a result fatigue life of approximately 9.85e+04 seconds which clearly seems incorrect given that the tower has a 20 year design life. I am quite confused with this result given that my simulated data (within TurbSim and OpenFAST) is correct to my knowledge.


I was wondering does my calculation of LUlt look correct to you and could you suggest any reason for the issues with the lifetime fatigue statistics?

Thanks for the help,
Conor White.

Jason.Jonkman
Posts: 4750
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: Mlife - User Defined Distribution

Postby Jason.Jonkman » Mon Mar 23, 2020 11:05 am

Dear Conor,

I agree with the equation LUlt = sigma_yield*Ixx/y_max for the bending moment. But using your values, I obtain Ixx = 2.876 m^4 and LUlt = 1.77E8 kNm.

Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

Conor.White
Posts: 5
Joined: Sat Mar 21, 2020 6:33 am
Organization: Trinity College Dublin
Location: Ireland

Re: Mlife - User Defined Distribution

Postby Conor.White » Mon Mar 23, 2020 12:04 pm

Hi Jason,

Apologies I made an error in my calculations and I agree with the value you obtained for LUlt. I noticed that you have used 200 Mpa or 2E+8 N/m^2 as the yield strength for the material - is this specified for the OC3-Hywind tower? I ask because I was under the impression that the yield strength of steel can vary widely (200 - 2100 MPa).

Using this value for LUlt produces more reasonable lifetime statistics for the TwrBsMxt and TwrBsMyt - am correct in assuming this value of LUlt can be used for both these bending moments? The TwrBsMzt on the other hand, I am unsure whether this LUlt value can used?

As for LUlt for the shear force, I have read else where on the forum that simply, sigma = F/A is used. Am I correct in saying that in this case LUlt for the TwrBsFxt, TwrBsFyt an TwrBsFzt can be computed by rearranging this equation to give LUlt = sigma_yield*A ? If this is correct am I right in saying that the area, A would be the area of the cross section of the tower base?

I greatly appreciate your help, it has cleared up a lot for me.

Regards,
Conor.

Jason.Jonkman
Posts: 4750
Joined: Thu Nov 03, 2005 4:38 pm
Location: Boulder, CO
Contact:

Re: Mlife - User Defined Distribution

Postby Jason.Jonkman » Wed Mar 25, 2020 8:17 am

Dear Conor,

Just to be clear, the OC3-Hywind specifications report (https://www.nrel.gov/docs/fy10osti/47535.pdf) gives the Young's modulus (E) of the tower as 210 GPa; however the yield strength (sigma_yield = E*epsilon_yield, where epsilon_yield is the axial strain at the yield strength) is not given in that report. I misread your post and was simply using your value. You'll have to make your own assumptions on sigma_yield for your own purposes.

Here the basic equations for LUlt for a thin-walled circular cross section (from basic stress equations and tau_yield = G*gamma_yield, where G is the shear modulus and gamma_yield is the shear strain at the yield strength; you'll have to assume your own value of tau_yield):

Transverse shear: Lult = tau_yield*A/2
Axial loading: LUlt = sigma_yield*A
Pure bending: LUlt = sigma_yield*I/y
Torsion: LUlt = tau_yield*J/r

where:
Outer diameter: D_o
Inner diameter: D_i
Maximum radius: y = r = D_o/2
Area: A = pi/4*( D_o^2 - D_i^2 )
Area transverse inertia: I = pi/64*( D_o^4 - D_i^4 )
Area polar inertia: J = 2*I = pi/32*( D_o^4 - D_i^4 )

I hope that helps.

Best regards,
Jason Jonkman, Ph.D.
Senior Engineer | National Wind Technology Center (NWTC)

National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway | Golden, CO 80401
+1 (303) 384 – 7026 | Fax: +1 (303) 384 – 6901
nwtc.nrel.gov


Return to “Computer-Aided Engineering Software Tools”

Who is online

Users browsing this forum: No registered users and 1 guest