Talk:Perform Accelerated Life Testing Data Analysis on External Data Source/Notes: Difference between revisions

From ReliaWiki
Jump to navigation Jump to search
No edit summary
(Replaced content with '=DRAFT=')
 
Line 1: Line 1:
=DRAFT=
=DRAFT=
{{Template:API}}{{Template:BacktoPrevPage}}
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.
{|{{table}}
|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'''
{{APIPrefix|Imports}} SynthesisAPI
{{APIPrefix|Module}} Module1
    {{APIPrefix|Sub}} Main()
  {{APIComment|'Declare a new ALTADataSet object.}}
    {{APIPrefix|Dim}} ADS {{APIPrefix|As New}} ALTADataSet
  {{APIComment|'Define a stress type with use stress level = 300.}}
    ADS.AddStressDefinition({{APIString|"Stress1"}},,300)
  {{APIComment|'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)
   
  {{APIComment|'Add the suspensions to the data set.}}
    ADS.AddSuspension(250, 5, 353) 
    ADS.AddSuspension(250, 3, 373)
 
  {{APIComment|'Use the Arrhenius-Weibull model. Keep all other analysis settings at default.}}
    ADS.AnalysisSettings.ModelType = ALTASolverModel.Arrhenius
    ADS.AnalysisSettings.Distribution = ALTASolverDistribution.Weibull
 
  {{APIComment|'Analyze the data set.}}
    ADS.Calculate()
  {{APIComment|'Calculate the B10 life and display the result.}}
    {{APIPrefix|Dim}} r {{APIPrefix|As}} Double
    r = ADS.FittedModel.Time(.90)
    MsgBox({{APIString|"B10 Life: "}} & r)
    {{APIPrefix|End Sub}}
{{APIPrefix|End Module}}
===Discussion===
The [[ALTADataSet Class|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.
{{APIComment|'Declare a new ALTADataSet object.}}
  {{APIPrefix|Dim}} ADS {{APIPrefix|As New}} ALTADataSet
Use the [[ALTADataSet.AddStressDefinition|AddStressDefinition]] method to define the name and use stress level of the stress.
{{APIComment|'Define a stress type with use stress level = 300.}}
  ADS.AddStressDefinition({{APIString|"Stress1"}},,300)
The data set can contain failures, suspensions or interval data. The following example shows how to use the [[ALTADataSet.AddFailure|AddFailure]] method to define failures and the [[ALTADataSet.AddSuspension|AddSuspension]] method to define suspensions.
{{APIComment|'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)
   
{{APIComment|'Add the suspensions to the data set.}}
  ADS.AddSuspension(250, 5, 353) 
  ADS.AddSuspension(250, 3, 373)
The <code>AnalysisSetting</code> property stores a reference to the [[ALTAAnalysisOptions Class|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.
{{APIComment|'Use the Arrhenius-Weibull model. Keep all other analysis settings at default.}}
  ADS.AnalysisSettings.ModelType = ALTASolverModel.Arrhenius
  ADS.AnalysisSettings.Distribution = ALTASolverDistribution.Weibull
Use the [[ALTADataSet.Calculate|Calculate]] method to analyze the data set. 
{{APIComment|'Analyze the data set.}}
  ADS.Calculate()
The <code>FittedModel</code> property gets the [[CModel Class|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|cModel.Time]] method to calculate the B10 life.
{{APIComment|'Calculate the B10 life and display the result.}}
  {{APIPrefix|Dim}} r {{APIPrefix|As}} Double
  r = ADS.FittedModel.Time(.90)
  MsgBox({{APIString|"B10 Life: "}} & r)
==Notes==
For analyses that require a two-stress model, you will need two stress definitions. Use the overloaded methods to add the data points. For example:
{{APIComment|...}}
{{APIComment|'Add two stress definitions.}}
  {{APIPrefix|Dim}} ADS {{APIPrefix|As New}} ALTADataSet
  ADS.AddStressDefinition({{APIString|"Temp"}},,328)
  ADS.AddStressDefinition({{APIString|"Voltage"}},,2)
{{APIComment|'Add failure times for Temp &#61; 348 and Voltage &#61; 3.}}
  ADS.AddFailure(620, 1, 348, 3)
  ADS.AddFailure(632, 1, 348, 3)
{{APIComment|...}}
===References===
*[[ALTADataSet Class]]
**[[ALTADataSet.AddStressDefinition|AddStressDefinition Method]]
**[[ALTADataSet.AddFailure|ALTADataSet.AddFailure Method]]
**[[ALTADataSet.AddSuspension| ALTADataSet.AddSuspension Method]]
**[[ALTADataSet.Calculate|ALTADataSet.Calculate Method]]
*[[ALTAAnalysisOptions Class]]
*[[CModel Class|cModel Class]]
**[[CModel.Time|cModel.Time Method]]

Latest revision as of 00:47, 7 September 2016

DRAFT