Design for Reliability using Numerical Algorithms Group’s Numerical C Library - Blog
Go Search
Home
Developer's Blog
Products
Languages
InfoCenter
Free Trial
Purchase
Contact Us
  

Home > Blog > Posts > Design for Reliability using Numerical Algorithms Group’s Numerical C Library
Design for Reliability using Numerical Algorithms Group’s Numerical C Library
Designing a product for reliability is a critical element of the manufacturing lifecycle.  To start, one must understand the durability of a product over time or when subjected to particular strain.  The following examples illustrate how survival/failure/reliability data can be analyzed and documented using the NAG Numerical C Library and Inference for .NET.  The first example examines the reliability of a fiber product, measuring a braided cord’s strength under tension, while second example computes the survival curve for carbon fibers subjected to strain.
 
The complete results document for these examples can be viewed here.

Scenario
Manufacturers face intense global competition, pressure for shorter product-life cycles, stringent cost constraints, and higher customer expectations of quality and reliability. In response to these needs, manufacturing industries have gone through a revolution in the use of statistical methods for product quality. A central element of this approach is a focus on product reliability, typically defined as “quality over time” centered on how long a component can be used until it fails.
 
Design for reliability requires a core understanding of anticipated and unexpected product failure modes.  Important product areas include structural fibers (e.g., polymer and carbon fibers) used in chords (e.g., tire cord) and composites (e.g., carbon fiber composites).   Although failure as a function of time (survival: time to failure) is commonly analyzed, failure as a function of some applied strain (survival: tension to failure) is equally appropriate.  The only requirement is that this applied strain be measurable and is always a positive quantity.
 
Design for reliability often involves analyses where a treated or modified product is evaluated in comparison to a control group to address the following questions:
  • What level of strain on average can the product tolerate before it fails?
  • Does a particular treatment or modification results in higher reliability under strain?
  • What are the risk factors that affect reliability under strain?
I will use Inference for .NET and the NAG C Library in two scenarios to answer these questions.

Example #1 – Survival of Braided Cord Subject to Strain
The objective of this study is to estimate the reliability of a fiber product in terms of the probability that a braided cord survives (does not break) beyond a certain level of applied strain (tension).  Specifically, the CordData dataset contains measurements of 48 sections of braided cord, which were placed under increasing tension. During the course of our measurements, seven (7) of the braided cords became damaged and the corresponding measurements were stopped. This resulted in censored measurements (Censor=1) where the measurement before stopping the experiment indicated that the breaking tension is at least as large as the final measurement.  By contrast, the other measurements (Censor=0) correspond to the tension that resulted in breaking the braided cord.
 
To get started, I opened a new Word document, added an Inference Parts Container, and imported the relevant data (labeled CordData).  Subsequently, I embedded the NAG C# imports assembly of NAG C functions to the dynamic Inference document (labeled NAGwrapper):
 

I decided to initially generate a survival curve of the braided cord, by calculating the Kaplan – Meier estimates of the survival probabilities.  This I achieved, by adding a code block and supporting code to utilize the class g12aac of the embedded .NET library, and to plot the subsequent results.
 

The following chart was the result of executing this Inference document.
 
 
Note that the median survival tension is estimated to be 54.8.  Therefore we determine that if a braided cord is subjected to weathering, it has a 50% probability to surviving—that is, not breaking—to at least an applied tension of 54.8 MPa.  The plot shows the survival curve including the 95% confidence intervals based on Greenwood’s formula.

Example #2 – Survival of a Single Carbon Fiber Subject to Strain
High-tech composites, like carbon fiber composites, exploit the qualities of fiber products to achieve strength with the least possible mass. Towards that end, we need to understand clearly the factors that affect strength and how to manipulate them to design the material response to strain. Accordingly, the objective of this study was to compare reliability of single carbon fibers subject to tension across four (4) groups corresponding to fibers of different lengths.

To achieve this goal, I first imported the representative data into the Inference document (labeled CarbonfiberData), and subsequently added two code blocks.  The 1st code block contained code to utilize the NAG library g12aac method, as done for the braided cord data; however, this time the analysis was performed for the 4 groups of fiber lengths. 
 
The 2nd code block used the g12bac function to derive a Cox proportional hazard model of the carbon fiber data.  Both code blocks plotted the results using Inference graphing functions.

Using these coefficients, we can construct a "customized" survival curve for any particular carbon fiber length. More importantly, the method provides a measure of the sampling error associated with the predictor's coefficient. This lets us assess whether the carbon fiber length coefficient is significantly different from zero—that is, whether the carbon fiber length is significantly related to carbon fiber survival when subjected to tension.

Conclusion
Combining the Numerical Algorithms Group’s C Library and Inference for .NET eliminates the need for clunky reliability analysis software or inflexible add-ins. Instead, it is possible to test reliability of a product using trusted methods in a user-friendly environment like Word and Excel.  And, with on-the-fly scripting via IronPython, the development process moves much faster.  Best of all, anybody can easily pick up where I left off.  By using Inference, all pertinent code, objects, data, and explanatory text is kept neatly in a single Word document, making it easy for other  scientists to validate my methods or re-run the analysis using their own data.

Comments

There are no comments yet for this post.
    © 2008 Blue Reference, Inc. All rights reserved. | 3052 NW Merchant Way, Suite 100, Bend, Oregon 97701 | 541-316-2343 | Terms of Use