A voter with identical components having a constant failure rate
This class is used to describe a voter. A voter M out-of N works if and only if at least M components out of the N avaible work.
the component to be replicated by the voter
the initial number of components
the minimal number of working components
the constant failure rate of the voter
the constant maintainability rate of the voter
whether the component is avaible at t=0 or not
Examples
>>> motor = Component('M', 1e-4, 3e-2)
>>> voter = Voter(motor, 2, 3)
>>> voter.mttf
8333.33333333333
Compute the availability of the voter at t
This method compute the availability of the voter at t.
Parameters : | t (float or Symbol) |
---|---|
Returns: | out (float or symbolic expression) – The availability calculated for the given t |
Examples
>>> motor = Component('M', 1e-4, 3e-2)
>>> voter = Voter(motor, 2, 3, mu=1e-3)
>>> t = Symbol('t', positive=True)
>>> voter.availability(t)
3.0*(-0.00332225913621263*exp(-0.0301*t) +
0.00332225913621265)*(0.00332225913621263*exp(-0.0301*t) +
0.996677740863787)**2 + 1.0*(0.00332225913621263*exp(-0.0301*t) +
0.996677740863787)**3
>>> voter.availability(1000)
0.999966961120940
Compute the maintainability of the voter at t
This method compute the maintainability of the voter at t.
Parameters : | t (float or Symbol) |
---|---|
Returns: | out (float or symbolic expression) – The maintainability calculated for the given t |
Examples
>>> motor = Component('M', 1e-4, 3e-2)
>>> voter = Voter(motor, 2, 3, mu=1e-3)
>>> t = Symbol('t', positive=True)
>>> voter.maintainability(t)
(1.0*(-exp(-0.03*t) + 1.0)**3 + 3.0*(-exp(-0.03*t)
+ 1.0)**2*exp(-0.03*t))*(-exp(-0.001*t) + 1.0)
>>> voter.maintainability(1000)
0.632120558828558
Compute the Mean-Time-To-Failure of the voter
Returns: | out (float) – The component MTTF |
---|
Examples
>>> motor = Component('M', 1e-4, 3e-2)
>>> voter = Voter(motor, 2, 3)
>>> voter.mttf
8333.33333333333
Compute the Mean-Time-To-Repair of the voter
Returns: | out (float) – The component MTTR |
---|
Examples
>>> motor = Component('M', 1e-4, 3e-2)
>>> voter = Voter(motor, 2, 3, mu=1e-3)
>>> voter.mttr
1000.57547188695
Compute the reliability of the voter at t
This method compute the reliability of the voter at t.
Parameters : | t (float or Symbol) |
---|---|
Returns: | out (float or symbolic expression) – The reliability calculated for the given t |
Examples
>>> motor = Component('M', 1e-4, 3e-2)
>>> voter = Voter(motor, 2, 3)
>>> t = Symbol('t', positive=True)
>>> voter.reliability(t)
3.0*(-exp(-0.0001*t) + 1)*exp(-0.0002*t) + 1.0*exp(-0.0003*t)
>>> voter.reliability(1000)
0.974555817870510