Exemplo n.º 1
0
def resilquant(approach, mdl):
    endclasses, mdlhists = fp.run_approach(mdl, approach)
    reshists, diffs, summaries = rp.compare_hists(mdlhists)

    fmea = rp.make_summfmea(endclasses, approach)
    fmea2 = rp.make_phasefmea(endclasses, approach)
    util = sum(fmea['expected cost'])
    expdegtimes = rp.make_expdegtimeheatmap(reshists, endclasses)
    return util, expdegtimes, fmea, fmea2
Exemplo n.º 2
0
def prune_app(app, mdl):
    endclasses, mdlhists = fp.run_approach(mdl, app)
    newscenids = dict.fromkeys(app.scenids.keys())

    for modeinphase in app.scenids:
        costs = np.array(
            [endclasses[scen]['cost'] for scen in app.scenids[modeinphase]])
        fullint = np.mean(costs)
        errs = abs(fullint - costs)
        mins = np.where(errs == errs.min())[0]
        newscenids[modeinphase] = [
            app.scenids[modeinphase][mins[int(len(mins) / 2)]]
        ]
    return newscenids
Exemplo n.º 3
0
                         })

app_jf3 = SampleApproach(mdl, jointfaults={'faults': 3, 'jointfuncs': True})

#note that faults above level 4 aren't made here because the rate is so low that it rounds to zero
app_jf5 = SampleApproach(mdl, jointfaults={'faults': 5})

app_list = SampleApproach(mdl,
                          jointfaults={
                              'faults': [(('ImportEE', 'inf_v'),
                                          ('ImportWater', 'no_wat'))],
                              'pcond':
                              0.1
                          })

endclasses, mdlhists = fp.run_approach(mdl, app_jf5)
fmea = rp.make_phasefmea(endclasses, app_jf5).sort_values('expected cost',
                                                          ascending=False)

fmea_small = rp.make_summfmea(endclasses, app_jf5).sort_values('expected cost',
                                                               ascending=False)

endclasses, mdlhists = fp.run_approach(mdl, app_jf2)

#rp.plot_samplecosts(app_jf2, endclasses, joint=True)
reshists, diffs, summaries = rp.compare_hists(mdlhists)

mdlhist = {
    'nominal':
    mdlhists['nominal'],
    'faulty':
Exemplo n.º 4
0
sys.path.append('../')

import numpy as np
import quadpy
import fmdtools.faultprop as fp
import fmdtools.resultproc as rp
from ex_pump import *  #required to import entire module
import time

#mdl = Pump(params={'repair', 'ee', 'water', 'delay'})
mdl = Pump(params={'water'})  # should give identical utilities
mdl = Pump()

app_full_plin = SampleApproach(mdl, defaultsamp={'samp': 'fullint'})

endclasses, mdlhists = fp.run_approach(mdl, app_full_plin)
fmea = rp.make_phasefmea(endclasses, app_full_plin)
rp.plot_samplecost(app_full_plin,
                   endclasses, ('ExportWater', 'block'),
                   samptype='fullint')

app_full_plin.prune_scenarios(endclasses, samptype='piecewise')
endclasses_plin, mdlhists_plin = fp.run_approach(mdl, app_full_plin)
fmea_plin = rp.make_phasefmea(endclasses_plin, app_full_plin)

rp.plot_samplecost(app_full_plin,
                   endclasses_plin, ('ExportWater', 'block'),
                   samptype='pruned piecewise-linear')

app_full_sing = SampleApproach(mdl, defaultsamp={'samp': 'fullint'})
app_full_sing.prune_scenarios(endclasses, samptype='bestpt')
Exemplo n.º 5
0
tab = rp.make_samptimetable(app_multipt.sampletimes)

app_short = SampleApproach(mdl,
                           faults=[('ImportEE', 'inf_v')],
                           defaultsamp={
                               'samp': 'evenspacing',
                               'numpts': 3
                           })

#newscenids = prune_app(app_full, mdl)

#endclasses, mdlhists = fp.run_approach(mdl, app_full)

#rp.plot_samplecosts(app_full, endclasses)

endclasses, mdlhists = fp.run_approach(mdl, app_quad)
rp.plot_samplecosts(app_quad, endclasses)

endclasses_full, mdlhists = fp.run_approach(mdl, app_full)
rp.plot_samplecosts(app_full, endclasses_full)

#endclasses, mdlhists = fp.run_approach(mdl, app_fullp)
#rp.plot_samplecosts(app_fullp, endclasses)
costovertime = rp.find_costovertime(endclasses_full, app_full)
rp.plot_costovertime(endclasses_full, app_full)
rp.plot_costovertime(endclasses_full, app_full, costtype='cost')

endclasses, mdlhists = fp.run_approach(mdl, app_maxlike)
rp.plot_samplecosts(app_maxlike, endclasses)

Exemplo n.º 6
0
sys.path.append('../')

import fmdtools.faultprop as fp
import fmdtools.resultproc as rp
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

from quad_mdl import *
import time

#scenlist=fp.listinitfaults(graph, mdl.times)
mdl = Quadrotor()

app = SampleApproach(mdl)
endclasses, mdlhists = fp.run_approach(mdl, app)
simplefmea = rp.make_simplefmea(endclasses)
summfmea = rp.make_summfmea(endclasses, app)

# =============================================================================
#endresults1, resgraph, flowhist3, ghist3=fp.runnominal(mdl, track={'DOFs','Dir1', 'Env1', 'Force_LG'})
#fp.showgraph(resgraph, showfaultlabels=False)
#fp.plotflowhist(flowhist3, 'N/A', time=0)
##
## #Check various scenarios individually
##
endresults, resgraph, mdlhist = fp.run_one_fault(mdl,
                                                 'DistEE',
                                                 'short',
                                                 time=5,
                                                 staged=True,