As cost effectiveness and time to market have become higher priorities during the developmental process, more and more companies are turning to Computer Aided Engineering (CAE) to achieve these goals while ensuring that next generation products continue to meet customer expectations. In order to meet these requirements, it is important to understand how customers use the product. In some cases, usage estimation is sufficient, however, collecting actual customer usage data allows for more accurate predictions.
In this article, we will combine the analysis capabilities of ReliaSoft Weibull++ and nCode DesignLife to perform a two-step analysis to estimate product life. The first step will involve fitting a distribution to existing customer usage data to obtain the 50th and 90th percentile usage levels. The second step will involve applying those levels within DesignLife to a virtual model of our product to obtain life estimates for both the average user (50TH percentile) and the high-end user (90th percentile).
The design team is currently working on new design for the next generation refrigerator model. After submitting the design, which includes a new hinge geometry, the team is asked to provide life estimations for this new hinge using actual customer data before being able to go into the prototype phase.
Therefore, the team will use CAE, more specifically an FEA model, to perform their life estimation to ensure that the new design will meet the expected life of 1,000,000 cycles for the average user and will also last 75,000 cycles for a high-end user. Thankfully for the design team, they have access to customer usage data collected by a third party customer survey company. This data was collected using an accelerometer to measure the Peak g-levels on various showroom refrigerators upon the door being closed.
The first step of the analysis involves taking the usage data collected and fitting it with a distribution. For this, the team uses Weibull++. A sample of the data can be seen below:
Once the data has been entered into Weibull++, it is fitted with a normal distribution based on the assumption that the usage profile should follow a Gaussian curve. The probability plot of the data versus the model can be seen below:
Based on the data trend compared to the model, it is clear that the usage profile does not follow a normal distribution as originally assumed. Therefore, the data is reanalyzed using a 2P-Weibull distribution as that distribution is more robust than the normal distribution. The new probability plot using 2P-Weibull can be seen below:
While the 2P-Weibull model is a better fit to the data than the normal distribution, the curvature of the data relative to the model suggests that there could be more than one trend within the data set. Upon review of the methodology used by the company collecting the data, it turns out that the data set contains measurements from both people who just pushed the refrigerator door closed and those that actually held on to the door while closing it. Since there is no way to tell which data point came from which type of use, the team decides to use a 2 subpopulation Mixed-Weibull distribution to model the data. The probability plot for the Mixed-Weibull model can be seen below:
As this model appears to follow the trend of most of the data points (except for the two ends), the team uses this model to calculate the usage levels. Please note that in this case the distribution models usage instead of reliability, however, as Weibull++ is generally used for reliability, the Quick Calculation Pad (QCP) results display as life, and not usage level. Using the QCP, the 50th percentile usage level (average user) is found to be:
The 90th percentile usage level (high-end user) is found to be:
Assessing the fatigue life of a part with CAE requires a few steps. First, the engineer must have a virtual representation of the part. This is usually done in a CAD package. Once this virtual representation (geometry) is designed, the engineer must then use finite element analysis to solve for the “nominal” stress distribution of the part in its environment. The engineer also needs to understand how the part will be used in the field. That is how the part will be loaded and unloaded in the field, causing changes in the nominal stress distribution over time, which is ultimately what drives fatigue damage and fatigue failure if the stress changes are large enough. Once the static stress distribution and predicted field usage are obtained, the part can then be sent to a CAE fatigue solver such as DesignLife in order to assess the fatigue life of the part.
Now that we have a good understanding of the field usage of the part, the B50 and B90 loading results from the Weibull++ analysis are sent to the finite element analysis team along with the solid model created from the design team. The geometry designed by the team is show below:
The analysis team applies a simple unit g load to the part to obtain the stress distribution from “nominal” loading. That resulting stress distribution is shown below:
Once the static stress distribution is obtained, the results file, along with the B50 and B90 usage values obtained from the analysis performed in Weibull++, can be exported to DesignLife to assess the fatigue life of the part.
In this example, recall that we’ve been asked to design a hinge that can survive 1,000,000 cycles at the “average” or B50 loading of 0.679 g, and 75,000 cycles at the high-end user level, or B90 loading of 1.360 g. Let’s start by analyzing the B50 loading.
Our nominal stress distribution represents the stress of the part under no additional or external user-input loading. In the case of the B50 loading, the average user causes an acceleration of 0.679 g above nominal. In order to perform the fatigue analysis in DesignLife, we need to define the fatigue cycle. In this case, we will define it as going from nominal to the nominal plus the additional acceleration the user imparts onto the hinge. Therefore, our cycle is defined as going from 1 g to 1.679 g. DesignLife uses this information to calculate the change in stress due to the change in acceleration on every single node in the model. It then calculates the damage associated with that change in stress by looking at the fatigue curve and then calculates how many of those cycles the part can withstand before a crack is predicted to initiate for every single node in the model. The result is a contour plot of damage or, inversely, life. That is, how many times can we repeat that 1g to 1.679 g cycle until a crack will initiate. The life contour plot for the B50 case is shown below:
The minimum life seen in the plot is 8,196,000 cycles. This is well above the requirement of 1,000,000 cycles, therefore it is safe to say that this design is sufficient for surviving the B50 loading requirement. Now let’s turn our attention to the B90 requirement.
The B90 loading was found to be 1.36 g. That is, 1.36 g in addition to the nominal 1 g. Therefore, our loading for the B90 case is defined as 1 g to 2.36 g. Re-running our fatigue analysis with this loading definition results in the following life contour plot:
The minimum life seen in the plot is 83,900 cycles. This is also above the requirement of 75,000 cycles. It is also safe to say that this design is sufficient for surviving the B90 loading requirement as well.
This demonstration illustrates two very important concepts of life estimation. First, we discussed and gave examples of how to use Weibull++ to analyze actual customer usage, which is a very important aspect of fatigue life estimation. When designing a new part, it’s important to have a good sense of what kind of loadings you need to design against. There is no better way to do this than to collect actual customer usage data and fit appropriate distributions to this data. Secondly, we walked through how we can use DesignLife to predict the full model fatigue characteristics of our part. Together, Weibull++ and DesignLife provide a very powerful set of tools that enable you to accurately estimate fatigue life.