Talk:Perform Accelerated Life Testing Data Analysis on External Data Source/Notes
DRAFT
With the Synthesis API, you can leverage the ALTA analysis engine to perform accelerated life testing data analysis on an external data source. In this tutorial, you will use the API to create an ALTA data set and analyze it using a single stress model.
Note that this tutorial is for demonstration purposes only; it doesn't take efficiency into account and doesn't include any exception handling.
Tutorial: Accelerated Life Testing Data Analysis
This example demonstrates how to use the Synthesis API to analyze the following ALTA data set and obtain an estimate of the B10 life (i.e., time at which reliability is equal to 90%). A discussion of the example follows.
Number in State | State | Time to F or S | Temperature |
1 | F | 245 | 353 |
5 | S | 250 | 353 |
1 | F | 110 | 373 |
1 | F | 180 | 373 |
1 | F | 200 | 373 |
3 | S | 250 | 373 |
1 | F | 50 | 393 |
1 | F | 70 | 393 |
1 | F | 88 | 393 |
1 | F | 112 | 393 |
1 | F | 140 | 393 |
1 | F | 160 | 393 |
VB.NET Imports SynthesisAPI Module Module1 Sub Main() 'Declare a new ALTADataSet object. Dim ADS As New ALTADataSet 'Define a stress type with use stress level = 300. ADS.AddStressDefinition("Stress1",,300) 'Add the failure times to the data set. ADS.AddFailure(245, 1, 353) ADS.AddFailure(110, 1, 373) ADS.AddFailure(180, 1, 373) ADS.AddFailure(200, 1, 373) ADS.AddFailure(50, 1, 393) ADS.AddFailure(70, 1, 393) ADS.AddFailure(88, 1, 393) ADS.AddFailure(112, 1, 393) ADS.AddFailure(140, 1, 393) ADS.AddFailure(160, 1, 393) 'Add the suspensions to the data set. ADS.AddSuspension(250, 5, 353) ADS.AddSuspension(250, 3, 373) 'Use the Arrhenius-Weibull model. Keep all other analysis settings at default. ADS.AnalysisSettings.ModelType = ALTASolverModel.Arrhenius ADS.AnalysisSettings.Distribution = ALTASolverDistribution.Weibull 'Analyze the data set. ADS.Calculate() 'Calculate the B10 life and display the result. Dim r As Double r = ADS.FittedModel.Time(.90) MsgBox("B10 Life: " & r) End Sub End Module
Discussion
The ALTADataSet class represents an ALTA standard folio data sheet. The class contains all the methods and properties that allow you to define a data set and fit a life-stress relationship and distribution to the data.
'Declare a new ALTADataSet object. Dim ADS As New ALTADataSet
Use the AddStressDefinition method to define the name and use stress level of the stress.
'Define a stress type with use stress level = 300. ADS.AddStressDefinition("Stress1",,300)
The data set can contain failures, suspensions or interval data. The following example shows how to use the AddFailure method to define failures and the AddSuspension method to define suspensions.
'Add the failure times to the data set. ADS.AddFailure(245, 1, 353) ADS.AddFailure(110, 1, 373) ADS.AddFailure(180, 1, 373) ADS.AddFailure(200, 1, 373) ADS.AddFailure(50, 1, 393) ADS.AddFailure(70, 1, 393) ADS.AddFailure(88, 1, 393) ADS.AddFailure(112, 1, 393) ADS.AddFailure(140, 1, 393) ADS.AddFailure(160, 1, 393) 'Add the suspensions to the data set. ADS.AddSuspension(250, 5, 353) ADS.AddSuspension(250, 3, 373)
The AnalysisSetting
property stores a reference to the ALTAAnalysisOptions object, which represents the analysis settings of the data set (i.e., settings that you might find in an ALTA folio's control panel). In this example, we use the property to change some of the attributes of the object.
'Use the Arrhenius-Weibull model. Keep all other analysis settings at default.
ADS.AnalysisSettings.ModelType = ALTASolverModel.Arrhenius
ADS.AnalysisSettings.Distribution = ALTASolverDistribution.Weibull
Use the Calculate method to analyze the data set. The method returns a message box that shows the estimated parameters of the model, based on the settings specified in the AnalysisSettings
property.
'Analyze the data set.
ADS.Calculate()
The FittedModel
property gets a cModel object that represents the fitted model of the accelerated life testing data analysis. From the model, you can calculate useful metrics such as reliability, failure rate, mean time, etc. In this example, we use the cModel.Time method to calculate the B10 life.
'Calculate the B10 life and display the result. Dim r As Double r = ADS.FittedModel.Time(.90) MsgBox("B10 Life: " & r)
Notes
For analyses that require a two-stress model, you will need two stress definitions. You can then use the overloaded methods to add the data points. For example:
... 'Add two stress definitions. Dim ADS As New ALTADataSet ADS.AddStressDefinition("Temp",,328) ADS.AddStressDefinition("Voltage",,2) 'Add failure times for Temp = 348 and Voltage = 3. ADS.AddFailure(620, 1, 348, 3) ADS.AddFailure(632, 1, 348, 3) ...