Perform Accelerated Life Testing Data Analysis with Stress Profiles

If you have ALTA PRO, you can use the Synthesis API to analyze an ALTA data set with time-dependent stress profiles. In this tutorial, you will learn how to define stress profiles, analyze an ALTA data set, and obtain analysis results from the 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 - Stress Profiles
This example demonstrates how to use the Synthesis API to analyze an ALTA data set with a single stress profile and obtain an estimate of the B1 life (i.e., time at which reliability is equal to 99%). A discussion of the example follows. The VBA version of the code sample is available here.

The data sets used in this example are: VB.NET SynthesisAPI Module1 Main myProfile cProfile myProfile.ProfileType = ProfileTypeEnum.Stress myProfile.IsCyclical = False listofsegments ProfileSegment = { ProfileSegment {.SegmentEnd = 200, .Value = 124}, ProfileSegment {.SegmentEnd = 300, .Value = 175}, ProfileSegment {.SegmentEnd = 350, .Value = 200}, ProfileSegment {.SegmentEnd = 375, .Value = 250} }    myProfile.SetSegments(listofsegments) ADS ALTADataSet ADS.AddStressProfile(myProfile) ADS.AddStressDefinition(, ALTASolverLSR.Power, 100) ADS.AddFailure(252, 1, myProfile) ADS.AddFailure(280, 1, myProfile) ADS.AddFailure(320, 1, myProfile) ADS.AddFailure(335, 1, myProfile) ADS.AddFailure(354, 1, myProfile) ADS.AddFailure(361, 1, myProfile) ADS.AddFailure(362, 1, myProfile) ADS.AddFailure(368, 1, myProfile) ADS.AddSuspension(328, 1, myProfile) ADS.AddSuspension(375, 3, myProfile) ADS.AnalysisSettings.ModelType = ALTASolverModel.CumDamage ADS.AnalysisSettings.Distribution = ALTASolverDistribution.Weibull ADS.Calculate r Double r = ADS.FittedModel.Time(.99) MsgBox( & r)

Discussion
The cProfile class represents a time-dependent stress profile. The  property is set to False, indicating that all times after the last segment will use the stress value defined in the last segment.

myProfile cProfile myProfile.ProfileType = ProfileTypeEnum.Stress myProfile.IsCyclical = False

The ProfileSegment class represents the segments of the associated cProfile object. In this example, the stresses are increased in a stepwise fashion.

listofsegments ProfileSegment = { ProfileSegment {.SegmentEnd = 200, .Value = 124}, ProfileSegment {.SegmentEnd = 300, .Value = 175}, ProfileSegment {.SegmentEnd = 350, .Value = 200}, ProfileSegment {.SegmentEnd = 375, .Value = 250} }

After the segments are defined, they are added to the stress profile.

myProfile.SetSegments(listofsegments)

Next, create an ALTA data set by declaring a new ALTADataSet object, and then using the AddStressProfile method to associate the stress profile with the object.

ADS ALTADataSet ADS.AddStressProfile(myProfile)

Use the AddStressDefinition method to define the name, stress transformation and use stress level of the stress profile.

ADS.AddStressDefinition(, ALTASolverLSR.Power, 100)

The data set can contain failures, suspensions or interval data. The following example shows how to use the AddFailure method and AddSuspension method to add the stress profile to the data points.

ADS.AddFailure(252, 1, myProfile) ADS.AddFailure(280, 1, myProfile) ADS.AddFailure(320, 1, myProfile) ADS.AddFailure(335, 1, myProfile) ADS.AddFailure(354, 1, myProfile) ADS.AddFailure(361, 1, myProfile) ADS.AddFailure(362, 1, myProfile) ADS.AddFailure(368, 1, myProfile) ADS.AddSuspension(328, 1, myProfile) ADS.AddSuspension(375, 3, myProfile)

The  property stores a reference to the ALTAAnalysisOptions object, which represents the analysis settings of the data set. In this example, we use the property to change some of the attributes of the object.

ADS.AnalysisSettings.ModelType = ALTASolverModel.CumDamage ADS.AnalysisSettings.Distribution = ALTASolverDistribution.Weibull

Use the Calculate method to analyze the data set.

ADS.Calculate

The  property gets the cModel object that represents the fitted model of the 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 for the B1 life.

r Double r = ADS.FittedModel.Time(.99) MsgBox( & r)