Skip to content

JochiSt/ReliabilityCalc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

346511a · Jun 11, 2020
Nov 29, 2016
Jun 11, 2020
Nov 15, 2016
Jun 11, 2020
Mar 21, 2017
Apr 19, 2017
Apr 19, 2017
Mar 16, 2017
Mar 17, 2016
Jun 11, 2020
Jan 12, 2017
Apr 19, 2017
Jun 9, 2020
Mar 12, 2017
Mar 14, 2017
Mar 21, 2017
Apr 19, 2017
Mar 21, 2017
Apr 18, 2017
Jun 9, 2020

Repository files navigation

ReliabilityCalc

C++ realiability calculation framework, which can be used to calculate the lifetime of an electronics circuit

The parts, which are used are modelled from various sources. One source can be the datasheets, but also a "private" database with stored reliability data can be used.

Citation

DOI

BuildStatus

Build Status

Requirements

For full function the libraries of

  • SQLite3 for given reliability data from private databases
  • CURL for fetching the reliability data from e.g. Texas Instruments

are needed.

In order to install them, please install:

  • libsqlite3-dev
  • libcurl4-openssl-dev
  • libgsl-dev (maybe libgsl0-dev when using Ubuntu)

the dependencies should be installed automaticly

For apt based environments (e.g. Debian), you can simply use:

apt-get install libsqlite3-dev libcurl4-openssl-dev libgsl-dev

Example Usage

Create Temperature database

There is the possibility to have a dedicated temperature for each component. For this a small database is used. There must not be any entry in this database, but in order to avoid erros, it is recommended to create this file. This can be done by calling

./createDeltaTDB.sh

For a more detailed explanation how this framework works, and how it can be used, please have a look at the wiki

Define the ambient (usage) temperature
component::setAmbientTemperature(45);
Define a schematic
schematic* example = new schematic("Example Board");
Add components to this schematic
example -> addComponent(new capacitor_WUERTH("C2", "WCAP-CSGP",  1*capacitor::uF, 14, 50));
example -> addComponent(new IC_TI("U101", "DS15EA101SQ/NOPB"));

Note schematics can also contain schematics, which makes it easy to structure even complicated projects

Calculate the total reliability of the schematic and (sub-) schematics
example -> getFIT();