{"id":822,"date":"2012-10-07T22:23:35","date_gmt":"2012-10-08T02:23:35","guid":{"rendered":"http:\/\/www.reliabilityanalytics.com\/blog\/?p=822"},"modified":"2014-02-27T16:21:41","modified_gmt":"2014-02-27T20:21:41","slug":"discrete-event-simulation-tool-example-2","status":"publish","type":"post","link":"https:\/\/reliabilityanalytics.com\/blog\/2012\/10\/07\/discrete-event-simulation-tool-example-2\/","title":{"rendered":"Discrete Event Simulation Tool, Example 2, Comparison to MIL-HDBK-338"},"content":{"rendered":"<p>In this example, we use the\u00a0<a title=\"Reliability Analytics Toolkit Discrete Event Simulation tool\" href=\"http:\/\/reliabilityanalyticstoolkit.appspot.com\/discrete_event_simulation\">Discrete Event Simulation<\/a>\u00a0tool in the Reliability Analytics Toolkit to simulate system availability for a problem presented in MIL-HDBK-338, Reliability Design Handbook (page 10-42), as shown below.<!--more--><a href=\"https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-823\" title=\"MIL-HDBK-338_page_10-42_example_5\" src=\"https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5.png\" alt=\"\" width=\"756\" height=\"1006\" srcset=\"https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5.png 756w, https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5-225x300.png 225w\" sizes=\"auto, (max-width: 756px) 100vw, 756px\" \/><\/a><\/p>\n<p>Based on the information provided in the above reliability block diagram (RBD), the MTBF and MTTR for the five subsystems is entered into input box #1, as highlighted below. The RBD indicates that all subsystems are critical; therefore, any failure will result in a critical failure. Therefore, we enter each subsystem, one per line, into input box #2. 20 trials of length 8,760 hours are simulated using a seed of 1. \u00a0Setting the seed allows the same results for the same inputs at a future time. \u00a0If the seed input is left blank, the system will randomly choose a starting seed and results will be similar from simulation-to-simulation, but not exactly the same.<\/p>\n<p><a href=\"https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5e5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-873\" title=\"MIL-HDBK-338_page_10-42_example_5e\" src=\"https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5e5.png\" alt=\"\" width=\"726\" height=\"829\" srcset=\"https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5e5.png 726w, https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5e5-262x300.png 262w\" sizes=\"auto, (max-width: 726px) 100vw, 726px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5e113.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1206\" title=\"MIL-HDBK-338_page_10-42_example_5e11\" src=\"https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5e113.png\" alt=\"\" width=\"629\" height=\"782\" srcset=\"https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5e113.png 629w, https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5e113-241x300.png 241w\" sizes=\"auto, (max-width: 629px) 100vw, 629px\" \/><\/a><\/p>\n<p>The picture below shows the simulated results for 20 trials. The simulated system availability is 73.58%, which compares well to the 0.73534 (73.534%) calculated above in MIL-HDBK-338B example.<a href=\"https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5b_112.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1207\" title=\"MIL-HDBK-338_page_10-42_example_5b_11\" src=\"https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5b_112.png\" alt=\"\" width=\"960\" height=\"838\" srcset=\"https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5b_112.png 960w, https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5b_112-300x261.png 300w, https:\/\/reliabilityanalytics.com\/blog\/wp-content\/uploads\/2012\/10\/MIL-HDBK-338_page_10-42_example_5b_112-343x300.png 343w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/a><\/p>\n<p>The underlying discrete event simulation engine is SimPy (Simulation in Python), which runs on the Google App Engine. See the references listed below for additional details on SimPy.<\/p>\n<p>References:<\/p>\n<ol>\n<li><a href=\"http:\/\/simpy.sourceforge.net\/\">SimPy Home Page<\/a><\/li>\n<li>Matloff, Norm, University of California at Davis, Dept. of Computer Science,\u00a0<a href=\"http:\/\/heather.cs.ucdavis.edu\/~matloff\/156\/PLN\/DESimIntro.pdf\">Introduction to Discrete-Event Simulation and the SimPy Language<\/a><\/li>\n<li>Matloff, Norm, University of California at Davis, Dept. of Computer Science,\u00a0<a href=\"http:\/\/heather.cs.ucdavis.edu\/~matloff\/simcourse.html\">A Discrete-Event Simulation Course Based on the SimPy Language<\/a><\/li>\n<li><a href=\"http:\/\/docs.python.org\/library\/random.html\">Python pseudo-random number generator<\/a><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>In this example, we use the\u00a0Discrete Event Simulation\u00a0tool in the Reliability Analytics Toolkit to simulate system availability for a problem presented in MIL-HDBK-338, Reliability Design Handbook (page 10-42), as shown below.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55],"tags":[12,68,58,42],"class_list":["post-822","post","type-post","status-publish","format-standard","hentry","category-system-modeling","tag-availability","tag-simulation","tag-system-modeling-2","tag-toolkit-examples"],"_links":{"self":[{"href":"https:\/\/reliabilityanalytics.com\/blog\/wp-json\/wp\/v2\/posts\/822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/reliabilityanalytics.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/reliabilityanalytics.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/reliabilityanalytics.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/reliabilityanalytics.com\/blog\/wp-json\/wp\/v2\/comments?post=822"}],"version-history":[{"count":20,"href":"https:\/\/reliabilityanalytics.com\/blog\/wp-json\/wp\/v2\/posts\/822\/revisions"}],"predecessor-version":[{"id":859,"href":"https:\/\/reliabilityanalytics.com\/blog\/wp-json\/wp\/v2\/posts\/822\/revisions\/859"}],"wp:attachment":[{"href":"https:\/\/reliabilityanalytics.com\/blog\/wp-json\/wp\/v2\/media?parent=822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/reliabilityanalytics.com\/blog\/wp-json\/wp\/v2\/categories?post=822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/reliabilityanalytics.com\/blog\/wp-json\/wp\/v2\/tags?post=822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}