fides

package module
Version: v0.0.0-...-538ae91 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2021 License: BSD-2-Clause Imports: 7 Imported by: 0

README

FIDES reliability library for Go

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Arrhenius

func Arrhenius(ea, t1, t0 float64) float64

Arrhenius law

func Arrhenius25

func Arrhenius25(ea, temp float64) float64

Arrhenius25 (in ºC, reference 25ºC)

func CSensibility

func CSensibility(class, typ string) float64

func CapacitorAluFIT

func CapacitorAluFIT(comp *Component, mission *Mission, dry bool) float64

func CapacitorCeramicFIT

func CapacitorCeramicFIT(comp *Component, mission *Mission, flex bool, class int) float64

func CapacitorFIT

func CapacitorFIT(comp *Component, mission *Mission) float64

CapacitorFIT

Attributes that need to be known for capacitors: basic type: ceramic, aluminium, tantalum ceramic: if flex or not ceramic: working voltage, temperature coefficient aluminium: dry/wet tantalum: dry/wet, glass/elastomer seal, tantalum/silver case, radial/smd/axial

Codification of attributes in Component (1) Detection of dielectric (EIA codes): LnL (2) TANT / TAN, ELE / ELEC (3) FLEX (4) Default for tantalum: smd dry.

func CapacitorTantFIT

func CapacitorTantFIT(comp *Component, mission *Mission, typ string) float64

func ConnectorFIT

func ConnectorFIT(comp *Component, mission *Mission) float64

func FIT

func FIT(comp *Component, mission *Mission) float64

func IcFIT

func IcFIT(comp *Component, mission *Mission) float64

func InductorFIT

func InductorFIT(comp *Component, mission *Mission) float64

InductorFIT

func Lbase_Pcb

func Lbase_Pcb(nLayers, nConn, class int, tech float64) float64

func Lbase_capAlu

func Lbase_capAlu(solid bool) (float64, float64, float64, float64, float64, float64)

func Lbase_capCer

func Lbase_capCer(polymer_terminations bool, class int, value, vmax float64) (float64, float64, float64, float64, float64, float64)

func Lbase_capTant

func Lbase_capTant(typ string) (float64, float64, float64, float64, float64, float64)

func Lbase_case

func Lbase_case(pkg string, n int) (float64, float64, float64, float64)

give package and pins, return: l0rh, l0tc_case, l0tc_solder, l0mech

func Lbase_ic_th

func Lbase_ic_th(typ string) float64

func Lbase_inductor

func Lbase_inductor(typ string) (float64, float64, float64, float64, float64, float64, float64)

Returns l0, ea, lth, ltc, lmech, tdelta, Cs

func Lbase_resistor

func Lbase_resistor(typ string, n int, v float64) (float64, float64, float64, float64, float64, float64)

returning lbase, A, lth, ltc, lmech, lrh

func Lcase_semi

func Lcase_semi(pkg string) (float64, float64, float64, float64)

func Lchip

func Lchip(c *Component) float64

func NorrisLandzberg

func NorrisLandzberg(tdeltaRef, tdeltaUse, tmaxRef, tmaxUse, fRef, fUse float64, a, b, c float64) float64

Norris-Landberg, general form

For SAC305 lead-free solder: a=2.3, b=0.3, c=4562 See "Norris–Landzberg Acceleration Factors and Goldmann Constants for SAC305 Lead-Free Electronics" (Journal of Electronic Packaging · September 2012)

func OptoFIT

func OptoFIT(comp *Component, mission *Mission) float64

func PcbFIT

func PcbFIT(mission *Mission, nLayers, nConn int) float64

func PiApplication

func PiApplication(on bool) float64

Mess

func PiInduced

func PiInduced(on, analog, itf, power bool, csensibility float64) float64

contribution of induced factors (overstresses): Electrical overstress, mechanical overstress, thermal overstress

func PiMech

func PiMech(grms float64) float64

Basquin's law

func PiPM

func PiPM() float64

quality and technical control over manufacturing of the item

func PiPlacement

func PiPlacement(analog bool, itf bool, power bool) float64

PiPlacement represents the influence of the item placement in the system (particularly whether or not it is interfaced).

func PiProcess

func PiProcess() float64

quality and technical control over the development, manufacturing and usage process for the product containing the item

func PiRH

func PiRH(rh, temp float64) float64

Peck’s model

func PiRH2

func PiRH2(rh, temp float64, on bool) float64

Same as PiRH, but return 0 in off mode

func PiRHea

func PiRHea(rh, temp, ea float64) float64

func PiRuggedising

func PiRuggedising() float64

PiRuggedising represents the influence of the policy for taking account of overstresses in the product development.

Return max value (very controlled process)

func PiTCCase

func PiTCCase(nc int, time, tdelta, tmax float64) float64

Temperature cycling, case, Norris-Landzberg model (semiconductor cases)

func PiTCSolder

func PiTCSolder(nc int, time, phi, tdelta, tmax float64) float64

Temperature cycling,solder joints, Norris-Landzberg model

func PiTV

func PiTV(tamb float64) float64

func PiThermal_cap

func PiThermal_cap(ea, tamb, sref, ratio float64) float64

func PiThermal_connector

func PiThermal_connector(on bool, temp float64) float64

func PiThermal_ic

func PiThermal_ic(temp float64, on bool) float64

PiThermal for ICs is 0 in non-operating mode

func PiThermal_resistor

func PiThermal_resistor(ea, temp float64) float64

Arrhenius law, 20ºC

func PiThermal_semiconductor

func PiThermal_semiconductor(ratio, temp float64) float64

func ResistorFIT

func ResistorFIT(comp *Component, mission *Mission) float64

func Rthja

func Rthja(pkg string, k bool) float64

Rthermal returns the Rja (thermal resistance from junction to ambient) for known semiconductor packages, according to tables in FIDES 2009. The package name implies/contains the number of pins.

K is a constant that depends on the substrate's thermal conductivity: k==false: K = 1.15 (low conductivity (FR4?) ) k==true: K = 0.94 (high conductivity)

func Rthja_semi

func Rthja_semi(pkg string, k bool) (int, float64, float64)

func SemiconductorFIT

func SemiconductorFIT(comp *Component, mission *Mission) float64

Types

type Component

type Component struct {
	Name             string
	Code             string
	Class            string
	Type             string
	Description      string
	Package          string
	N                int
	Rth              float64
	IsAnalog         bool
	IsPower          bool
	IsInterface      bool
	Value            float64
	Vp, V, P, I      float64
	Vmax, Pmax, Imax float64
	T, Tmax          float64
	// Temperature coefficient. Set to NaN for undefined!
	TC  float64
	FIT float64
}

type Mission

type Mission struct {
	Phases []Phase
}

func NewMission

func NewMission() *Mission

func (*Mission) AddPhase

func (mission *Mission) AddPhase(ph Phase)

type Package

type Package struct {
	// contains filtered or unexported fields
}

type Phase

type Phase struct {
	Name          string
	NCycles       int
	CycleDuration float64

	// hours in a year in this phase
	Time   float64
	On     bool
	Tamb   float64
	Tdelta float64
	Tmax   float64
	RH     float64
	Grms   float64

	// 1 = weak, 3 = strong
	SalinePollution float64

	// 1 = weak, 2 = moderate, 3 = strong
	AmbientPollution float64

	// 1 = weak, 2 = moderate, 3 = strong
	ApplicationPollution float64

	// Ingress protection (false = not hermetic, true = hermetic)
	IP bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL