├── .idea └── vcs.xml ├── Changelog.md ├── LICENSE.md ├── ProdSim.egg-info ├── PKG-INFO ├── SOURCES.txt ├── dependency_links.txt ├── requires.txt └── top_level.txt ├── README.md ├── dist └── ProdSim-0.1.0.tar.gz ├── docs ├── Makefile ├── _build │ ├── doctrees │ │ ├── API │ │ │ └── api.doctree │ │ ├── Example │ │ │ ├── example_inspect_visualize.doctree │ │ │ ├── example_setup.doctree │ │ │ ├── examples.doctree │ │ │ ├── examples_inspect_visualize.doctree │ │ │ └── examples_setup.doctree │ │ ├── Examples │ │ │ ├── example_01_setup.doctree │ │ │ ├── example_inspect_visualize.doctree │ │ │ ├── example_output_data.doctree │ │ │ ├── example_setup.doctree │ │ │ ├── examples.doctree │ │ │ └── plot_data.doctree │ │ ├── Interface_files │ │ │ ├── attribute_values.doctree │ │ │ ├── data_file.doctree │ │ │ ├── function_file.doctree │ │ │ └── interface.doctree │ │ ├── api.doctree │ │ ├── attribute_values.doctree │ │ ├── data_file.doctree │ │ ├── environment.pickle │ │ ├── example_01_setup.doctree │ │ ├── examples.doctree │ │ ├── exapmles.doctree │ │ ├── function_file.doctree │ │ ├── index.doctree │ │ ├── interface.doctree │ │ └── source │ │ │ ├── API │ │ │ └── api.doctree │ │ │ ├── Defining_processes │ │ │ └── defining_processes.doctree │ │ │ ├── Examples │ │ │ ├── example01.doctree │ │ │ ├── example02.doctree │ │ │ ├── example03.doctree │ │ │ ├── example04.doctree │ │ │ ├── example_assembly.doctree │ │ │ ├── example_inspect_visualize.doctree │ │ │ ├── example_output_data.doctree │ │ │ ├── example_setup.doctree │ │ │ ├── examples.doctree │ │ │ └── plot_data.doctree │ │ │ └── Interface_files │ │ │ ├── attribute_values.doctree │ │ │ ├── data_file.doctree │ │ │ ├── function_file.doctree │ │ │ ├── interface.doctree │ │ │ └── output_file.doctree │ ├── html │ │ ├── .buildinfo │ │ ├── API │ │ │ └── api.html │ │ ├── Example │ │ │ ├── example_inspect_visualize.html │ │ │ ├── example_setup.html │ │ │ ├── examples.html │ │ │ ├── examples_inspect_visualize.html │ │ │ └── examples_setup.html │ │ ├── Examples │ │ │ ├── example_01_setup.html │ │ │ ├── example_inspect_visualize.html │ │ │ ├── example_output_data.html │ │ │ ├── example_setup.html │ │ │ ├── examples.html │ │ │ └── plot_data.html │ │ ├── Interface_files │ │ │ ├── attribute_values.html │ │ │ ├── data_file.html │ │ │ ├── function_file.html │ │ │ └── interface.html │ │ ├── _images │ │ │ ├── arm_csv.png │ │ │ ├── assembling_structure.png │ │ │ ├── assembling_strukture.png │ │ │ ├── bolt_process.png │ │ │ ├── decribe_process_factory.png │ │ │ ├── define_process_add_order.png │ │ │ ├── define_process_assembly.png │ │ │ ├── define_process_change_order.png │ │ │ ├── define_process_change_station.png │ │ │ ├── define_process_combine_stations.png │ │ │ ├── define_process_create_files.png │ │ │ ├── define_process_ex_process.png │ │ │ ├── define_process_orders.png │ │ │ ├── define_process_start.png │ │ │ ├── demand.png │ │ │ ├── demand_greater_one.png │ │ │ ├── demand_profile.png │ │ │ ├── describe_process_update_graph.png │ │ │ ├── distribution_b.png │ │ │ ├── distribution_c.png │ │ │ ├── distribution_e.png │ │ │ ├── distribution_f.png │ │ │ ├── distribution_i.png │ │ │ ├── distribution_l.png │ │ │ ├── distribution_n.png │ │ │ ├── distribution_p.png │ │ │ ├── distribution_t.png │ │ │ ├── distribution_u.png │ │ │ ├── distribution_ud.png │ │ │ ├── example_02_gear_assembly.png │ │ │ ├── example_02_plain.png │ │ │ ├── example_02_shaft_assembly.png │ │ │ ├── example_03_csv.png │ │ │ ├── example_03_over_station.png │ │ │ ├── example_03_over_time.png │ │ │ ├── example_05_plot.png │ │ │ ├── example_05_visualize.png │ │ │ ├── figure.png │ │ │ ├── figure_process.png │ │ │ ├── figure_tree.png │ │ │ ├── global_func_logic.png │ │ │ ├── hand_csv.png │ │ │ ├── logo.png │ │ │ ├── merge.png │ │ │ ├── merged_figure_csv.png │ │ │ ├── output_file_factory.png │ │ │ ├── output_file_order.png │ │ │ ├── output_file_station.png │ │ │ ├── product_process_gearbox.png │ │ │ ├── product_tree_gearbox.png │ │ │ ├── rejection.png │ │ │ ├── screenshot_web_app.png │ │ │ ├── shaft_csv.png │ │ │ ├── shaft_process.png │ │ │ ├── source_logic.png │ │ │ ├── surface.png │ │ │ ├── temperature_profile.png │ │ │ └── upper_limb_csv.png │ │ ├── _sources │ │ │ ├── API │ │ │ │ └── api.rst.txt │ │ │ ├── Example │ │ │ │ ├── example_inspect_visualize.rst.txt │ │ │ │ ├── example_setup.rst.txt │ │ │ │ ├── examples.rst.txt │ │ │ │ ├── examples_inspect_visualize.rst.txt │ │ │ │ └── examples_setup.rst.txt │ │ │ ├── Examples │ │ │ │ ├── example_01_setup.rst.txt │ │ │ │ ├── example_inspect_visualize.rst.txt │ │ │ │ ├── example_output_data.rst.txt │ │ │ │ ├── example_setup.rst.txt │ │ │ │ ├── examples.rst.txt │ │ │ │ └── plot_data.rst.txt │ │ │ ├── Interface_files │ │ │ │ ├── attribute_values.rst.txt │ │ │ │ ├── data_file.rst.txt │ │ │ │ ├── function_file.rst.txt │ │ │ │ └── interface.rst.txt │ │ │ ├── api.rst.txt │ │ │ ├── attribute_values.rst.txt │ │ │ ├── data_file.rst.txt │ │ │ ├── example_01_setup.rst.txt │ │ │ ├── examples.rst.txt │ │ │ ├── exapmles.rst.txt │ │ │ ├── function_file.rst.txt │ │ │ ├── index.rst.txt │ │ │ ├── interface.rst.txt │ │ │ └── source │ │ │ │ ├── API │ │ │ │ └── api.rst.txt │ │ │ │ ├── Defining_processes │ │ │ │ └── defining_processes.rst.txt │ │ │ │ ├── Examples │ │ │ │ ├── example01.rst.txt │ │ │ │ ├── example02.rst.txt │ │ │ │ ├── example03.rst.txt │ │ │ │ ├── example04.rst.txt │ │ │ │ ├── example_assembly.rst.txt │ │ │ │ ├── example_inspect_visualize.rst.txt │ │ │ │ ├── example_output_data.rst.txt │ │ │ │ ├── example_setup.rst.txt │ │ │ │ ├── examples.rst.txt │ │ │ │ └── plot_data.rst.txt │ │ │ │ └── Interface_files │ │ │ │ ├── attribute_values.rst.txt │ │ │ │ ├── data_file.rst.txt │ │ │ │ ├── function_file.rst.txt │ │ │ │ ├── interface.rst.txt │ │ │ │ └── output_file.rst.txt │ │ ├── _static │ │ │ ├── API │ │ │ │ └── api.rst │ │ │ ├── Examples │ │ │ │ ├── example_inspect_visualize.rst │ │ │ │ ├── example_output_data.rst │ │ │ │ ├── example_setup.rst │ │ │ │ ├── examples.rst │ │ │ │ └── plot_data.rst │ │ │ ├── Figures │ │ │ │ ├── example_02_gear_assembly.png │ │ │ │ ├── example_02_plain.png │ │ │ │ ├── example_02_shaft_assembly.png │ │ │ │ ├── example_03_csv.png │ │ │ │ ├── example_03_over_station.png │ │ │ │ ├── example_03_over_time.png │ │ │ │ └── example_03_vis.png │ │ │ ├── Interface_files │ │ │ │ ├── attribute_values.rst │ │ │ │ ├── data_file.rst │ │ │ │ ├── function_file.rst │ │ │ │ └── interface.rst │ │ │ ├── Makefile │ │ │ ├── basic.css │ │ │ ├── conf.py │ │ │ ├── css │ │ │ │ ├── badge_only.css │ │ │ │ ├── fonts │ │ │ │ │ ├── Roboto-Slab-Bold.woff │ │ │ │ │ ├── Roboto-Slab-Bold.woff2 │ │ │ │ │ ├── Roboto-Slab-Regular.woff │ │ │ │ │ ├── Roboto-Slab-Regular.woff2 │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ ├── fontawesome-webfont.woff2 │ │ │ │ │ ├── lato-bold-italic.woff │ │ │ │ │ ├── lato-bold-italic.woff2 │ │ │ │ │ ├── lato-bold.woff │ │ │ │ │ ├── lato-bold.woff2 │ │ │ │ │ ├── lato-normal-italic.woff │ │ │ │ │ ├── lato-normal-italic.woff2 │ │ │ │ │ ├── lato-normal.woff │ │ │ │ │ └── lato-normal.woff2 │ │ │ │ └── theme.css │ │ │ ├── doctools.js │ │ │ ├── documentation_options.js │ │ │ ├── example_03_csv.png │ │ │ ├── favicon-32x32.png │ │ │ ├── favicon.ico │ │ │ ├── file.png │ │ │ ├── fonts │ │ │ │ ├── Inconsolata-Bold.ttf │ │ │ │ ├── Inconsolata-Regular.ttf │ │ │ │ ├── Inconsolata.ttf │ │ │ │ ├── Lato-Bold.ttf │ │ │ │ ├── Lato-Regular.ttf │ │ │ │ ├── Lato │ │ │ │ │ ├── lato-bold.eot │ │ │ │ │ ├── lato-bold.ttf │ │ │ │ │ ├── lato-bold.woff │ │ │ │ │ ├── lato-bold.woff2 │ │ │ │ │ ├── lato-bolditalic.eot │ │ │ │ │ ├── lato-bolditalic.ttf │ │ │ │ │ ├── lato-bolditalic.woff │ │ │ │ │ ├── lato-bolditalic.woff2 │ │ │ │ │ ├── lato-italic.eot │ │ │ │ │ ├── lato-italic.ttf │ │ │ │ │ ├── lato-italic.woff │ │ │ │ │ ├── lato-italic.woff2 │ │ │ │ │ ├── lato-regular.eot │ │ │ │ │ ├── lato-regular.ttf │ │ │ │ │ ├── lato-regular.woff │ │ │ │ │ └── lato-regular.woff2 │ │ │ │ ├── RobotoSlab-Bold.ttf │ │ │ │ ├── RobotoSlab-Regular.ttf │ │ │ │ ├── RobotoSlab │ │ │ │ │ ├── roboto-slab-v7-bold.eot │ │ │ │ │ ├── roboto-slab-v7-bold.ttf │ │ │ │ │ ├── roboto-slab-v7-bold.woff │ │ │ │ │ ├── roboto-slab-v7-bold.woff2 │ │ │ │ │ ├── roboto-slab-v7-regular.eot │ │ │ │ │ ├── roboto-slab-v7-regular.ttf │ │ │ │ │ ├── roboto-slab-v7-regular.woff │ │ │ │ │ └── roboto-slab-v7-regular.woff2 │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ ├── index.rst │ │ │ ├── jquery-3.5.1.js │ │ │ ├── jquery.js │ │ │ ├── js │ │ │ │ ├── badge_only.js │ │ │ │ ├── html5shiv-printshiv.min.js │ │ │ │ ├── html5shiv.min.js │ │ │ │ ├── modernizr.min.js │ │ │ │ └── theme.js │ │ │ ├── language_data.js │ │ │ ├── logo │ │ │ ├── logo.ico │ │ │ ├── logo.png │ │ │ ├── make.bat │ │ │ ├── minus.png │ │ │ ├── plus.png │ │ │ ├── pygments.css │ │ │ ├── searchtools.js │ │ │ ├── source │ │ │ │ ├── API │ │ │ │ │ └── api.rst │ │ │ │ ├── Examples │ │ │ │ │ ├── example_inspect_visualize.rst │ │ │ │ │ ├── example_output_data.rst │ │ │ │ │ ├── example_setup.rst │ │ │ │ │ ├── examples.rst │ │ │ │ │ └── plot_data.rst │ │ │ │ ├── Figures │ │ │ │ │ ├── example_02_gear_assembly.png │ │ │ │ │ ├── example_02_plain.png │ │ │ │ │ ├── example_02_shaft_assembly.png │ │ │ │ │ ├── example_03_csv.png │ │ │ │ │ ├── example_03_over_station.png │ │ │ │ │ ├── example_03_over_time.png │ │ │ │ │ └── example_03_vis.png │ │ │ │ └── Interface_files │ │ │ │ │ ├── attribute_values.rst │ │ │ │ │ ├── data_file.rst │ │ │ │ │ ├── function_file.rst │ │ │ │ │ └── interface.rst │ │ │ ├── underscore-1.12.0.js │ │ │ ├── underscore-1.13.1.js │ │ │ └── underscore.js │ │ ├── api.html │ │ ├── attribute_values.html │ │ ├── data_file.html │ │ ├── example_01_setup.html │ │ ├── examples.html │ │ ├── exapmles.html │ │ ├── function_file.html │ │ ├── genindex.html │ │ ├── index.html │ │ ├── interface.html │ │ ├── objects.inv │ │ ├── py-modindex.html │ │ ├── search.html │ │ ├── searchindex.js │ │ └── source │ │ │ ├── API │ │ │ └── api.html │ │ │ ├── Defining_processes │ │ │ └── defining_processes.html │ │ │ ├── Examples │ │ │ ├── example01.html │ │ │ ├── example02.html │ │ │ ├── example03.html │ │ │ ├── example04.html │ │ │ ├── example_assembly.html │ │ │ ├── example_inspect_visualize.html │ │ │ ├── example_output_data.html │ │ │ ├── example_setup.html │ │ │ ├── examples.html │ │ │ └── plot_data.html │ │ │ └── Interface_files │ │ │ ├── attribute_values.html │ │ │ ├── data_file.html │ │ │ ├── function_file.html │ │ │ ├── interface.html │ │ │ └── output_file.html │ └── latex │ │ ├── LICRcyr2utf8.xdy │ │ ├── LICRlatin2utf8.xdy │ │ ├── LatinRules.xdy │ │ ├── Makefile │ │ ├── arm_csv.png │ │ ├── assembling_structure.png │ │ ├── bolt_process.png │ │ ├── decribe_process_factory.png │ │ ├── define_process_add_order.png │ │ ├── define_process_assembly.png │ │ ├── define_process_change_order.png │ │ ├── define_process_change_station.png │ │ ├── define_process_combine_stations.png │ │ ├── define_process_create_files.png │ │ ├── define_process_ex_process.png │ │ ├── define_process_orders.png │ │ ├── define_process_start.png │ │ ├── demand.png │ │ ├── demand_greater_one.png │ │ ├── demand_profile.png │ │ ├── describe_process_update_graph.png │ │ ├── distribution_b.png │ │ ├── distribution_c.png │ │ ├── distribution_e.png │ │ ├── distribution_f.png │ │ ├── distribution_i.png │ │ ├── distribution_l.png │ │ ├── distribution_n.png │ │ ├── distribution_p.png │ │ ├── distribution_t.png │ │ ├── distribution_u.png │ │ ├── distribution_ud.png │ │ ├── figure.png │ │ ├── figure_process.png │ │ ├── figure_tree.png │ │ ├── global_func_logic.png │ │ ├── hand_csv.png │ │ ├── latexmkjarc │ │ ├── latexmkrc │ │ ├── logo.png │ │ ├── make.bat │ │ ├── merge.png │ │ ├── merged_figure_csv.png │ │ ├── output_file_factory.png │ │ ├── output_file_order.png │ │ ├── output_file_station.png │ │ ├── prodsim.aux │ │ ├── prodsim.idx │ │ ├── prodsim.log │ │ ├── prodsim.out │ │ ├── prodsim.pdf │ │ ├── prodsim.synctex.gz │ │ ├── prodsim.tex │ │ ├── prodsim.toc │ │ ├── product_process_gearbox.png │ │ ├── product_tree_gearbox.png │ │ ├── python.ist │ │ ├── rejection.png │ │ ├── screenshot_web_app.png │ │ ├── shaft_csv.png │ │ ├── shaft_process.png │ │ ├── source_logic.png │ │ ├── sphinx.sty │ │ ├── sphinx.xdy │ │ ├── sphinxhighlight.sty │ │ ├── sphinxhowto.cls │ │ ├── sphinxlatexadmonitions.sty │ │ ├── sphinxlatexcontainers.sty │ │ ├── sphinxlatexgraphics.sty │ │ ├── sphinxlatexindbibtoc.sty │ │ ├── sphinxlatexlists.sty │ │ ├── sphinxlatexliterals.sty │ │ ├── sphinxlatexnumfig.sty │ │ ├── sphinxlatexobjects.sty │ │ ├── sphinxlatexshadowbox.sty │ │ ├── sphinxlatexstyleheadings.sty │ │ ├── sphinxlatexstylepage.sty │ │ ├── sphinxlatexstyletext.sty │ │ ├── sphinxlatextables.sty │ │ ├── sphinxmanual.cls │ │ ├── sphinxmessages.sty │ │ ├── sphinxoptionsgeometry.sty │ │ ├── sphinxoptionshyperref.sty │ │ ├── sphinxpackagecyrillic.sty │ │ ├── sphinxpackagefootnote.sty │ │ ├── surface.png │ │ ├── temperature_profile.png │ │ └── upper_limb_csv.png ├── conf.py ├── index.rst ├── make.bat └── source │ ├── API │ └── api.rst │ ├── Defining_processes │ └── defining_processes.rst │ ├── Examples │ ├── example01.rst │ ├── example02.rst │ ├── example03.rst │ ├── example04.rst │ └── examples.rst │ ├── Figures │ ├── arm_csv.png │ ├── assembling_structure.png │ ├── bolt_process.png │ ├── decribe_process_factory.png │ ├── define_process_add_order.png │ ├── define_process_assembly.png │ ├── define_process_change_order.png │ ├── define_process_change_station.png │ ├── define_process_combine_stations.png │ ├── define_process_create_files.png │ ├── define_process_ex_process.png │ ├── define_process_orders.png │ ├── define_process_start.png │ ├── demand.png │ ├── demand_greater_one.png │ ├── demand_profile.png │ ├── describe_process_update_graph.png │ ├── distribution_b.png │ ├── distribution_c.png │ ├── distribution_e.png │ ├── distribution_f.png │ ├── distribution_i.png │ ├── distribution_l.png │ ├── distribution_n.png │ ├── distribution_p.png │ ├── distribution_t.png │ ├── distribution_u.png │ ├── distribution_ud.png │ ├── example_02_gear_assembly.png │ ├── example_02_plain.png │ ├── example_02_shaft_assembly.png │ ├── example_03_csv.png │ ├── example_03_over_station.png │ ├── example_03_over_time.png │ ├── example_03_vis.png │ ├── example_05_plot.png │ ├── example_05_visualize.png │ ├── figure.png │ ├── figure_process.png │ ├── figure_tree.png │ ├── global_func_logic.png │ ├── hand_csv.png │ ├── logo.png │ ├── merge.png │ ├── merged_figure_csv.png │ ├── output_file_factory.png │ ├── output_file_order.png │ ├── output_file_station.png │ ├── product_process_gearbox.png │ ├── product_tree_gearbox.png │ ├── rejection.png │ ├── screenshot_web_app.png │ ├── shaft_csv.png │ ├── shaft_process.png │ ├── source_logic.png │ ├── surface.png │ ├── temperature_profile.png │ └── upper_limb_csv.png │ └── Interface_files │ ├── attribute_values.rst │ ├── data_file.rst │ ├── function_file.rst │ ├── interface.rst │ └── output_file.rst ├── examples ├── example01 │ ├── README.md │ ├── data │ │ ├── function.py │ │ └── process.json │ ├── example01.py │ └── figures │ │ ├── gearbox_process.png │ │ └── gearbox_tree.png ├── example02 │ ├── README.md │ ├── data │ │ ├── function.py │ │ └── process.json │ ├── example02.py │ ├── figures │ │ └── shaft_process.png │ └── output │ │ └── shaft_surface_pre_run.png ├── example03 │ ├── README.md │ ├── data │ │ ├── function.py │ │ └── process.json │ ├── example03.py │ ├── figures │ │ └── bolt_process.png │ └── output │ │ └── demand_profil_pre_run.png ├── example04 │ ├── README.md │ ├── data │ │ ├── function.py │ │ └── process.json │ ├── example04.py │ ├── figures │ │ ├── figure.png │ │ ├── figure_process.png │ │ └── figure_tree.png │ └── output │ │ └── rejected_profile_pre_run.png └── example_bulb │ ├── README.md │ ├── data │ ├── bulb_function.py │ └── bulb_process.json │ ├── example_bulb.py │ └── figures │ ├── bulb_process.png │ └── bulb_tree.png ├── prodsim ├── __init__.py ├── _estimate_process │ ├── __init__.py │ ├── est_attribute.json │ ├── est_attribute.py │ ├── est_function.json │ ├── est_function.py │ ├── est_station_1.json │ ├── est_station_1.py │ ├── est_station_2.json │ └── est_station_2.py ├── _temp_data │ └── __init__.py ├── app │ ├── __init__.py │ ├── assets │ │ ├── __init__.py │ │ └── dash.css │ ├── callbacks │ │ ├── __init__.py │ │ ├── define_process │ │ │ ├── __init__.py │ │ │ ├── callbacks.py │ │ │ └── support.py │ │ └── visualize_process │ │ │ ├── __init__.py │ │ │ ├── callbacks.py │ │ │ └── support.py │ └── layout │ │ ├── __init__.py │ │ ├── define_process │ │ ├── __init__.py │ │ ├── base.py │ │ ├── modal.py │ │ └── popup.py │ │ └── visualize_process │ │ ├── __init__.py │ │ ├── graph.py │ │ └── table.py ├── components.py ├── environment.py ├── estimator.py ├── exception.py ├── filehandler.py ├── helper.py ├── inspector.py ├── simulator.py ├── tracker.py └── visualizer.py ├── requirements.txt └── setup.py /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Changelog.md: -------------------------------------------------------------------------------- 1 | # ProdSim - Changelog 2 | 3 | *** 4 | 5 | All notable changes to this project will be documented in this file. 6 | 7 | ### 0.1.0 (2021-12-29) 8 | *** 9 | 10 | **New Method** 11 | 12 | * ``define_process()`` was added to the simulation environment. Provides graphically supported process definition. 13 | 14 | **Restructured code** 15 | 16 | * The specific callback functions and the layout definitions have been relocated from the module 17 | ``prodsim/visualize.py`` to the directory ``prodsim/app/``. 18 | 19 | ### 0.0.2 (2021-11-08) 20 | *** 21 | 22 | **New Method** 23 | 24 | * ``data_to_hdf5`` was added to the simulation environment. Provides export of simulation data in binary hierarchical 25 | format hdf5. 26 | 27 | ### 0.0.1 (2021-09-27) 28 | *** 29 | 30 | **Bug Fix** 31 | 32 | * If main workpieces are tracked via ``track_components`` (parameter of ``simulate``), but not their sub workpieces, 33 | this has led to a ``KeyError`` in the ``track_nested_item`` (tracker.py) method . This issue was fixed by modifying 34 | the ``track_nested_item`` method. 35 | 36 | ### 0.0.0 (2021-09-13) 37 | *** 38 | 39 | **Initial Release** -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Tom Fuchs 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /ProdSim.egg-info/dependency_links.txt: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ProdSim.egg-info/requires.txt: -------------------------------------------------------------------------------- 1 | simpy>=4.0.1 2 | dash>=2.0.0 3 | dash-cytoscape>=0.3.0 4 | dash-bootstrap-components>=1.0.2 5 | numpy>=1.21.5 6 | h5py>=3.6.0 7 | dill>=0.3.4 8 | -------------------------------------------------------------------------------- /ProdSim.egg-info/top_level.txt: -------------------------------------------------------------------------------- 1 | prodsim 2 | -------------------------------------------------------------------------------- /dist/ProdSim-0.1.0.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/dist/ProdSim-0.1.0.tar.gz -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /docs/_build/doctrees/API/api.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/API/api.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Example/example_inspect_visualize.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Example/example_inspect_visualize.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Example/example_setup.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Example/example_setup.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Example/examples.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Example/examples.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Example/examples_inspect_visualize.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Example/examples_inspect_visualize.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Example/examples_setup.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Example/examples_setup.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Examples/example_01_setup.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Examples/example_01_setup.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Examples/example_inspect_visualize.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Examples/example_inspect_visualize.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Examples/example_output_data.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Examples/example_output_data.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Examples/example_setup.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Examples/example_setup.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Examples/examples.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Examples/examples.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Examples/plot_data.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Examples/plot_data.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Interface_files/attribute_values.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Interface_files/attribute_values.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Interface_files/data_file.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Interface_files/data_file.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Interface_files/function_file.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Interface_files/function_file.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/Interface_files/interface.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/Interface_files/interface.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/api.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/api.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/attribute_values.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/attribute_values.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/data_file.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/data_file.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/environment.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/environment.pickle -------------------------------------------------------------------------------- /docs/_build/doctrees/example_01_setup.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/example_01_setup.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/examples.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/examples.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/exapmles.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/exapmles.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/function_file.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/function_file.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/index.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/interface.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/interface.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/API/api.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/API/api.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Defining_processes/defining_processes.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Defining_processes/defining_processes.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Examples/example01.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Examples/example01.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Examples/example02.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Examples/example02.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Examples/example03.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Examples/example03.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Examples/example04.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Examples/example04.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Examples/example_assembly.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Examples/example_assembly.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Examples/example_inspect_visualize.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Examples/example_inspect_visualize.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Examples/example_output_data.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Examples/example_output_data.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Examples/example_setup.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Examples/example_setup.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Examples/examples.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Examples/examples.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Examples/plot_data.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Examples/plot_data.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Interface_files/attribute_values.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Interface_files/attribute_values.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Interface_files/data_file.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Interface_files/data_file.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Interface_files/function_file.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Interface_files/function_file.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Interface_files/interface.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Interface_files/interface.doctree -------------------------------------------------------------------------------- /docs/_build/doctrees/source/Interface_files/output_file.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/doctrees/source/Interface_files/output_file.doctree -------------------------------------------------------------------------------- /docs/_build/html/.buildinfo: -------------------------------------------------------------------------------- 1 | # Sphinx build info version 1 2 | # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. 3 | config: c95c294ec1ac2375ac9fc2922c1b046d 4 | tags: 645f666f9bcd5a90fca523b33c5a78b7 5 | -------------------------------------------------------------------------------- /docs/_build/html/_images/arm_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/arm_csv.png -------------------------------------------------------------------------------- /docs/_build/html/_images/assembling_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/assembling_structure.png -------------------------------------------------------------------------------- /docs/_build/html/_images/assembling_strukture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/assembling_strukture.png -------------------------------------------------------------------------------- /docs/_build/html/_images/bolt_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/bolt_process.png -------------------------------------------------------------------------------- /docs/_build/html/_images/decribe_process_factory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/decribe_process_factory.png -------------------------------------------------------------------------------- /docs/_build/html/_images/define_process_add_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/define_process_add_order.png -------------------------------------------------------------------------------- /docs/_build/html/_images/define_process_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/define_process_assembly.png -------------------------------------------------------------------------------- /docs/_build/html/_images/define_process_change_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/define_process_change_order.png -------------------------------------------------------------------------------- /docs/_build/html/_images/define_process_change_station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/define_process_change_station.png -------------------------------------------------------------------------------- /docs/_build/html/_images/define_process_combine_stations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/define_process_combine_stations.png -------------------------------------------------------------------------------- /docs/_build/html/_images/define_process_create_files.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/define_process_create_files.png -------------------------------------------------------------------------------- /docs/_build/html/_images/define_process_ex_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/define_process_ex_process.png -------------------------------------------------------------------------------- /docs/_build/html/_images/define_process_orders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/define_process_orders.png -------------------------------------------------------------------------------- /docs/_build/html/_images/define_process_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/define_process_start.png -------------------------------------------------------------------------------- /docs/_build/html/_images/demand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/demand.png -------------------------------------------------------------------------------- /docs/_build/html/_images/demand_greater_one.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/demand_greater_one.png -------------------------------------------------------------------------------- /docs/_build/html/_images/demand_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/demand_profile.png -------------------------------------------------------------------------------- /docs/_build/html/_images/describe_process_update_graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/describe_process_update_graph.png -------------------------------------------------------------------------------- /docs/_build/html/_images/distribution_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/distribution_b.png -------------------------------------------------------------------------------- /docs/_build/html/_images/distribution_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/distribution_c.png -------------------------------------------------------------------------------- /docs/_build/html/_images/distribution_e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/distribution_e.png -------------------------------------------------------------------------------- /docs/_build/html/_images/distribution_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/distribution_f.png -------------------------------------------------------------------------------- /docs/_build/html/_images/distribution_i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/distribution_i.png -------------------------------------------------------------------------------- /docs/_build/html/_images/distribution_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/distribution_l.png -------------------------------------------------------------------------------- /docs/_build/html/_images/distribution_n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/distribution_n.png -------------------------------------------------------------------------------- /docs/_build/html/_images/distribution_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/distribution_p.png -------------------------------------------------------------------------------- /docs/_build/html/_images/distribution_t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/distribution_t.png -------------------------------------------------------------------------------- /docs/_build/html/_images/distribution_u.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/distribution_u.png -------------------------------------------------------------------------------- /docs/_build/html/_images/distribution_ud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/distribution_ud.png -------------------------------------------------------------------------------- /docs/_build/html/_images/example_02_gear_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/example_02_gear_assembly.png -------------------------------------------------------------------------------- /docs/_build/html/_images/example_02_plain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/example_02_plain.png -------------------------------------------------------------------------------- /docs/_build/html/_images/example_02_shaft_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/example_02_shaft_assembly.png -------------------------------------------------------------------------------- /docs/_build/html/_images/example_03_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/example_03_csv.png -------------------------------------------------------------------------------- /docs/_build/html/_images/example_03_over_station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/example_03_over_station.png -------------------------------------------------------------------------------- /docs/_build/html/_images/example_03_over_time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/example_03_over_time.png -------------------------------------------------------------------------------- /docs/_build/html/_images/example_05_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/example_05_plot.png -------------------------------------------------------------------------------- /docs/_build/html/_images/example_05_visualize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/example_05_visualize.png -------------------------------------------------------------------------------- /docs/_build/html/_images/figure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/figure.png -------------------------------------------------------------------------------- /docs/_build/html/_images/figure_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/figure_process.png -------------------------------------------------------------------------------- /docs/_build/html/_images/figure_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/figure_tree.png -------------------------------------------------------------------------------- /docs/_build/html/_images/global_func_logic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/global_func_logic.png -------------------------------------------------------------------------------- /docs/_build/html/_images/hand_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/hand_csv.png -------------------------------------------------------------------------------- /docs/_build/html/_images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/logo.png -------------------------------------------------------------------------------- /docs/_build/html/_images/merge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/merge.png -------------------------------------------------------------------------------- /docs/_build/html/_images/merged_figure_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/merged_figure_csv.png -------------------------------------------------------------------------------- /docs/_build/html/_images/output_file_factory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/output_file_factory.png -------------------------------------------------------------------------------- /docs/_build/html/_images/output_file_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/output_file_order.png -------------------------------------------------------------------------------- /docs/_build/html/_images/output_file_station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/output_file_station.png -------------------------------------------------------------------------------- /docs/_build/html/_images/product_process_gearbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/product_process_gearbox.png -------------------------------------------------------------------------------- /docs/_build/html/_images/product_tree_gearbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/product_tree_gearbox.png -------------------------------------------------------------------------------- /docs/_build/html/_images/rejection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/rejection.png -------------------------------------------------------------------------------- /docs/_build/html/_images/screenshot_web_app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/screenshot_web_app.png -------------------------------------------------------------------------------- /docs/_build/html/_images/shaft_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/shaft_csv.png -------------------------------------------------------------------------------- /docs/_build/html/_images/shaft_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/shaft_process.png -------------------------------------------------------------------------------- /docs/_build/html/_images/source_logic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/source_logic.png -------------------------------------------------------------------------------- /docs/_build/html/_images/surface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/surface.png -------------------------------------------------------------------------------- /docs/_build/html/_images/temperature_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/temperature_profile.png -------------------------------------------------------------------------------- /docs/_build/html/_images/upper_limb_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_images/upper_limb_csv.png -------------------------------------------------------------------------------- /docs/_build/html/_sources/API/api.rst.txt: -------------------------------------------------------------------------------- 1 | .. _api: 2 | 3 | API Reference 4 | ============= 5 | 6 | ``Environment`` 7 | --------------- 8 | 9 | The Environment class is the central class of the program, because all other functionalities are called and synchronized 10 | via this class. When creating an environment instance, the corresponding data that is to be represented by this instance 11 | must be passed directly. This process data passed during initialization is stored in an internal format and 12 | automatically provided to the corresponding method when various functions are called. 13 | 14 | .. automodule:: environment 15 | :members: 16 | -------------------------------------------------------------------------------- /docs/_build/html/_sources/Example/example_inspect_visualize.rst.txt: -------------------------------------------------------------------------------- 1 | .. _example_2: 2 | 3 | Example 01: Inspect and visualize input data 4 | -------------------------------------------- 5 | 6 | In this example, a textual description of a sample process is converted into a formal structure, which can be passed to 7 | the program as an input file. In addition, this data is then inspected and visualized. 8 | 9 | * :ref:`Create input files ` 10 | * :ref:`Inspect the data ` 11 | * :ref:`Visualize the data ` 12 | 13 | .. note:: 14 | The following example does not claim to represent a real existing process, but aims to show as many facets as 15 | possible. 16 | 17 | .. _create: 18 | 19 | Create input files 20 | ****************** 21 | 22 | 23 | 24 | .. _inspect: 25 | 26 | Inspect the data 27 | **************** 28 | 29 | .. _visualize: 30 | 31 | Visualize the input data 32 | ************************ -------------------------------------------------------------------------------- /docs/_build/html/_sources/Example/example_setup.rst.txt: -------------------------------------------------------------------------------- 1 | .. _example_1: 2 | 3 | Example 01: Setup process 4 | ------------------------- 5 | 6 | In this example, a textual description of a sample process is converted into a formal structure, which can be passed to 7 | the program as an input file. In addition, this data is then inspected and visualized. 8 | 9 | * :ref:`Create input files ` 10 | * :ref:`Inspect the data ` 11 | * :ref:`Visualize the data ` 12 | 13 | .. note:: 14 | The following example does not claim to represent a real existing process, but aims to show as many facets as 15 | possible. 16 | 17 | .. _create: 18 | 19 | Create input files 20 | ****************** 21 | 22 | 23 | 24 | .. _inspect: 25 | 26 | Inspect the data 27 | **************** 28 | 29 | .. _visualize: 30 | 31 | Visualize the input data 32 | ************************ -------------------------------------------------------------------------------- /docs/_build/html/_sources/Example/examples.rst.txt: -------------------------------------------------------------------------------- 1 | 2 | .. _examples: 3 | 4 | Examples 5 | ======== 6 | 7 | The aim of this section is to illustrate the entire process of how this program should be used. The examples are not 8 | constructed in such a way, in order to represent as real circumstances as possible, but in order to refer as versatile 9 | as possible to all special features. 10 | There will be ... examples that chronologically map the use of the program. 11 | 12 | * :ref:`Create input file ` 13 | * :ref:`Inspect and visualize input data ` 14 | 15 | 16 | .... 17 | 18 | .. toctree:: 19 | :hidden: 20 | :maxdepth: 2 21 | 22 | example_setup 23 | 24 | example_inspect_visualize 25 | -------------------------------------------------------------------------------- /docs/_build/html/_sources/Example/examples_inspect_visualize.rst.txt: -------------------------------------------------------------------------------- 1 | .. _example_2: 2 | 3 | Example 01: Inspect and visualize input data 4 | -------------------------------------------- 5 | 6 | In this example, a textual description of a sample process is converted into a formal structure, which can be passed to 7 | the program as an input file. In addition, this data is then inspected and visualized. 8 | 9 | * :ref:`Create input files ` 10 | * :ref:`Inspect the data ` 11 | * :ref:`Visualize the data ` 12 | 13 | .. note:: 14 | The following example does not claim to represent a real existing process, but aims to show as many facets as 15 | possible. 16 | 17 | .. _create: 18 | 19 | Create input files 20 | ****************** 21 | 22 | 23 | 24 | .. _inspect: 25 | 26 | Inspect the data 27 | **************** 28 | 29 | .. _visualize: 30 | 31 | Visualize the input data 32 | ************************ -------------------------------------------------------------------------------- /docs/_build/html/_sources/Example/examples_setup.rst.txt: -------------------------------------------------------------------------------- 1 | .. _example_1: 2 | 3 | Example 01: Setup process 4 | ------------------------- 5 | 6 | In this example, a textual description of a sample process is converted into a formal structure, which can be passed to 7 | the program as an input file. In addition, this data is then inspected and visualized. 8 | 9 | * :ref:`Create input files ` 10 | * :ref:`Inspect the data ` 11 | * :ref:`Visualize the data ` 12 | 13 | .. note:: 14 | The following example does not claim to represent a real existing process, but aims to show as many facets as 15 | possible. 16 | 17 | .. _create: 18 | 19 | Create input files 20 | ****************** 21 | 22 | 23 | 24 | .. _inspect: 25 | 26 | Inspect the data 27 | **************** 28 | 29 | .. _visualize: 30 | 31 | Visualize the input data 32 | ************************ -------------------------------------------------------------------------------- /docs/_build/html/_sources/Examples/example_01_setup.rst.txt: -------------------------------------------------------------------------------- 1 | .. _example_1: 2 | 3 | Example 01: Setup process 4 | ------------------------- 5 | 6 | In this example, a textual description of a sample process is converted into a formal structure, which can be passed to 7 | the program as an input file. In addition, this data is then inspected and visualized. 8 | 9 | * :ref:`Create input files ` 10 | * :ref:`Inspect the data ` 11 | * :ref:`Visualize the data ` 12 | 13 | 14 | .. _create: 15 | 16 | Create input files 17 | ****************** 18 | 19 | .. _inspect: 20 | 21 | Inspect the data 22 | **************** 23 | 24 | .. _visualize: 25 | 26 | Visualize the data 27 | ****************** 28 | -------------------------------------------------------------------------------- /docs/_build/html/_sources/Examples/examples.rst.txt: -------------------------------------------------------------------------------- 1 | 2 | .. _examples: 3 | 4 | Examples 5 | ======== 6 | 7 | The aim of this section is to illustrate the entire process of how this program should be used. The examples are not 8 | constructed in such a way, in order to represent as real circumstances as possible, but in order to refer as versatile 9 | as possible to all special features. 10 | There will be four examples that chronologically map the use of the program. 11 | 12 | * :ref:`Create input file ` 13 | * :ref:`Inspect and visualize input data ` 14 | * :ref:`Start simulation and create output data ` 15 | * :ref:`Plot output data ` 16 | 17 | 18 | .... 19 | 20 | .. toctree:: 21 | :hidden: 22 | :maxdepth: 2 23 | 24 | example_setup 25 | 26 | example_inspect_visualize 27 | 28 | example_output_data 29 | 30 | plot_data 31 | -------------------------------------------------------------------------------- /docs/_build/html/_sources/Interface_files/attribute_values.rst.txt: -------------------------------------------------------------------------------- 1 | .. _attr_values: 2 | 3 | Attribute values 4 | ---------------- 5 | 6 | The following section gives an overview of the different characteristics that the user can give to a custom attribute. 7 | The syntax is always the same, because a list is passed, which has an identifier at the first position, which determines 8 | the type. The following elements define the concrete characteristic or distribution depending on the type. 9 | 10 | * :ref:`Binary ` 11 | * :ref:`Normal ` 12 | * :ref:`Fix ` 13 | 14 | .... 15 | 16 | .. _binary: 17 | 18 | Binary 19 | ****** 20 | 21 | To signal that an attribute should be binary distributed the identifier "b" must be used as the first argument in the 22 | passed list. The second parameter specifies as a float the probability that the attribute takes the value 1. 23 | 24 | .. code-block:: JSON 25 | 26 | "roasted": ["b",0.03] 27 | "cracked": ["b",0.012] 28 | 29 | .. list-table:: Overview: binary 30 | :header-rows: 1 31 | 32 | * - Aspect 33 | - Value 34 | - Explanation 35 | * - Identifier 36 | - "b" 37 | - 38 | * - Additional parameter 39 | - probability 40 | - Probability that the value will be 1 41 | * - Exceptions 42 | - InvalidFormat 43 | - List does not have length 2 44 | * - 45 | - InvalidType 46 | - Second parameter is not a float 47 | * - 48 | - InvalidValue 49 | - Second parameter is not between 0.0 and 1.0 50 | 51 | .... 52 | 53 | .. _normal: 54 | 55 | Normal 56 | ****** 57 | 58 | To signal that an attribute should be normal distributed the identifier "n" must be used as the first argument in the 59 | passed list. The second parameter determines the mean value and the third the standard deviation. These additional 60 | parameters can be integers or floats, where the standard deviation must be greater than or equal to zero. 61 | 62 | .. code-block:: JSON 63 | 64 | "surface_quality": ["n",1,0.05] 65 | "weight": ["n",130.5,1] 66 | 67 | .. list-table:: Overview: normal 68 | :header-rows: 1 69 | 70 | * - Aspect 71 | - Value 72 | - Explanation 73 | * - Identifier 74 | - "n" 75 | - 76 | * - Additional parameter 77 | - mean 78 | - Type int oder float 79 | * - 80 | - standard deviation 81 | - Type int oder float 82 | * - Exceptions 83 | - InvalidFormat 84 | - List does not have length 3 85 | * - 86 | - InvalidType 87 | - Additional parameters are not float or int 88 | * - 89 | - InvalidValue 90 | - Standard deviation is less than 0 91 | 92 | .... 93 | 94 | .. _fix: 95 | 96 | Fix 97 | *** 98 | 99 | To signal that an attribute should be a fix value the identifier "f" must be used as the first argument in the passed 100 | list. The second parameter determines value the this attribute should have. Accepted types are integers and floats. 101 | 102 | .. code-block:: JSON 103 | 104 | "prob_of_failure": ["f",0.01] 105 | "min_strength": ["f",920] 106 | 107 | .. list-table:: Overview: fix 108 | :header-rows: 1 109 | 110 | * - Aspect 111 | - Value 112 | - Explanation 113 | * - Identifier 114 | - "f" 115 | - 116 | * - Additional parameter 117 | - value 118 | - Type int oder float 119 | * - Exceptions 120 | - InvalidFormat 121 | - List does not have length 2 122 | * - 123 | - InvalidType 124 | - Value is not float or int -------------------------------------------------------------------------------- /docs/_build/html/_sources/Interface_files/interface.rst.txt: -------------------------------------------------------------------------------- 1 | .. _interface: 2 | 3 | Interface Files 4 | =============== 5 | 6 | This section describes the expected structure of the interface files and the corresponding default values of various 7 | parameters. There are two interface files, which contain on the one hand the process data and on the other hand the 8 | functions. 9 | 10 | * :ref:`Data file ` 11 | * :ref:`Function file ` 12 | 13 | Furthermore, there is a small overview of the possible distributions/values that the freely selectable attribute of the 14 | simulation objects can assume. 15 | 16 | * :ref:`Attribute values ` 17 | 18 | .. note:: 19 | The exceptions listed in the underlying sections, which are thrown when the data are not valid, can be divided into 20 | two groups. Firstly, those which actually lead to the termination of the program, because they are errors which are 21 | so serious that the data cannot be constructed correctly. On the other hand there are exceptions which are thrown and 22 | caught and then displayed when calling the function 'inspect'. These exceptions are errors, of a content nature. 23 | 24 | .... 25 | 26 | .. toctree:: 27 | :hidden: 28 | :maxdepth: 2 29 | 30 | data_file 31 | 32 | function_file 33 | 34 | attribute_values 35 | -------------------------------------------------------------------------------- /docs/_build/html/_sources/api.rst.txt: -------------------------------------------------------------------------------- 1 | .. _api: 2 | 3 | API Reference 4 | ============= 5 | 6 | ``Environment`` 7 | --------------- 8 | 9 | The Environment class is the central class of the program, because all other functionalities are called and synchronized 10 | via this class. When creating an environment instance, the corresponding data that is to be represented by this instance 11 | must be passed directly. This process data passed during initialization is stored in an internal format and 12 | automatically provided to the corresponding method when various functions are called. 13 | 14 | .. automodule:: environment 15 | :members: 16 | -------------------------------------------------------------------------------- /docs/_build/html/_sources/attribute_values.rst.txt: -------------------------------------------------------------------------------- 1 | .. _attr_values: 2 | 3 | Attribute values 4 | ---------------- 5 | 6 | The following section gives an overview of the different characteristics that the user can give to a custom attribute. 7 | The syntax is always the same, because a list is passed, which has an identifier at the first position, which determines 8 | the type. The following elements define the concrete characteristic or distribution depending on the type. 9 | 10 | * :ref:`Binary ` 11 | * :ref:`Normal ` 12 | * :ref:`Fix ` 13 | 14 | .... 15 | 16 | .. _binary: 17 | 18 | Binary 19 | ****** 20 | 21 | To signal that an attribute should be binary distributed the identifier "b" must be used as the first argument in the 22 | passed list. The second parameter specifies as a float the probability that the attribute takes the value 1. 23 | 24 | .. code-block:: JSON 25 | 26 | "roasted": ["b",0.03] 27 | "cracked": ["b",0.012] 28 | 29 | .. list-table:: Overview: binary 30 | :header-rows: 1 31 | 32 | * - Aspect 33 | - Value 34 | - Explanation 35 | * - Identifier 36 | - "b" 37 | - 38 | * - Additional parameter 39 | - probability 40 | - Probability that the value will be 1 41 | * - Exceptions 42 | - InvalidFormat 43 | - List does not have length 2 44 | * - 45 | - InvalidType 46 | - Second parameter is not a float 47 | * - 48 | - InvalidValue 49 | - Second parameter is not between 0.0 and 1.0 50 | 51 | .... 52 | 53 | .. _normal: 54 | 55 | Normal 56 | ****** 57 | 58 | To signal that an attribute should be normal distributed the identifier "n" must be used as the first argument in the 59 | passed list. The second parameter determines the mean value and the third the standard deviation. These additional 60 | parameters can be integers or floats, where the standard deviation must be greater than or equal to zero. 61 | 62 | .. code-block:: JSON 63 | 64 | "surface_quality": ["n",1,0.05] 65 | "weight": ["n",130.5,1] 66 | 67 | .. list-table:: Overview: normal 68 | :header-rows: 1 69 | 70 | * - Aspect 71 | - Value 72 | - Explanation 73 | * - Identifier 74 | - "n" 75 | - 76 | * - Additional parameter 77 | - mean 78 | - Type int oder float 79 | * - 80 | - standard deviation 81 | - Type int oder float 82 | * - Exceptions 83 | - InvalidFormat 84 | - List does not have length 3 85 | * - 86 | - InvalidType 87 | - Additional parameters are not float or int 88 | * - 89 | - InvalidValue 90 | - Standard deviation is less than 0 91 | 92 | .... 93 | 94 | .. _fix: 95 | 96 | Fix 97 | *** 98 | 99 | To signal that an attribute should be a fix value the identifier "f" must be used as the first argument in the passed 100 | list. The second parameter determines value the this attribute should have. Accepted types are integers and floats. 101 | 102 | .. code-block:: JSON 103 | 104 | "prob_of_failure": ["f",0.01] 105 | "min_strength": ["f",920] 106 | 107 | .. list-table:: Overview: fix 108 | :header-rows: 1 109 | 110 | * - Aspect 111 | - Value 112 | - Explanation 113 | * - Identifier 114 | - "f" 115 | - 116 | * - Additional parameter 117 | - value 118 | - Type int oder float 119 | * - Exceptions 120 | - InvalidFormat 121 | - List does not have length 2 122 | * - 123 | - InvalidType 124 | - Value is not float or int -------------------------------------------------------------------------------- /docs/_build/html/_sources/example_01_setup.rst.txt: -------------------------------------------------------------------------------- 1 | .. _example_1: 2 | 3 | Example 01: Setup process 4 | ------------------------- 5 | 6 | -------------------------------------------------------------------------------- /docs/_build/html/_sources/examples.rst.txt: -------------------------------------------------------------------------------- 1 | 2 | .. _examples: 3 | 4 | Examples 5 | ======== 6 | 7 | The aim of this section is to illustrate the entire process of how this program should be used. The examples are not 8 | constructed in such a way, in order to represent as real circumstances as possible, but in order to refer as versatile 9 | as possible to all special features. 10 | There will be ... examples that chronologically map the use of the program. 11 | 12 | * :ref:`Example 01: Setup process ` 13 | 14 | .... 15 | 16 | .. toctree:: 17 | :hidden: 18 | :maxdepth: 2 19 | 20 | example_01_setup 21 | -------------------------------------------------------------------------------- /docs/_build/html/_sources/exapmles.rst.txt: -------------------------------------------------------------------------------- 1 | 2 | .. _examples: 3 | 4 | Examples 5 | ======== 6 | 7 | Text 8 | 9 | Example 01 10 | ---------- 11 | 12 | Text 13 | 14 | Example 02 15 | ---------- 16 | 17 | Text -------------------------------------------------------------------------------- /docs/_build/html/_sources/index.rst.txt: -------------------------------------------------------------------------------- 1 | 2 | .. image:: ./source/Figures/logo.png 3 | :width: 100% 4 | :alt: logo 5 | 6 | .... 7 | 8 | Overview 9 | ======== 10 | 11 | ProdSim is a process-based discrete event simulation for production environments based on the 12 | `SimPy `_ framework. The package is designed to generate large high-resolution 13 | synthetic production data sets. 14 | 15 | The characteristics of a production system are represented by three system components, namely machines, workpieces, and 16 | a factory. These components interact with one another on the following three system layers: 17 | 18 | * logistics 19 | * stations 20 | * processes 21 | 22 | The bottom level, namely the process level, models elementary assembly or machining operations in which the properties 23 | and behavior of the system components can be influenced. The middle level, namely the station level, maps the system’s 24 | buffer stores and groups machines together into stations according to a workshop or line production. At the top level, 25 | namely the layout level, workpieces are created by sources and removed by sinks. In addition, the material flow of 26 | workpieces through the production process is described. 27 | 28 | Users must define production processes in two input files. In a JSON file, all orders, stations, and the factory are 29 | defined. In a Python script, the users specify the assembly and processing functions, the behavior of the sources and 30 | sinks, as well as global functions and user-defined distributions for attribute values. 31 | 32 | Additionally, the package offers functionalities for the visualization of passed production processes, verification of 33 | input files, and methods for estimating the simulation runtime 34 | 35 | The following code displays the typical usage of the package: 36 | 37 | .. code-block:: python 38 | 39 | from prodsim import Environment 40 | 41 | def main(): 42 | 43 | # Create simulation Environment 44 | env = Environment() 45 | 46 | # Read the input files 47 | env.read_files('./data/process.json', './data/function.py') 48 | 49 | # Inspect and visualize the input data (optional) 50 | # env.inspect() 51 | # env.visualize() 52 | 53 | # Start the simulation 54 | env.simulate(sim_time=10_000, progress_bar=True, max_memory=5, bit_type=64) 55 | 56 | # export the output data 57 | env.data_to_csv("./data/output/", remove_column=['item_id'], keep_original=True) 58 | 59 | 60 | if __name__ == '__main__': 61 | 62 | main() 63 | 64 | How this documentation should be used: 65 | 66 | The :ref:`API Reference ` chapter provides an overview of all methods and their attributes as well as the 67 | corresponding data types. The :ref:`Interface Files ` chapter describes the structure to be followed by the 68 | input files. These two chapters are designed as a reference for specific content. In the final 69 | :ref:`Examples ` chapter, examples are chronologically matched to the later simulation study and contain all 70 | elementary features of the package. Since some modeling techniques are also explained, studying these examples is 71 | recommended before conducting one’s own simulation study. 72 | 73 | .... 74 | 75 | Table of Contents 76 | ================= 77 | 78 | .. toctree:: 79 | :includehidden: 80 | :maxdepth: 2 81 | 82 | ./source/API/api 83 | 84 | ./source/Interface_files/interface 85 | 86 | ./source/Defining_processes/defining_processes 87 | 88 | ./source/Examples/examples 89 | -------------------------------------------------------------------------------- /docs/_build/html/_sources/interface.rst.txt: -------------------------------------------------------------------------------- 1 | .. _interface: 2 | 3 | Interface Files 4 | =============== 5 | 6 | This section describes the expected structure of the interface files and the corresponding default values of various 7 | parameters. There are two interface files, which contain on the one hand the process data and on the other hand the 8 | functions. 9 | 10 | * :ref:`Data file ` 11 | * :ref:`Function file ` 12 | 13 | Furthermore, there is a small overview of the possible distributions/values that the freely selectable attribute of the 14 | simulation objects can assume. 15 | 16 | * :ref:`Attribute values ` 17 | 18 | .. note:: 19 | The exceptions listed in the underlying sections, which are thrown when the data are not valid, can be divided into 20 | two groups. Firstly, those which actually lead to the termination of the program, because they are errors which are 21 | so serious that the data cannot be constructed correctly. On the other hand there are exceptions which are thrown and 22 | caught and then displayed when calling the function 'inspect'. These exceptions are errors, of a content nature. 23 | 24 | .... 25 | 26 | .. toctree:: 27 | :hidden: 28 | :maxdepth: 2 29 | 30 | data_file 31 | 32 | function_file 33 | 34 | attribute_values 35 | -------------------------------------------------------------------------------- /docs/_build/html/_sources/source/API/api.rst.txt: -------------------------------------------------------------------------------- 1 | .. _api: 2 | 3 | API Reference 4 | ============= 5 | 6 | ``Environment`` 7 | --------------- 8 | 9 | The Environment class represents the central element of the library. All offered simulation functionalities are 10 | available to the user in the methods through an object of this class. In addition, the environment controls all 11 | program-internal method calls as well as access to the process data in the background. 12 | 13 | .. automodule:: environment 14 | :members: 15 | 16 | ``Estimator`` 17 | --------------- 18 | 19 | The Estimator class offers some functionalities through which the runtime behavior of the simulation can be estimated. 20 | Alternatively, a reference simulation with a short simulation time can be performed, and the measured simulation time 21 | can be scaled proportionally. However, the function est_function is especially useful for developing suitable process 22 | functions. 23 | 24 | .. automodule:: estimator 25 | :members: 26 | -------------------------------------------------------------------------------- /docs/_build/html/_sources/source/Examples/examples.rst.txt: -------------------------------------------------------------------------------- 1 | 2 | .. _examples: 3 | 4 | Examples 5 | ======== 6 | 7 | In this chapter, the concrete use of the simulation program is presented through the use of examples. The aim of these 8 | examples is not to represent realistic contexts. Instead, they represent as many aspects as possible and are 9 | chronologically oriented to the later workflow. In addition, the examples are independent of each other in order to look 10 | up individual functionalities selectively. The following table serves as a guide: 11 | 12 | +-------------+-----------------------------------------+ 13 | | Example | Focus | 14 | +=============+=========================================+ 15 | | :ref:`01<1>`| Defining a production layout | 16 | | | | 17 | | | Inspecting input files | 18 | | | | 19 | | | Visualizing input files | 20 | +-------------+-----------------------------------------+ 21 | | :ref:`02<2>`| Defining machining functions | 22 | | | | 23 | | | Using global functions | 24 | +-------------+-----------------------------------------+ 25 | | :ref:`03<3>`| Defining an infinite source | 26 | | | | 27 | | | Using global attributes | 28 | | | | 29 | | | Using a pull process principle | 30 | +-------------+-----------------------------------------+ 31 | | :ref:`04<4>`| Accessing assembly workpiece attributes | 32 | | | | 33 | | | Rejecting items | 34 | | | | 35 | | | Transforming and filtering output data | 36 | +-------------+-----------------------------------------+ 37 | 38 | .. note:: 39 | 40 | The examples presented hereafter are provided as executable examples in the following folder: 41 | 42 | .. code-block:: 43 | 44 | /ProdSim/examples/ 45 | 46 | .... 47 | 48 | .. toctree:: 49 | :hidden: 50 | :maxdepth: 2 51 | 52 | example01 53 | 54 | example02 55 | 56 | example03 57 | 58 | example04 59 | -------------------------------------------------------------------------------- /docs/_build/html/_sources/source/Interface_files/interface.rst.txt: -------------------------------------------------------------------------------- 1 | .. _interface: 2 | 3 | Interface Files 4 | =============== 5 | 6 | This chapter defines the structure of the two input interface files and the options available to the user for mapping 7 | production processes. First, the elements of the JSON file describing the simulation objects are presented, followed by 8 | the different function types of the py file. 9 | 10 | * :ref:`Data file ` 11 | * :ref:`Function file ` 12 | 13 | A further section describes the possible distributions used to initialize the attributes of simulation objects when they 14 | are created. 15 | 16 | * :ref:`Attribute values ` 17 | 18 | .. note:: 19 | A subset of the exceptions listed in the following sections will only be thrown when the inspect method is called. 20 | 21 | .... 22 | 23 | .. toctree:: 24 | :hidden: 25 | :maxdepth: 2 26 | 27 | data_file 28 | 29 | function_file 30 | 31 | attribute_values 32 | 33 | output_file 34 | -------------------------------------------------------------------------------- /docs/_build/html/_static/API/api.rst: -------------------------------------------------------------------------------- 1 | .. _api: 2 | 3 | API Reference 4 | ============= 5 | 6 | ``Environment`` 7 | --------------- 8 | 9 | The Environment class is the central class of the program, because all other functionalities are called and synchronized 10 | via this class. When creating an environment instance, the corresponding data that is to be represented by this instance 11 | must be passed directly. This process data passed during initialization is stored in an internal format and 12 | automatically provided to the corresponding method when various functions are called. 13 | 14 | .. automodule:: environment 15 | :members: 16 | -------------------------------------------------------------------------------- /docs/_build/html/_static/Examples/examples.rst: -------------------------------------------------------------------------------- 1 | 2 | .. _examples: 3 | 4 | Examples 5 | ======== 6 | 7 | The aim of this section is to illustrate the entire process of how this program should be used. The examples are not 8 | constructed in such a way, in order to represent as real circumstances as possible, but in order to refer as versatile 9 | as possible to all special features. 10 | There will be four examples that chronologically map the use of the program. 11 | 12 | * :ref:`Create input file ` 13 | * :ref:`Inspect and visualize input data ` 14 | * :ref:`Start simulation and create output data ` 15 | * :ref:`Plot output data ` 16 | 17 | 18 | .... 19 | 20 | .. toctree:: 21 | :hidden: 22 | :maxdepth: 2 23 | 24 | example_setup 25 | 26 | example_inspect_visualize 27 | 28 | example_output_data 29 | 30 | plot_data 31 | -------------------------------------------------------------------------------- /docs/_build/html/_static/Figures/example_02_gear_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/Figures/example_02_gear_assembly.png -------------------------------------------------------------------------------- /docs/_build/html/_static/Figures/example_02_plain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/Figures/example_02_plain.png -------------------------------------------------------------------------------- /docs/_build/html/_static/Figures/example_02_shaft_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/Figures/example_02_shaft_assembly.png -------------------------------------------------------------------------------- /docs/_build/html/_static/Figures/example_03_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/Figures/example_03_csv.png -------------------------------------------------------------------------------- /docs/_build/html/_static/Figures/example_03_over_station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/Figures/example_03_over_station.png -------------------------------------------------------------------------------- /docs/_build/html/_static/Figures/example_03_over_time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/Figures/example_03_over_time.png -------------------------------------------------------------------------------- /docs/_build/html/_static/Figures/example_03_vis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/Figures/example_03_vis.png -------------------------------------------------------------------------------- /docs/_build/html/_static/Interface_files/interface.rst: -------------------------------------------------------------------------------- 1 | .. _interface: 2 | 3 | Interface Files 4 | =============== 5 | 6 | This section describes the expected structure of the interface files and the corresponding default values of various 7 | parameters. There are two interface files, which contain on the one hand the process data and on the other hand the 8 | functions. 9 | 10 | * :ref:`Data file ` 11 | * :ref:`Function file ` 12 | 13 | Furthermore, there is a small overview of the possible distributions/values that the freely selectable attribute of the 14 | simulation objects can assume. 15 | 16 | * :ref:`Attribute values ` 17 | 18 | .. note:: 19 | The exceptions listed in the underlying sections, which are thrown when the data are not valid, can be divided into 20 | two groups. Firstly, those which actually lead to the termination of the program, because they are errors which are 21 | so serious that the data cannot be constructed correctly. On the other hand there are exceptions which are thrown and 22 | caught and then displayed when calling the function 'inspect'. These exceptions are errors, of a content nature. 23 | 24 | .... 25 | 26 | .. toctree:: 27 | :hidden: 28 | :maxdepth: 2 29 | 30 | data_file 31 | 32 | function_file 33 | 34 | attribute_values 35 | -------------------------------------------------------------------------------- /docs/_build/html/_static/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /docs/_build/html/_static/conf.py: -------------------------------------------------------------------------------- 1 | # Configuration file for the Sphinx documentation builder. 2 | # 3 | # This file only contains a selection of the most common options. For a full 4 | # list see the documentation: 5 | # https://www.sphinx-doc.org/en/master/usage/configuration.html 6 | 7 | # -- Path setup -------------------------------------------------------------- 8 | 9 | # If extensions (or modules to document with autodoc) are in another directory, 10 | # add these directories to sys.path here. If the directory is relative to the 11 | # documentation root, use os.path.abspath to make it absolute, like shown here. 12 | # 13 | autodoc_mock_imports = ['matplotlib', 'prodsim'] 14 | import os 15 | import sys 16 | sys.path.insert(0, os.path.abspath('../prodsim')) 17 | 18 | 19 | # -- Project information ----------------------------------------------------- 20 | 21 | project = 'ProdSim' 22 | copyright = '2021, Tom Fuchs' 23 | author = 'Tom Fuchs' 24 | 25 | # The full version, including alpha/beta/rc tags 26 | release = '0.0.0' 27 | 28 | 29 | # -- General configuration --------------------------------------------------- 30 | 31 | # Add any Sphinx extension module names here, as strings. They can be 32 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 33 | # ones. 34 | extensions = ['sphinx.ext.autodoc', 'sphinx.ext.coverage', 'sphinx.ext.napoleon'] 35 | 36 | # Add any paths that contain templates here, relative to this directory. 37 | templates_path = ['_templates'] 38 | 39 | # List of patterns, relative to source directory, that match files and 40 | # directories to ignore when looking for source files. 41 | # This pattern also affects html_static_path and html_extra_path. 42 | exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] 43 | 44 | 45 | # -- Options for HTML output ------------------------------------------------- 46 | 47 | # The theme to use for HTML and HTML Help pages. See the documentation for 48 | # a list of builtin themes. 49 | # 50 | html_theme = 'sphinx_rtd_theme' 51 | 52 | # Add any paths that contain custom static files (such as style sheets) here, 53 | # relative to this directory. They are copied after the builtin static files, 54 | # so a file named "default.css" will overwrite the builtin "default.css". 55 | # html_static_path = ['_static'] 56 | html_static_path = ['.'] 57 | import os 58 | 59 | # html_static_path = [os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'html_static_path'))] 60 | # html_favicon = 'default_favicon.ico' 61 | 62 | html_favicon = 'favicon.ico' 63 | 64 | # remove source link 65 | html_show_sourcelink = False 66 | -------------------------------------------------------------------------------- /docs/_build/html/_static/css/badge_only.css: -------------------------------------------------------------------------------- 1 | .fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}} -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/lato-bold-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/lato-bold-italic.woff -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/lato-bold-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/lato-bold-italic.woff2 -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/lato-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/lato-bold.woff -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/lato-bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/lato-bold.woff2 -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/lato-normal-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/lato-normal-italic.woff -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/lato-normal-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/lato-normal-italic.woff2 -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/lato-normal.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/lato-normal.woff -------------------------------------------------------------------------------- /docs/_build/html/_static/css/fonts/lato-normal.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/css/fonts/lato-normal.woff2 -------------------------------------------------------------------------------- /docs/_build/html/_static/documentation_options.js: -------------------------------------------------------------------------------- 1 | var DOCUMENTATION_OPTIONS = { 2 | URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), 3 | VERSION: '0.1.0', 4 | LANGUAGE: 'None', 5 | COLLAPSE_INDEX: false, 6 | BUILDER: 'html', 7 | FILE_SUFFIX: '.html', 8 | LINK_SUFFIX: '.html', 9 | HAS_SOURCE: true, 10 | SOURCELINK_SUFFIX: '.txt', 11 | NAVIGATION_WITH_KEYS: false 12 | }; -------------------------------------------------------------------------------- /docs/_build/html/_static/example_03_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/example_03_csv.png -------------------------------------------------------------------------------- /docs/_build/html/_static/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/favicon-32x32.png -------------------------------------------------------------------------------- /docs/_build/html/_static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/favicon.ico -------------------------------------------------------------------------------- /docs/_build/html/_static/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/file.png -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Inconsolata-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Inconsolata-Bold.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Inconsolata-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Inconsolata-Regular.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Inconsolata.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Inconsolata.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato-Bold.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato-Regular.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-bold.eot -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-bold.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-bold.woff -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-bold.woff2 -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-bolditalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-bolditalic.eot -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-bolditalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-bolditalic.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff2 -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-italic.eot -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-italic.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-italic.woff -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-italic.woff2 -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-regular.eot -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-regular.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-regular.woff -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/Lato/lato-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/Lato/lato-regular.woff2 -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/RobotoSlab-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/RobotoSlab-Bold.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/RobotoSlab-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/RobotoSlab-Regular.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /docs/_build/html/_static/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /docs/_build/html/_static/index.rst: -------------------------------------------------------------------------------- 1 | 2 | ProdSim Documentation 3 | ===================== 4 | 5 | Text, which describes the functionality and the purpose 6 | 7 | :ref:`api ` 8 | :ref:`interfaces ` 9 | :ref:`examples ` 10 | 11 | .. toctree:: 12 | :hidden: 13 | :maxdepth: 2 14 | 15 | ./source/API/api 16 | 17 | ./source/Interface_files/interface 18 | 19 | ./source/Examples/examples 20 | 21 | Indices and tables 22 | ================== 23 | 24 | * :ref:`genindex` 25 | * :ref:`modindex` 26 | * :ref:`search` 27 | -------------------------------------------------------------------------------- /docs/_build/html/_static/js/badge_only.js: -------------------------------------------------------------------------------- 1 | !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}({4:function(e,t,r){}}); -------------------------------------------------------------------------------- /docs/_build/html/_static/js/html5shiv.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 3 | */ 4 | !function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3-pre",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document); -------------------------------------------------------------------------------- /docs/_build/html/_static/logo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/logo -------------------------------------------------------------------------------- /docs/_build/html/_static/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/logo.ico -------------------------------------------------------------------------------- /docs/_build/html/_static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/logo.png -------------------------------------------------------------------------------- /docs/_build/html/_static/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=. 11 | set BUILDDIR=_build 12 | 13 | if "%1" == "" goto help 14 | 15 | %SPHINXBUILD% >NUL 2>NUL 16 | if errorlevel 9009 ( 17 | echo. 18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 19 | echo.installed, then set the SPHINXBUILD environment variable to point 20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 21 | echo.may add the Sphinx directory to PATH. 22 | echo. 23 | echo.If you don't have Sphinx installed, grab it from 24 | echo.http://sphinx-doc.org/ 25 | exit /b 1 26 | ) 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /docs/_build/html/_static/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/minus.png -------------------------------------------------------------------------------- /docs/_build/html/_static/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/plus.png -------------------------------------------------------------------------------- /docs/_build/html/_static/source/API/api.rst: -------------------------------------------------------------------------------- 1 | .. _api: 2 | 3 | API Reference 4 | ============= 5 | 6 | ``Environment`` 7 | --------------- 8 | 9 | The Environment class is the central class of the program, because all other functionalities are called and synchronized 10 | via this class. When creating an environment instance, the corresponding data that is to be represented by this instance 11 | must be passed directly. This process data passed during initialization is stored in an internal format and 12 | automatically provided to the corresponding method when various functions are called. 13 | 14 | .. automodule:: environment 15 | :members: 16 | -------------------------------------------------------------------------------- /docs/_build/html/_static/source/Examples/examples.rst: -------------------------------------------------------------------------------- 1 | 2 | .. _examples: 3 | 4 | Examples 5 | ======== 6 | 7 | The aim of this section is to illustrate the entire process of how this program should be used. The examples are not 8 | constructed in such a way, in order to represent as real circumstances as possible, but in order to refer as versatile 9 | as possible to all special features. 10 | There will be four examples that chronologically map the use of the program. 11 | 12 | * :ref:`Create input file ` 13 | * :ref:`Inspect and visualize input data ` 14 | * :ref:`Start simulation and create output data ` 15 | * :ref:`Plot output data ` 16 | 17 | 18 | .... 19 | 20 | .. toctree:: 21 | :hidden: 22 | :maxdepth: 2 23 | 24 | example_setup 25 | 26 | example_inspect_visualize 27 | 28 | example_output_data 29 | 30 | plot_data 31 | -------------------------------------------------------------------------------- /docs/_build/html/_static/source/Figures/example_02_gear_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/source/Figures/example_02_gear_assembly.png -------------------------------------------------------------------------------- /docs/_build/html/_static/source/Figures/example_02_plain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/source/Figures/example_02_plain.png -------------------------------------------------------------------------------- /docs/_build/html/_static/source/Figures/example_02_shaft_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/source/Figures/example_02_shaft_assembly.png -------------------------------------------------------------------------------- /docs/_build/html/_static/source/Figures/example_03_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/source/Figures/example_03_csv.png -------------------------------------------------------------------------------- /docs/_build/html/_static/source/Figures/example_03_over_station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/source/Figures/example_03_over_station.png -------------------------------------------------------------------------------- /docs/_build/html/_static/source/Figures/example_03_over_time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/source/Figures/example_03_over_time.png -------------------------------------------------------------------------------- /docs/_build/html/_static/source/Figures/example_03_vis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/_static/source/Figures/example_03_vis.png -------------------------------------------------------------------------------- /docs/_build/html/_static/source/Interface_files/interface.rst: -------------------------------------------------------------------------------- 1 | .. _interface: 2 | 3 | Interface Files 4 | =============== 5 | 6 | This section describes the expected structure of the interface files and the corresponding default values of various 7 | parameters. There are two interface files, which contain on the one hand the process data and on the other hand the 8 | functions. 9 | 10 | * :ref:`Data file ` 11 | * :ref:`Function file ` 12 | 13 | Furthermore, there is a small overview of the possible distributions/values that the freely selectable attribute of the 14 | simulation objects can assume. 15 | 16 | * :ref:`Attribute values ` 17 | 18 | .. note:: 19 | The exceptions listed in the underlying sections, which are thrown when the data are not valid, can be divided into 20 | two groups. Firstly, those which actually lead to the termination of the program, because they are errors which are 21 | so serious that the data cannot be constructed correctly. On the other hand there are exceptions which are thrown and 22 | caught and then displayed when calling the function 'inspect'. These exceptions are errors, of a content nature. 23 | 24 | .... 25 | 26 | .. toctree:: 27 | :hidden: 28 | :maxdepth: 2 29 | 30 | data_file 31 | 32 | function_file 33 | 34 | attribute_values 35 | -------------------------------------------------------------------------------- /docs/_build/html/objects.inv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/html/objects.inv -------------------------------------------------------------------------------- /docs/_build/latex/LatinRules.xdy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/LatinRules.xdy -------------------------------------------------------------------------------- /docs/_build/latex/Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for Sphinx LaTeX output 2 | 3 | ALLDOCS = $(basename $(wildcard *.tex)) 4 | ALLPDF = $(addsuffix .pdf,$(ALLDOCS)) 5 | ALLDVI = $(addsuffix .dvi,$(ALLDOCS)) 6 | ALLXDV = 7 | ALLPS = $(addsuffix .ps,$(ALLDOCS)) 8 | 9 | # Prefix for archive names 10 | ARCHIVEPREFIX = 11 | # Additional LaTeX options (passed via variables in latexmkrc/latexmkjarc file) 12 | export LATEXOPTS ?= 13 | # Additional latexmk options 14 | LATEXMKOPTS ?= 15 | # format: pdf or dvi (used only by archive targets) 16 | FMT = pdf 17 | 18 | LATEX = latexmk -dvi 19 | PDFLATEX = latexmk -pdf -dvi- -ps- 20 | 21 | 22 | %.dvi: %.tex FORCE_MAKE 23 | $(LATEX) $(LATEXMKOPTS) '$<' 24 | 25 | %.ps: %.dvi 26 | dvips '$<' 27 | 28 | %.pdf: %.tex FORCE_MAKE 29 | $(PDFLATEX) $(LATEXMKOPTS) '$<' 30 | 31 | all: $(ALLPDF) 32 | 33 | all-dvi: $(ALLDVI) 34 | 35 | all-ps: $(ALLPS) 36 | 37 | all-pdf: $(ALLPDF) 38 | 39 | zip: all-$(FMT) 40 | mkdir $(ARCHIVEPREFIX)docs-$(FMT) 41 | cp $(ALLPDF) $(ARCHIVEPREFIX)docs-$(FMT) 42 | zip -q -r -9 $(ARCHIVEPREFIX)docs-$(FMT).zip $(ARCHIVEPREFIX)docs-$(FMT) 43 | rm -r $(ARCHIVEPREFIX)docs-$(FMT) 44 | 45 | tar: all-$(FMT) 46 | mkdir $(ARCHIVEPREFIX)docs-$(FMT) 47 | cp $(ALLPDF) $(ARCHIVEPREFIX)docs-$(FMT) 48 | tar cf $(ARCHIVEPREFIX)docs-$(FMT).tar $(ARCHIVEPREFIX)docs-$(FMT) 49 | rm -r $(ARCHIVEPREFIX)docs-$(FMT) 50 | 51 | gz: tar 52 | gzip -9 < $(ARCHIVEPREFIX)docs-$(FMT).tar > $(ARCHIVEPREFIX)docs-$(FMT).tar.gz 53 | 54 | bz2: tar 55 | bzip2 -9 -k $(ARCHIVEPREFIX)docs-$(FMT).tar 56 | 57 | xz: tar 58 | xz -9 -k $(ARCHIVEPREFIX)docs-$(FMT).tar 59 | 60 | clean: 61 | rm -f *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla *.ps *.tar *.tar.gz *.tar.bz2 *.tar.xz $(ALLPDF) $(ALLDVI) $(ALLXDV) *.fls *.fdb_latexmk 62 | 63 | .PHONY: all all-pdf all-dvi all-ps clean zip tar gz bz2 xz 64 | .PHONY: FORCE_MAKE -------------------------------------------------------------------------------- /docs/_build/latex/arm_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/arm_csv.png -------------------------------------------------------------------------------- /docs/_build/latex/assembling_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/assembling_structure.png -------------------------------------------------------------------------------- /docs/_build/latex/bolt_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/bolt_process.png -------------------------------------------------------------------------------- /docs/_build/latex/decribe_process_factory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/decribe_process_factory.png -------------------------------------------------------------------------------- /docs/_build/latex/define_process_add_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/define_process_add_order.png -------------------------------------------------------------------------------- /docs/_build/latex/define_process_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/define_process_assembly.png -------------------------------------------------------------------------------- /docs/_build/latex/define_process_change_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/define_process_change_order.png -------------------------------------------------------------------------------- /docs/_build/latex/define_process_change_station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/define_process_change_station.png -------------------------------------------------------------------------------- /docs/_build/latex/define_process_combine_stations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/define_process_combine_stations.png -------------------------------------------------------------------------------- /docs/_build/latex/define_process_create_files.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/define_process_create_files.png -------------------------------------------------------------------------------- /docs/_build/latex/define_process_ex_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/define_process_ex_process.png -------------------------------------------------------------------------------- /docs/_build/latex/define_process_orders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/define_process_orders.png -------------------------------------------------------------------------------- /docs/_build/latex/define_process_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/define_process_start.png -------------------------------------------------------------------------------- /docs/_build/latex/demand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/demand.png -------------------------------------------------------------------------------- /docs/_build/latex/demand_greater_one.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/demand_greater_one.png -------------------------------------------------------------------------------- /docs/_build/latex/demand_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/demand_profile.png -------------------------------------------------------------------------------- /docs/_build/latex/describe_process_update_graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/describe_process_update_graph.png -------------------------------------------------------------------------------- /docs/_build/latex/distribution_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/distribution_b.png -------------------------------------------------------------------------------- /docs/_build/latex/distribution_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/distribution_c.png -------------------------------------------------------------------------------- /docs/_build/latex/distribution_e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/distribution_e.png -------------------------------------------------------------------------------- /docs/_build/latex/distribution_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/distribution_f.png -------------------------------------------------------------------------------- /docs/_build/latex/distribution_i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/distribution_i.png -------------------------------------------------------------------------------- /docs/_build/latex/distribution_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/distribution_l.png -------------------------------------------------------------------------------- /docs/_build/latex/distribution_n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/distribution_n.png -------------------------------------------------------------------------------- /docs/_build/latex/distribution_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/distribution_p.png -------------------------------------------------------------------------------- /docs/_build/latex/distribution_t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/distribution_t.png -------------------------------------------------------------------------------- /docs/_build/latex/distribution_u.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/distribution_u.png -------------------------------------------------------------------------------- /docs/_build/latex/distribution_ud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/distribution_ud.png -------------------------------------------------------------------------------- /docs/_build/latex/figure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/figure.png -------------------------------------------------------------------------------- /docs/_build/latex/figure_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/figure_process.png -------------------------------------------------------------------------------- /docs/_build/latex/figure_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/figure_tree.png -------------------------------------------------------------------------------- /docs/_build/latex/global_func_logic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/global_func_logic.png -------------------------------------------------------------------------------- /docs/_build/latex/hand_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/hand_csv.png -------------------------------------------------------------------------------- /docs/_build/latex/latexmkjarc: -------------------------------------------------------------------------------- 1 | $latex = 'pdflatex ' . $ENV{'LATEXOPTS'} . ' -kanji=utf8 %O %S'; 2 | $dvipdf = 'dvipdfmx %O -o %D %S'; 3 | $makeindex = 'internal mendex %S %B %D'; 4 | sub mendex { 5 | my ($source, $basename, $destination) = @_; 6 | my $dictfile = $basename . ".dic"; 7 | unlink($destination); 8 | system("mendex", "-U", "-f", "-d", $dictfile, "-s", "python.ist", $source); 9 | if ($? > 0) { 10 | print("mendex exited with error code $? (ignored)\n"); 11 | } 12 | if (!-e $destination) { 13 | # create an empty .ind file if nothing 14 | open(FH, ">" . $destination); 15 | close(FH); 16 | } 17 | return 0; 18 | } 19 | add_cus_dep( "glo", "gls", 0, "makeglo" ); 20 | sub makeglo { 21 | return system( "mendex -J -f -s gglo.ist -o '$_[0].gls' '$_[0].glo'" ); 22 | } -------------------------------------------------------------------------------- /docs/_build/latex/latexmkrc: -------------------------------------------------------------------------------- 1 | $latex = 'latex ' . $ENV{'LATEXOPTS'} . ' %O %S'; 2 | $pdflatex = 'pdflatex ' . $ENV{'LATEXOPTS'} . ' %O %S'; 3 | $lualatex = 'lualatex ' . $ENV{'LATEXOPTS'} . ' %O %S'; 4 | $xelatex = 'xelatex --no-pdf ' . $ENV{'LATEXOPTS'} . ' %O %S'; 5 | $makeindex = 'makeindex -s python.ist %O -o %D %S'; 6 | add_cus_dep( "glo", "gls", 0, "makeglo" ); 7 | sub makeglo { 8 | return system( "makeindex -s gglo.ist -o '$_[0].gls' '$_[0].glo'" ); 9 | } -------------------------------------------------------------------------------- /docs/_build/latex/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/logo.png -------------------------------------------------------------------------------- /docs/_build/latex/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | REM Command file for Sphinx documentation 4 | 5 | pushd %~dp0 6 | 7 | set PDFLATEX=latexmk -pdf -dvi- -ps- 8 | 9 | set "LATEXOPTS= " 10 | 11 | if "%1" == "" goto all-pdf 12 | 13 | if "%1" == "all-pdf" ( 14 | :all-pdf 15 | for %%i in (*.tex) do ( 16 | %PDFLATEX% %LATEXMKOPTS% %%i 17 | ) 18 | goto end 19 | ) 20 | 21 | if "%1" == "all-pdf-ja" ( 22 | goto all-pdf 23 | ) 24 | 25 | if "%1" == "clean" ( 26 | del /q /s *.dvi *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla *.ps *.tar *.tar.gz *.tar.bz2 *.tar.xz *.fls *.fdb_latexmk 27 | goto end 28 | ) 29 | 30 | :end 31 | popd -------------------------------------------------------------------------------- /docs/_build/latex/merge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/merge.png -------------------------------------------------------------------------------- /docs/_build/latex/merged_figure_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/merged_figure_csv.png -------------------------------------------------------------------------------- /docs/_build/latex/output_file_factory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/output_file_factory.png -------------------------------------------------------------------------------- /docs/_build/latex/output_file_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/output_file_order.png -------------------------------------------------------------------------------- /docs/_build/latex/output_file_station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/output_file_station.png -------------------------------------------------------------------------------- /docs/_build/latex/prodsim.idx: -------------------------------------------------------------------------------- 1 | \indexentry{module@\spxentry{module}!environment@\spxentry{environment}|hyperpage}{3} 2 | \indexentry{environment@\spxentry{environment}!module@\spxentry{module}|hyperpage}{3} 3 | \indexentry{Environment (class in environment)@\spxentry{Environment}\spxextra{class in environment}|hyperpage}{3} 4 | \indexentry{clear\_env() (environment.Environment method)@\spxentry{clear\_env()}\spxextra{environment.Environment method}|hyperpage}{3} 5 | \indexentry{data\_to\_csv() (environment.Environment method)@\spxentry{data\_to\_csv()}\spxextra{environment.Environment method}|hyperpage}{3} 6 | \indexentry{data\_to\_hdf5() (environment.Environment method)@\spxentry{data\_to\_hdf5()}\spxextra{environment.Environment method}|hyperpage}{3} 7 | \indexentry{define\_process() (environment.Environment method)@\spxentry{define\_process()}\spxextra{environment.Environment method}|hyperpage}{4} 8 | \indexentry{inspect() (environment.Environment method)@\spxentry{inspect()}\spxextra{environment.Environment method}|hyperpage}{4} 9 | \indexentry{read\_files() (environment.Environment method)@\spxentry{read\_files()}\spxextra{environment.Environment method}|hyperpage}{4} 10 | \indexentry{simulate() (environment.Environment method)@\spxentry{simulate()}\spxextra{environment.Environment method}|hyperpage}{4} 11 | \indexentry{visualize() (environment.Environment method)@\spxentry{visualize()}\spxextra{environment.Environment method}|hyperpage}{5} 12 | \indexentry{module@\spxentry{module}!estimator@\spxentry{estimator}|hyperpage}{5} 13 | \indexentry{estimator@\spxentry{estimator}!module@\spxentry{module}|hyperpage}{5} 14 | \indexentry{Estimator (class in estimator)@\spxentry{Estimator}\spxextra{class in estimator}|hyperpage}{5} 15 | \indexentry{est\_attribute() (estimator.Estimator method)@\spxentry{est\_attribute()}\spxextra{estimator.Estimator method}|hyperpage}{5} 16 | \indexentry{est\_function() (estimator.Estimator method)@\spxentry{est\_function()}\spxextra{estimator.Estimator method}|hyperpage}{5} 17 | \indexentry{est\_item() (estimator.Estimator method)@\spxentry{est\_item()}\spxextra{estimator.Estimator method}|hyperpage}{6} 18 | \indexentry{est\_station() (estimator.Estimator method)@\spxentry{est\_station()}\spxextra{estimator.Estimator method}|hyperpage}{6} 19 | -------------------------------------------------------------------------------- /docs/_build/latex/prodsim.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/prodsim.pdf -------------------------------------------------------------------------------- /docs/_build/latex/prodsim.synctex.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/prodsim.synctex.gz -------------------------------------------------------------------------------- /docs/_build/latex/product_process_gearbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/product_process_gearbox.png -------------------------------------------------------------------------------- /docs/_build/latex/product_tree_gearbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/product_tree_gearbox.png -------------------------------------------------------------------------------- /docs/_build/latex/python.ist: -------------------------------------------------------------------------------- 1 | line_max 100 2 | headings_flag 1 3 | heading_prefix " \\bigletter " 4 | 5 | preamble "\\begin{sphinxtheindex} 6 | \\let\\bigletter\\sphinxstyleindexlettergroup 7 | \\let\\spxpagem \\sphinxstyleindexpagemain 8 | \\let\\spxentry \\sphinxstyleindexentry 9 | \\let\\spxextra \\sphinxstyleindexextra 10 | 11 | " 12 | 13 | postamble "\n\n\\end{sphinxtheindex}\n" 14 | 15 | symhead_positive "{\\sphinxsymbolsname}" 16 | numhead_positive "{\\sphinxnumbersname}" 17 | -------------------------------------------------------------------------------- /docs/_build/latex/rejection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/rejection.png -------------------------------------------------------------------------------- /docs/_build/latex/screenshot_web_app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/screenshot_web_app.png -------------------------------------------------------------------------------- /docs/_build/latex/shaft_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/shaft_csv.png -------------------------------------------------------------------------------- /docs/_build/latex/shaft_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/shaft_process.png -------------------------------------------------------------------------------- /docs/_build/latex/source_logic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/source_logic.png -------------------------------------------------------------------------------- /docs/_build/latex/sphinxlatexcontainers.sty: -------------------------------------------------------------------------------- 1 | %% CONTAINER DIRECTIVES 2 | % 3 | % change this info string if making any custom modification 4 | \ProvidesFile{sphinxlatexcontainers.sty}[2021/05/03 containers] 5 | 6 | % The purpose of this file is to provide a dummy environment sphinxclass which 7 | % will be inserted for each class in each container directive. The class name 8 | % will be passed as the argument to the environment. 9 | % 10 | % For a class foo, the user can define customised handling of that class by 11 | % defining the sphinxclassfoo LaTeX environment. 12 | 13 | \newenvironment{sphinxuseclass}[1]{% 14 | \def\sphinxClassFunctionName{sphinxclass#1}% 15 | \ltx@ifundefined{\sphinxClassFunctionName}% 16 | {}% undefined so do nothing 17 | {\expandafter\begin\expandafter{\sphinxClassFunctionName}}% 18 | }{% 19 | \ltx@ifundefined{\sphinxClassFunctionName}% 20 | {}% we did nothing so we keep doing nothing 21 | {\expandafter\end\expandafter{\sphinxClassFunctionName}}% 22 | }% 23 | -------------------------------------------------------------------------------- /docs/_build/latex/sphinxlatexindbibtoc.sty: -------------------------------------------------------------------------------- 1 | %% INDEX, BIBLIOGRAPHY, APPENDIX, TABLE OF CONTENTS 2 | % 3 | % change this info string if making any custom modification 4 | \ProvidesFile{sphinxlatexindbibtoc.sty}[2021/01/27 index, bib., toc] 5 | 6 | % Provides support for this output mark-up from Sphinx latex writer: 7 | % 8 | % - environments: (backup defaults or get redefined) 9 | % 10 | % - sphinxtheindex (direct mark-up or via python.ist or sphinx.xdy) 11 | % - sphinxthebibliography 12 | % 13 | % - macros: (defines defaults) 14 | % 15 | % - \sphinxmaketitle 16 | % - \sphinxtableofcontents 17 | % - \sphinxnonalphabeticalgroupname 18 | % - \sphinxsymbolsname 19 | % - \sphinxnumbersname 20 | % - \sphinxcite 21 | % 22 | % Requires: 23 | \RequirePackage{makeidx} 24 | 25 | % fix the double index and bibliography on the table of contents 26 | % in jsclasses (Japanese standard document classes) 27 | \ifx\@jsc@uplatextrue\@undefined\else 28 | \renewenvironment{sphinxtheindex} 29 | {\cleardoublepage\phantomsection 30 | \begin{theindex}} 31 | {\end{theindex}} 32 | 33 | \renewenvironment{sphinxthebibliography}[1] 34 | {\cleardoublepage% \phantomsection % not needed here since TeXLive 2010's hyperref 35 | \begin{thebibliography}{#1}} 36 | {\end{thebibliography}} 37 | \fi 38 | 39 | % disable \@chappos in Appendix in pTeX 40 | \ifx\kanjiskip\@undefined\else 41 | \let\py@OldAppendix=\appendix 42 | \renewcommand{\appendix}{ 43 | \py@OldAppendix 44 | \gdef\@chappos{} 45 | } 46 | \fi 47 | 48 | % make commands known to non-Sphinx document classes 49 | \providecommand*{\sphinxmaketitle}{\maketitle} 50 | \providecommand*{\sphinxtableofcontents}{\tableofcontents} 51 | \ltx@ifundefined{sphinxthebibliography} 52 | {\newenvironment 53 | {sphinxthebibliography}{\begin{thebibliography}}{\end{thebibliography}}% 54 | } 55 | {}% else clause of \ltx@ifundefined 56 | \ltx@ifundefined{sphinxtheindex} 57 | {\newenvironment{sphinxtheindex}{\begin{theindex}}{\end{theindex}}}% 58 | {}% else clause of \ltx@ifundefined 59 | 60 | % for usage with xindy: this string gets internationalized in preamble 61 | \newcommand*{\sphinxnonalphabeticalgroupname}{} 62 | % redefined in preamble, headings for makeindex produced index 63 | \newcommand*{\sphinxsymbolsname}{} 64 | \newcommand*{\sphinxnumbersname}{} 65 | 66 | \protected\def\sphinxcite{\cite} 67 | 68 | 69 | \endinput 70 | -------------------------------------------------------------------------------- /docs/_build/latex/sphinxlatexstylepage.sty: -------------------------------------------------------------------------------- 1 | %% PAGE STYLING 2 | % 3 | % change this info string if making any custom modification 4 | \ProvidesFile{sphinxlatexstylepage.sty}[2021/01/27 page styling] 5 | 6 | % Separate paragraphs by space by default. 7 | \IfFileExists{parskip-2001-04-09.sty}% since September 2018 TeXLive update 8 | % new parskip.sty, but let it rollback to old one. 9 | % hopefully TeX installation not broken and LaTeX kernel not too old 10 | {\RequirePackage{parskip}[=v1]} 11 | % standard one from 1989. Admittedly \section of article/book gives possibly 12 | % anomalous spacing, but we can't require September 2018 release for some time. 13 | {\RequirePackage{parskip}} 14 | 15 | % Style parameters and macros used by most documents here 16 | \raggedbottom 17 | \sloppy 18 | \hbadness = 5000 % don't print trivial gripes 19 | 20 | % Require package fancyhdr except under memoir class 21 | \@ifclassloaded{memoir}{}{\RequirePackage{fancyhdr}} 22 | % Use \pagestyle{normal} as the primary pagestyle for text. 23 | % Redefine the 'normal' header/footer style when using "fancyhdr" package: 24 | \@ifpackageloaded{fancyhdr}{% 25 | \ltx@ifundefined{c@chapter} 26 | {% no \chapter, "howto" (non-Japanese) docclass 27 | \fancypagestyle{plain}{ 28 | \fancyhf{} 29 | \fancyfoot[C]{{\py@HeaderFamily\thepage}} 30 | \renewcommand{\headrulewidth}{0pt} 31 | \renewcommand{\footrulewidth}{0pt} 32 | } 33 | % Same as 'plain', this way we can use it in template 34 | % FIXME: shouldn't this have a running header with Name and Release like 'manual'? 35 | \fancypagestyle{normal}{ 36 | \fancyhf{} 37 | \fancyfoot[C]{{\py@HeaderFamily\thepage}} 38 | \renewcommand{\headrulewidth}{0pt} 39 | \renewcommand{\footrulewidth}{0pt} 40 | } 41 | }% 42 | {% classes with \chapter command 43 | \fancypagestyle{normal}{ 44 | \fancyhf{} 45 | \fancyfoot[RO]{{\py@HeaderFamily\thepage}} 46 | \fancyfoot[LO]{{\py@HeaderFamily\nouppercase{\rightmark}}} 47 | \fancyhead[RO]{{\py@HeaderFamily \@title\sphinxheadercomma\py@release}} 48 | \if@twoside 49 | \fancyfoot[LE]{{\py@HeaderFamily\thepage}} 50 | \fancyfoot[RE]{{\py@HeaderFamily\nouppercase{\leftmark}}} 51 | \fancyhead[LE]{{\py@HeaderFamily \@title\sphinxheadercomma\py@release}} 52 | \fi 53 | \renewcommand{\headrulewidth}{0.4pt} 54 | \renewcommand{\footrulewidth}{0.4pt} 55 | % define chaptermark with \@chappos when \@chappos is available for Japanese 56 | \ltx@ifundefined{@chappos}{} 57 | {\def\chaptermark##1{\markboth{\@chapapp\space\thechapter\space\@chappos\space ##1}{}}} 58 | } 59 | % Update the plain style so we get the page number & footer line, 60 | % but not a chapter or section title. This is to keep the first 61 | % page of a chapter `clean.' 62 | \fancypagestyle{plain}{ 63 | \fancyhf{} 64 | \fancyfoot[RO]{{\py@HeaderFamily\thepage}} 65 | \if@twoside\fancyfoot[LE]{{\py@HeaderFamily\thepage}}\fi 66 | \renewcommand{\headrulewidth}{0pt} 67 | \renewcommand{\footrulewidth}{0.4pt} 68 | } 69 | } 70 | } 71 | {% no fancyhdr: memoir class 72 | % Provide default for 'normal' style simply as an alias of 'plain' style 73 | % This way we can use \pagestyle{normal} in LaTeX template 74 | \def\ps@normal{\ps@plain} 75 | % Users of memoir class are invited to redefine 'normal' style in preamble 76 | } 77 | 78 | 79 | \endinput 80 | -------------------------------------------------------------------------------- /docs/_build/latex/sphinxmessages.sty: -------------------------------------------------------------------------------- 1 | % 2 | % sphinxmessages.sty 3 | % 4 | % message resources for Sphinx 5 | % 6 | \ProvidesPackage{sphinxmessages}[2019/01/04 v2.0 Localized LaTeX macros (Sphinx team)] 7 | 8 | \renewcommand{\literalblockcontinuedname}{continued from previous page} 9 | \renewcommand{\literalblockcontinuesname}{continues on next page} 10 | \renewcommand{\sphinxnonalphabeticalgroupname}{Non\sphinxhyphen{}alphabetical} 11 | \renewcommand{\sphinxsymbolsname}{Symbols} 12 | \renewcommand{\sphinxnumbersname}{Numbers} 13 | \def\pageautorefname{page} 14 | 15 | \addto\captionsenglish{\renewcommand{\figurename}{Fig.\@{} }} 16 | \def\fnum@figure{\figurename\thefigure{}} 17 | 18 | \addto\captionsenglish{\renewcommand{\tablename}{Table }} 19 | \def\fnum@table{\tablename\thetable{}} 20 | 21 | \addto\captionsenglish{\renewcommand{\literalblockname}{Listing}} -------------------------------------------------------------------------------- /docs/_build/latex/sphinxoptionsgeometry.sty: -------------------------------------------------------------------------------- 1 | %% OPTIONS FOR GEOMETRY 2 | % 3 | % change this info string if making any custom modification 4 | \ProvidesFile{sphinxoptionsgeometry.sty}[2021/01/27 geometry] 5 | 6 | % geometry 7 | \ifx\kanjiskip\@undefined 8 | \PassOptionsToPackage{% 9 | hmargin={\unexpanded{\spx@opt@hmargin}},% 10 | vmargin={\unexpanded{\spx@opt@vmargin}},% 11 | marginpar=\unexpanded{\spx@opt@marginpar}} 12 | {geometry} 13 | \else 14 | % set text width for Japanese documents to be integer multiple of 1zw 15 | % and text height to be integer multiple of \baselineskip 16 | % the execution is delayed to \sphinxsetup then geometry.sty 17 | \normalsize\normalfont 18 | \newcommand*\sphinxtextwidthja[1]{% 19 | \if@twocolumn\tw@\fi 20 | \dimexpr 21 | \numexpr\dimexpr\paperwidth-\tw@\dimexpr#1\relax\relax/ 22 | \dimexpr\if@twocolumn\tw@\else\@ne\fi zw\relax 23 | zw\relax}% 24 | \newcommand*\sphinxmarginparwidthja[1]{% 25 | \dimexpr\numexpr\dimexpr#1\relax/\dimexpr1zw\relax zw\relax}% 26 | \newcommand*\sphinxtextlinesja[1]{% 27 | \numexpr\@ne+\dimexpr\paperheight-\topskip-\tw@\dimexpr#1\relax\relax/ 28 | \baselineskip\relax}% 29 | \ifx\@jsc@uplatextrue\@undefined\else 30 | % the way we found in order for the papersize special written by 31 | % geometry in the dvi file to be correct in case of jsbook class 32 | \ifnum\mag=\@m\else % do nothing special if nomag class option or 10pt 33 | \PassOptionsToPackage{truedimen}{geometry}% 34 | \fi 35 | \fi 36 | \PassOptionsToPackage{% 37 | hmarginratio={1:1},% 38 | textwidth=\unexpanded{\sphinxtextwidthja{\spx@opt@hmargin}},% 39 | vmarginratio={1:1},% 40 | lines=\unexpanded{\sphinxtextlinesja{\spx@opt@vmargin}},% 41 | marginpar=\unexpanded{\sphinxmarginparwidthja{\spx@opt@marginpar}},% 42 | footskip=2\baselineskip,% 43 | }{geometry}% 44 | \AtBeginDocument 45 | {% update a dimension used by the jsclasses 46 | \ifx\@jsc@uplatextrue\@undefined\else\fullwidth\textwidth\fi 47 | % for some reason, jreport normalizes all dimensions with \@settopoint 48 | \@ifclassloaded{jreport} 49 | {\@settopoint\textwidth\@settopoint\textheight\@settopoint\marginparwidth} 50 | {}% <-- "false" clause of \@ifclassloaded 51 | }% 52 | \fi 53 | 54 | \endinput 55 | -------------------------------------------------------------------------------- /docs/_build/latex/sphinxoptionshyperref.sty: -------------------------------------------------------------------------------- 1 | %% Bookmarks and hyperlinks 2 | % 3 | % change this info string if making any custom modification 4 | \ProvidesFile{sphinxoptionshyperref.sty}[2021/01/27 hyperref] 5 | 6 | % to make pdf with correct encoded bookmarks in Japanese 7 | % this should precede the hyperref package 8 | \ifx\kanjiskip\@undefined 9 | % for non-Japanese: make sure bookmarks are ok also with lualatex 10 | \PassOptionsToPackage{pdfencoding=unicode}{hyperref} 11 | \else 12 | \RequirePackage{atbegshi} 13 | \ifx\ucs\@undefined 14 | \ifnum 42146=\euc"A4A2 15 | \AtBeginShipoutFirst{\special{pdf:tounicode EUC-UCS2}} 16 | \else 17 | \AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}} 18 | \fi 19 | \else 20 | \AtBeginShipoutFirst{\special{pdf:tounicode UTF8-UCS2}} 21 | \fi 22 | \fi 23 | 24 | \ifx\@jsc@uplatextrue\@undefined\else 25 | \PassOptionsToPackage{setpagesize=false}{hyperref} 26 | \fi 27 | 28 | % These options can be overridden inside 'hyperref' key 29 | % or by later use of \hypersetup. 30 | \PassOptionsToPackage{colorlinks,breaklinks,% 31 | linkcolor=InnerLinkColor,filecolor=OuterLinkColor,% 32 | menucolor=OuterLinkColor,urlcolor=OuterLinkColor,% 33 | citecolor=InnerLinkColor}{hyperref} 34 | 35 | \endinput 36 | -------------------------------------------------------------------------------- /docs/_build/latex/sphinxpackagecyrillic.sty: -------------------------------------------------------------------------------- 1 | %% CYRILLIC IN NON-CYRILLIC DOCUMENTS (pdflatex only) 2 | % 3 | % refs: https://tex.stackexchange.com/q/460271/ 4 | \ProvidesPackage{sphinxpackagecyrillic}% 5 | [2018/11/21 v2.0 support for Cyrillic in non-Cyrillic documents] 6 | \RequirePackage{kvoptions} 7 | \SetupKeyvalOptions{prefix=spx@cyropt@} % use \spx@cyropt@ prefix 8 | \DeclareBoolOption[false]{Xtwo} 9 | \DeclareBoolOption[false]{TtwoA} 10 | \DeclareDefaultOption{\@unknownoptionerror} 11 | \ProcessLocalKeyvalOptions* % ignore class options 12 | 13 | \ifspx@cyropt@Xtwo 14 | % original code by tex.sx user egreg (updated 2019/10/28): 15 | % https://tex.stackexchange.com/a/460325/ 16 | % 159 Cyrillic glyphs as available in X2 TeX 8bit font encoding 17 | % This assumes inputenc loaded with utf8 option, or LaTeX release 18 | % as recent as 2018/04/01 which does it automatically. 19 | \@tfor\next:=% 20 | {Ё}{Ђ}{Є}{Ѕ}{І}{Ј}{Љ}{Њ}{Ћ}{Ў}{Џ}{А}{Б}{В}{Г}{Д}{Е}{Ж}{З}{И}{Й}% 21 | {К}{Л}{М}{Н}{О}{П}{Р}{С}{Т}{У}{Ф}{Х}{Ц}{Ч}{Ш}{Щ}{Ъ}{Ы}{Ь}{Э}{Ю}% 22 | {Я}{а}{б}{в}{г}{д}{е}{ж}{з}{и}{й}{к}{л}{м}{н}{о}{п}{р}{с}{т}{у}% 23 | {ф}{х}{ц}{ч}{ш}{щ}{ъ}{ы}{ь}{э}{ю}{я}{ё}{ђ}{є}{ѕ}{і}{ј}{љ}{њ}{ћ}% 24 | {ў}{џ}{Ѣ}{ѣ}{Ѫ}{ѫ}{Ѵ}{ѵ}{Ґ}{ґ}{Ғ}{ғ}{Ҕ}{ҕ}{Җ}{җ}{Ҙ}{ҙ}{Қ}{қ}{Ҝ}{ҝ}% 25 | {Ҟ}{ҟ}{Ҡ}{ҡ}{Ң}{ң}{Ҥ}{ҥ}{Ҧ}{ҧ}{Ҩ}{ҩ}{Ҫ}{ҫ}{Ҭ}{ҭ}{Ү}{ү}{Ұ}{ұ}{Ҳ}{ҳ}% 26 | {Ҵ}{ҵ}{Ҷ}{ҷ}{Ҹ}{ҹ}{Һ}{һ}{Ҽ}{ҽ}{Ҿ}{ҿ}{Ӏ}{Ӄ}{ӄ}{Ӆ}{ӆ}{Ӈ}{ӈ}{Ӌ}{ӌ}% 27 | {Ӎ}{ӎ}{Ӕ}{ӕ}{Ә}{ә}{Ӡ}{ӡ}{Ө}{ө}\do 28 | {% 29 | \begingroup\def\IeC{\protect\DeclareTextSymbolDefault}% 30 | \protected@edef\@temp{\endgroup 31 | \@ifl@t@r{\fmtversion}{2019/10/01}{\csname u8:\next\endcsname}{\next}}% 32 | \@temp{X2}% 33 | }% 34 | \else 35 | \ifspx@cyropt@TtwoA 36 | % original code by tex.sx user jfbu: 37 | % https://tex.stackexchange.com/a/460305/ 38 | % 63*2+1=127 Cyrillic glyphs as found in T2A 8bit TeX font-encoding 39 | \@tfor\@tempa:=% 40 | {ae}{a}{b}{chrdsc}{chvcrs}{ch}{c}{dje}{dze}{dzhe}{d}{erev}{ery}{e}% 41 | {f}{ghcrs}{gup}{g}{hdsc}{hrdsn}{h}{ie}{ii}{ishrt}{i}{je}% 42 | {kbeak}{kdsc}{kvcrs}{k}{lje}{l}{m}{ndsc}{ng}{nje}{n}{otld}{o}{p}{r}% 43 | {schwa}{sdsc}{sftsn}{shch}{shha}{sh}{s}{tshe}{t}{ushrt}{u}{v}% 44 | {ya}{yhcrs}{yi}{yo}{yu}{y}{zdsc}{zhdsc}{zh}{z}\do 45 | {% 46 | \expandafter\DeclareTextSymbolDefault\expandafter 47 | {\csname cyr\@tempa\endcsname}{T2A}% 48 | \expandafter\uppercase\expandafter{\expandafter 49 | \def\expandafter\@tempa\expandafter{\@tempa}}% 50 | \expandafter\DeclareTextSymbolDefault\expandafter 51 | {\csname CYR\@tempa\endcsname}{T2A}% 52 | }% 53 | \DeclareTextSymbolDefault{\CYRpalochka}{T2A}% 54 | \fi\fi 55 | \endinput 56 | -------------------------------------------------------------------------------- /docs/_build/latex/surface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/surface.png -------------------------------------------------------------------------------- /docs/_build/latex/temperature_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/temperature_profile.png -------------------------------------------------------------------------------- /docs/_build/latex/upper_limb_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/_build/latex/upper_limb_csv.png -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- 1 | # Configuration file for the Sphinx documentation builder. 2 | # 3 | # This file only contains a selection of the most common options. For a full 4 | # list see the documentation: 5 | # https://www.sphinx-doc.org/en/master/usage/configuration.html 6 | 7 | # -- Path setup -------------------------------------------------------------- 8 | 9 | # If extensions (or modules to document with autodoc) are in another directory, 10 | # add these directories to sys.path here. If the directory is relative to the 11 | # documentation root, use os.path.abspath to make it absolute, like shown here. 12 | # 13 | autodoc_mock_imports = ['matplotlib', 'prodsim'] 14 | import os 15 | import sys 16 | sys.path.insert(0, os.path.abspath('../prodsim')) 17 | 18 | # -- Project information ----------------------------------------------------- 19 | 20 | project = 'ProdSim' 21 | copyright = '2021, Tom Fuchs' 22 | author = 'Tom Fuchs' 23 | 24 | # The full version, including alpha/beta/rc tags 25 | release = '0.1.0' 26 | 27 | # -- General configuration --------------------------------------------------- 28 | 29 | # Add any Sphinx extension module names here, as strings. They can be 30 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 31 | # ones. 32 | extensions = ['sphinx.ext.autodoc', 'sphinx.ext.coverage', 'sphinx.ext.napoleon'] 33 | 34 | # Add any paths that contain templates here, relative to this directory. 35 | templates_path = ['_templates'] 36 | 37 | # List of patterns, relative to source directory, that match files and 38 | # directories to ignore when looking for source files. 39 | # This pattern also affects html_static_path and html_extra_path. 40 | exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] 41 | 42 | # -- Options for HTML output ------------------------------------------------- 43 | 44 | # The theme to use for HTML and HTML Help pages. See the documentation for 45 | # a list of builtin themes. 46 | # 47 | html_theme = 'sphinx_rtd_theme' 48 | 49 | # Add any paths that contain custom static files (such as style sheets) here, 50 | # relative to this directory. They are copied after the builtin static files, 51 | # so a file named "default.css" will overwrite the builtin "default.css". 52 | html_static_path = ['_static'] 53 | 54 | # remove source link 55 | html_show_sourcelink = False 56 | -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- 1 | 2 | .. image:: ./source/Figures/logo.png 3 | :width: 100% 4 | :alt: logo 5 | 6 | .... 7 | 8 | Overview 9 | ======== 10 | 11 | ProdSim is a process-based discrete event simulation for production environments based on the 12 | `SimPy `_ framework. The package is designed to generate large high-resolution 13 | synthetic production data sets. 14 | 15 | The characteristics of a production system are represented by three system components, namely machines, workpieces, and 16 | a factory. These components interact with one another on the following three system layers: 17 | 18 | * logistics 19 | * stations 20 | * processes 21 | 22 | The bottom level, namely the process level, models elementary assembly or machining operations in which the properties 23 | and behavior of the system components can be influenced. The middle level, namely the station level, maps the system’s 24 | buffer stores and groups machines together into stations according to a workshop or line production. At the top level, 25 | namely the layout level, workpieces are created by sources and removed by sinks. In addition, the material flow of 26 | workpieces through the production process is described. 27 | 28 | Users must define production processes in two input files. In a JSON file, all orders, stations, and the factory are 29 | defined. In a Python script, the users specify the assembly and processing functions, the behavior of the sources and 30 | sinks, as well as global functions and user-defined distributions for attribute values. 31 | 32 | Additionally, the package offers functionalities for the visualization of passed production processes, verification of 33 | input files, and methods for estimating the simulation runtime 34 | 35 | The following code displays the typical usage of the package: 36 | 37 | .. code-block:: python 38 | 39 | from prodsim import Environment 40 | 41 | def main(): 42 | 43 | # Create simulation Environment 44 | env = Environment() 45 | 46 | # Read the input files 47 | env.read_files('./data/process.json', './data/function.py') 48 | 49 | # Inspect and visualize the input data (optional) 50 | # env.inspect() 51 | # env.visualize() 52 | 53 | # Start the simulation 54 | env.simulate(sim_time=10_000, progress_bar=True, max_memory=5, bit_type=64) 55 | 56 | # export the output data 57 | env.data_to_csv("./data/output/", remove_column=['item_id'], keep_original=True) 58 | 59 | 60 | if __name__ == '__main__': 61 | 62 | main() 63 | 64 | How this documentation should be used: 65 | 66 | The :ref:`API Reference ` chapter provides an overview of all methods and their attributes as well as the 67 | corresponding data types. The :ref:`Interface Files ` chapter describes the structure to be followed by the 68 | input files. These two chapters are designed as a reference for specific content. In the final 69 | :ref:`Examples ` chapter, examples are chronologically matched to the later simulation study and contain all 70 | elementary features of the package. Since some modeling techniques are also explained, studying these examples is 71 | recommended before conducting one’s own simulation study. 72 | 73 | .... 74 | 75 | Table of Contents 76 | ================= 77 | 78 | .. toctree:: 79 | :includehidden: 80 | :maxdepth: 2 81 | 82 | ./source/API/api 83 | 84 | ./source/Interface_files/interface 85 | 86 | ./source/Defining_processes/defining_processes 87 | 88 | ./source/Examples/examples 89 | -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=. 11 | set BUILDDIR=_build 12 | 13 | if "%1" == "" goto help 14 | 15 | %SPHINXBUILD% >NUL 2>NUL 16 | if errorlevel 9009 ( 17 | echo. 18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 19 | echo.installed, then set the SPHINXBUILD environment variable to point 20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 21 | echo.may add the Sphinx directory to PATH. 22 | echo. 23 | echo.If you don't have Sphinx installed, grab it from 24 | echo.http://sphinx-doc.org/ 25 | exit /b 1 26 | ) 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /docs/source/API/api.rst: -------------------------------------------------------------------------------- 1 | .. _api: 2 | 3 | API Reference 4 | ============= 5 | 6 | ``Environment`` 7 | --------------- 8 | 9 | The Environment class represents the central element of the library. All offered simulation functionalities are 10 | available to the user in the methods through an object of this class. In addition, the environment controls all 11 | program-internal method calls as well as access to the process data in the background. 12 | 13 | .. automodule:: environment 14 | :members: 15 | 16 | ``Estimator`` 17 | --------------- 18 | 19 | The Estimator class offers some functionalities through which the runtime behavior of the simulation can be estimated. 20 | Alternatively, a reference simulation with a short simulation time can be performed, and the measured simulation time 21 | can be scaled proportionally. However, the function est_function is especially useful for developing suitable process 22 | functions. 23 | 24 | .. automodule:: estimator 25 | :members: 26 | -------------------------------------------------------------------------------- /docs/source/Examples/examples.rst: -------------------------------------------------------------------------------- 1 | 2 | .. _examples: 3 | 4 | Examples 5 | ======== 6 | 7 | In this chapter, the concrete use of the simulation program is presented through the use of examples. The aim of these 8 | examples is not to represent realistic contexts. Instead, they represent as many aspects as possible and are 9 | chronologically oriented to the later workflow. In addition, the examples are independent of each other in order to look 10 | up individual functionalities selectively. The following table serves as a guide: 11 | 12 | +-------------+-----------------------------------------+ 13 | | Example | Focus | 14 | +=============+=========================================+ 15 | | :ref:`01<1>`| Defining a production layout | 16 | | | | 17 | | | Inspecting input files | 18 | | | | 19 | | | Visualizing input files | 20 | +-------------+-----------------------------------------+ 21 | | :ref:`02<2>`| Defining machining functions | 22 | | | | 23 | | | Using global functions | 24 | +-------------+-----------------------------------------+ 25 | | :ref:`03<3>`| Defining an infinite source | 26 | | | | 27 | | | Using global attributes | 28 | | | | 29 | | | Using a pull process principle | 30 | +-------------+-----------------------------------------+ 31 | | :ref:`04<4>`| Accessing assembly workpiece attributes | 32 | | | | 33 | | | Rejecting items | 34 | | | | 35 | | | Transforming and filtering output data | 36 | +-------------+-----------------------------------------+ 37 | 38 | .. note:: 39 | 40 | The examples presented hereafter are provided as executable examples in the following folder: 41 | 42 | .. code-block:: 43 | 44 | /ProdSim/examples/ 45 | 46 | .... 47 | 48 | .. toctree:: 49 | :hidden: 50 | :maxdepth: 2 51 | 52 | example01 53 | 54 | example02 55 | 56 | example03 57 | 58 | example04 59 | -------------------------------------------------------------------------------- /docs/source/Figures/arm_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/arm_csv.png -------------------------------------------------------------------------------- /docs/source/Figures/assembling_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/assembling_structure.png -------------------------------------------------------------------------------- /docs/source/Figures/bolt_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/bolt_process.png -------------------------------------------------------------------------------- /docs/source/Figures/decribe_process_factory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/decribe_process_factory.png -------------------------------------------------------------------------------- /docs/source/Figures/define_process_add_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/define_process_add_order.png -------------------------------------------------------------------------------- /docs/source/Figures/define_process_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/define_process_assembly.png -------------------------------------------------------------------------------- /docs/source/Figures/define_process_change_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/define_process_change_order.png -------------------------------------------------------------------------------- /docs/source/Figures/define_process_change_station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/define_process_change_station.png -------------------------------------------------------------------------------- /docs/source/Figures/define_process_combine_stations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/define_process_combine_stations.png -------------------------------------------------------------------------------- /docs/source/Figures/define_process_create_files.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/define_process_create_files.png -------------------------------------------------------------------------------- /docs/source/Figures/define_process_ex_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/define_process_ex_process.png -------------------------------------------------------------------------------- /docs/source/Figures/define_process_orders.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/define_process_orders.png -------------------------------------------------------------------------------- /docs/source/Figures/define_process_start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/define_process_start.png -------------------------------------------------------------------------------- /docs/source/Figures/demand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/demand.png -------------------------------------------------------------------------------- /docs/source/Figures/demand_greater_one.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/demand_greater_one.png -------------------------------------------------------------------------------- /docs/source/Figures/demand_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/demand_profile.png -------------------------------------------------------------------------------- /docs/source/Figures/describe_process_update_graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/describe_process_update_graph.png -------------------------------------------------------------------------------- /docs/source/Figures/distribution_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/distribution_b.png -------------------------------------------------------------------------------- /docs/source/Figures/distribution_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/distribution_c.png -------------------------------------------------------------------------------- /docs/source/Figures/distribution_e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/distribution_e.png -------------------------------------------------------------------------------- /docs/source/Figures/distribution_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/distribution_f.png -------------------------------------------------------------------------------- /docs/source/Figures/distribution_i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/distribution_i.png -------------------------------------------------------------------------------- /docs/source/Figures/distribution_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/distribution_l.png -------------------------------------------------------------------------------- /docs/source/Figures/distribution_n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/distribution_n.png -------------------------------------------------------------------------------- /docs/source/Figures/distribution_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/distribution_p.png -------------------------------------------------------------------------------- /docs/source/Figures/distribution_t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/distribution_t.png -------------------------------------------------------------------------------- /docs/source/Figures/distribution_u.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/distribution_u.png -------------------------------------------------------------------------------- /docs/source/Figures/distribution_ud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/distribution_ud.png -------------------------------------------------------------------------------- /docs/source/Figures/example_02_gear_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/example_02_gear_assembly.png -------------------------------------------------------------------------------- /docs/source/Figures/example_02_plain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/example_02_plain.png -------------------------------------------------------------------------------- /docs/source/Figures/example_02_shaft_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/example_02_shaft_assembly.png -------------------------------------------------------------------------------- /docs/source/Figures/example_03_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/example_03_csv.png -------------------------------------------------------------------------------- /docs/source/Figures/example_03_over_station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/example_03_over_station.png -------------------------------------------------------------------------------- /docs/source/Figures/example_03_over_time.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/example_03_over_time.png -------------------------------------------------------------------------------- /docs/source/Figures/example_03_vis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/example_03_vis.png -------------------------------------------------------------------------------- /docs/source/Figures/example_05_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/example_05_plot.png -------------------------------------------------------------------------------- /docs/source/Figures/example_05_visualize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/example_05_visualize.png -------------------------------------------------------------------------------- /docs/source/Figures/figure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/figure.png -------------------------------------------------------------------------------- /docs/source/Figures/figure_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/figure_process.png -------------------------------------------------------------------------------- /docs/source/Figures/figure_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/figure_tree.png -------------------------------------------------------------------------------- /docs/source/Figures/global_func_logic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/global_func_logic.png -------------------------------------------------------------------------------- /docs/source/Figures/hand_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/hand_csv.png -------------------------------------------------------------------------------- /docs/source/Figures/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/logo.png -------------------------------------------------------------------------------- /docs/source/Figures/merge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/merge.png -------------------------------------------------------------------------------- /docs/source/Figures/merged_figure_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/merged_figure_csv.png -------------------------------------------------------------------------------- /docs/source/Figures/output_file_factory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/output_file_factory.png -------------------------------------------------------------------------------- /docs/source/Figures/output_file_order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/output_file_order.png -------------------------------------------------------------------------------- /docs/source/Figures/output_file_station.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/output_file_station.png -------------------------------------------------------------------------------- /docs/source/Figures/product_process_gearbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/product_process_gearbox.png -------------------------------------------------------------------------------- /docs/source/Figures/product_tree_gearbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/product_tree_gearbox.png -------------------------------------------------------------------------------- /docs/source/Figures/rejection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/rejection.png -------------------------------------------------------------------------------- /docs/source/Figures/screenshot_web_app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/screenshot_web_app.png -------------------------------------------------------------------------------- /docs/source/Figures/shaft_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/shaft_csv.png -------------------------------------------------------------------------------- /docs/source/Figures/shaft_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/shaft_process.png -------------------------------------------------------------------------------- /docs/source/Figures/source_logic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/source_logic.png -------------------------------------------------------------------------------- /docs/source/Figures/surface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/surface.png -------------------------------------------------------------------------------- /docs/source/Figures/temperature_profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/temperature_profile.png -------------------------------------------------------------------------------- /docs/source/Figures/upper_limb_csv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/docs/source/Figures/upper_limb_csv.png -------------------------------------------------------------------------------- /docs/source/Interface_files/interface.rst: -------------------------------------------------------------------------------- 1 | .. _interface: 2 | 3 | Interface Files 4 | =============== 5 | 6 | This chapter defines the structure of the two input interface files and the options available to the user for mapping 7 | production processes. First, the elements of the JSON file describing the simulation objects are presented, followed by 8 | the different function types of the py file. 9 | 10 | * :ref:`Data file ` 11 | * :ref:`Function file ` 12 | 13 | A further section describes the possible distributions used to initialize the attributes of simulation objects when they 14 | are created. 15 | 16 | * :ref:`Attribute values ` 17 | 18 | .. note:: 19 | A subset of the exceptions listed in the following sections will only be thrown when the inspect method is called. 20 | 21 | .... 22 | 23 | .. toctree:: 24 | :hidden: 25 | :maxdepth: 2 26 | 27 | data_file 28 | 29 | function_file 30 | 31 | attribute_values 32 | 33 | output_file 34 | -------------------------------------------------------------------------------- /examples/example01/README.md: -------------------------------------------------------------------------------- 1 | # Example 01 2 | 3 | ## Table of Contents 4 | 5 | * [Purpose of this example](#purpose) 6 | * [File structure](#file_structure) 7 | * [For trying out](#try_out) 8 | 9 | ## Purpose of this example 10 | 11 | The first example only serves to show how a production process with machining and assembly steps can be defined and 12 | which operations should be performed on the input data before the first simulation. The individual process functions are 13 | here without content, and the workpieces do not have any attributes. The following figures show the product tree and 14 | process structure. 15 | 16 | ![gearbox_product_tree](./figures/gearbox_tree.png "Gearbox product tree") 17 | 18 | ![gearbox_process_graph](./figures/gearbox_process.png "Gearbox process graph") 19 | 20 | ## File structure 21 | 22 | ``` 23 | . example01 24 | |--data/ 25 | | |--function.py 26 | | |--process.json 27 | |--figures/ 28 | | |--gearbox_process.png 29 | | |--gearbox_tree.png 30 | |--example01.py 31 | |--README.md 32 | ``` 33 | 34 | The ``example01`` folder already contains all the fully prepared files that are necessary to perform the steps 35 | described, in the documentation. The subfolder ``data`` contains the two process input files, while ``example01.py`` 36 | contains the script to execute the process steps. 37 | 38 | ## For trying out 39 | 40 | In the script ``example01.py`` first the input files are read into a newly created environment. Then the user can call 41 | the ``inspect()`` and ``visualize()`` functions. Both functions can be called at the same time, but separate calls are 42 | recommended. 43 | 44 | If ``inspect()`` is called, the following output should be printed. 45 | 46 | ``` 47 | progress station: [====================] 100% quality_check 48 | progress order: [====================] 100% shaft 49 | factory: [====================] 100% factory 50 | WARNINGS------------------- 51 | EXCEPTIONS----------------- 52 | --------------------------- 53 | Number of Warnings: 0 54 | Number of Exceptions: 0 55 | --------------------------- 56 | ``` 57 | 58 | When ``visualize()`` is called, the following output should be printed. Clicking on the link 59 | (``http://127.0.0.1:8050/``) opens a browser window with the interactive graph (If the script is executed in a shell or 60 | in an IDE that does not offer corresponding functions, the link can be copied and opened manually in the browser). 61 | 62 | ``` 63 | Dash is running on http://127.0.0.1:8050/ 64 | 65 | * Serving Flask app 'ProdSim_app' (lazy loading) 66 | * Environment: production 67 | WARNING: This is a development server. Do not use it in a production deployment. 68 | Use a production WSGI server instead. 69 | * Debug mode: on 70 | ``` 71 | 72 | For better understanding, typical errors can be inserted into the input files (for example, changing the signature of a 73 | process function) and the ``inspect()`` method can be called again. The inserted errors should be displayed in the 74 | output. 75 | 76 | Concerning the ``visualize()`` method, it is recommended to get familiar with the graph and try different functions 77 | (moving the image, moving individual nodes, clicking on any node, selecting the drop-down menu). -------------------------------------------------------------------------------- /examples/example01/data/function.py: -------------------------------------------------------------------------------- 1 | # ---- sources ------------------------ 2 | 3 | def source_1(env, factory): 4 | yield env.timeout(1) 5 | yield 1 6 | 7 | def source_2(env, factory): 8 | yield env.timeout(1) 9 | yield 2 10 | 11 | # ---- sinks -------------------------- 12 | 13 | # ---- process functions -------------- 14 | 15 | def assemble_gb(env, item, machine, factory): 16 | yield env.timeout(1) 17 | 18 | def quality_check(env, item, machine, factory): 19 | yield env.timeout(1) 20 | 21 | def assemble_gs(env, item, machine, factory): 22 | yield env.timeout(1) 23 | 24 | def heating(env, item, machine, factory): 25 | yield env.timeout(1) 26 | 27 | def turning(env, item, machine, factory): 28 | yield env.timeout(1) 29 | 30 | # ---- global functions --------------- 31 | 32 | def glob_func_1(env, factory): 33 | yield env.timeout(1) 34 | 35 | # ---- distributions ------------------ 36 | -------------------------------------------------------------------------------- /examples/example01/data/process.json: -------------------------------------------------------------------------------- 1 | { 2 | "order": [ 3 | { 4 | "name": "gearbox", 5 | "storage": 10, 6 | "source": "source_1", 7 | "station": ["assemble_gb","quality_check"], 8 | "function": ["assemble_gb","quality_check"], 9 | "demand": [[1,8,1],2], 10 | "component": [["housing","screw","gear_shaft"],[]] 11 | }, 12 | { 13 | "name": "housing", 14 | "source": "source_1", 15 | "storage": 10 16 | }, 17 | { 18 | "name": "screw", 19 | "source": "source_1", 20 | "storage": 10 21 | }, 22 | { 23 | "name": "gear_shaft", 24 | "storage": 10, 25 | "source": "source_1", 26 | "station": ["assemble_gs"], 27 | "function": ["assemble_gs"], 28 | "demand": [[6,1]], 29 | "component": [["gear","shaft"]] 30 | }, 31 | { 32 | "name": "gear", 33 | "storage": 10, 34 | "source": "source_2", 35 | "station": ["heat_treatment"], 36 | "function": ["heating"], 37 | "demand": [8] 38 | }, 39 | { 40 | "name": "shaft", 41 | "storage": 10, 42 | "source": "source_2", 43 | "station": ["lathe"], 44 | "function": ["turning"] 45 | } 46 | ], 47 | "station": [ 48 | { 49 | "name": "lathe", 50 | "storage": 10 51 | }, 52 | { 53 | "name": "heat_treatment", 54 | "storage": 10 55 | }, 56 | { 57 | "name": "assemble_gs", 58 | "storage": 10 59 | }, 60 | { 61 | "name": "assemble_gb", 62 | "storage": 10 63 | }, 64 | { 65 | "name": "quality_check", 66 | "storage": 10, 67 | "measurement": true 68 | } 69 | ], 70 | "factory": { 71 | "glob_attr_1": ["f",0], 72 | "glob_attr_2": ["n",1,0.1], 73 | "function": ["glob_func_1"] 74 | } 75 | } -------------------------------------------------------------------------------- /examples/example01/example01.py: -------------------------------------------------------------------------------- 1 | from prodsim import Environment 2 | 3 | if __name__ == '__main__': 4 | 5 | # create new simulation environment 6 | env = Environment() 7 | 8 | # read input files 9 | env.read_files('./data/process.json', './data/function.py') 10 | 11 | # Inspect the process data (uncomment) 12 | # env.inspect() 13 | 14 | # Visualize the process data (uncomment) 15 | env.visualize() 16 | -------------------------------------------------------------------------------- /examples/example01/figures/gearbox_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/examples/example01/figures/gearbox_process.png -------------------------------------------------------------------------------- /examples/example01/figures/gearbox_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/examples/example01/figures/gearbox_tree.png -------------------------------------------------------------------------------- /examples/example02/README.md: -------------------------------------------------------------------------------- 1 | # Example 02 2 | 3 | ## Table of Contents 4 | 5 | * [Purpose of this example](#purpose) 6 | * [The modeled process](#process) 7 | * [File structure](#file_structure) 8 | * [For trying out](#try_out) 9 | 10 | ## Purpose of this example 11 | 12 | The focus of this example is on the definition of machining functions. In addition, global attributes are used and 13 | controlled by global functions. 14 | 15 | ## The modeled process 16 | 17 | For better understanding, a simple linear process is used. This involves the machining of shafts in a tact-based line 18 | production (tact time: one minute). The following figure shows the process graph as it is also generated by the 19 | ``visualize()`` method. 20 | 21 | ![shaft process](./figures/shaft_process.png "Shaft process") 22 | 23 | First, the shafts are drilled, then turned and finally polished. The aim of this simulation is to model the course of 24 | the surface quality of the shafts over time. 25 | 26 | ## File structure 27 | 28 | ``` 29 | . example02 30 | |--data/ 31 | | |--function.py 32 | | |--process.json 33 | |--figures/ 34 | | |--shaft_process.png 35 | |--output/ 36 | | |--shaft_surface_pre_run.png 37 | |--example02.py 38 | |--README.md 39 | ``` 40 | 41 | The folder ``example02`` already contains all the files needed to run the simulation. The subfolder ``data`` contains 42 | the two input files in which the production process is defined. In the script ``example02`` the input files are loaded 43 | in a newly created simulation environment, and the simulation is started. In addition, the script contains a function 44 | for plotting the simulation data. After the simulation, the exported simulation data is stored in the ``output`` 45 | subfolder. This folder also contains an image of the expected output. 46 | 47 | ## For trying out 48 | 49 | The ``inspect()`` and ``visualize()`` methods can be called, but they do not reveal anything new at this point, since 50 | the input files have already been checked. 51 | 52 | When executing the two methods ``simulate`` and ``data_to_csv``, the following process bar should appear and scroll 53 | during the simulation. 54 | 55 | ``` 56 | simulation progress: [====================] 100% 57 | ``` 58 | 59 | After the simulation the file ``shaft.csv`` will be created in the subfolder ``output``, which contains the output 60 | data (The data contained in this file is already plotted in the file ``./output/shaft_surface_pre_run.png``). 61 | 62 | To build up a better understanding, the implemented machining functions can be modified, and the simulation can be run 63 | again (Attention: the output files which have been created before have to be deleted, because they might not be 64 | overwritten). To visualize the result the script ``example02`` contains the commented function ``plot_surface()`` which 65 | plots the surface over time and creates a corresponding file in the output folder (Attention: to call this method pandas 66 | and matplotlib must be installed). 67 | -------------------------------------------------------------------------------- /examples/example02/data/function.py: -------------------------------------------------------------------------------- 1 | import random 2 | 3 | # ---- sources ------------------------ 4 | 5 | def shaft_source(env, factory): 6 | yield env.timeout(1) 7 | yield 1 8 | 9 | # ---- sinks --------------------------- 10 | 11 | # ---- process functions -------------- 12 | 13 | def drilling(env, item, machine, factory): 14 | 15 | if random.random() < machine.drill_breakage: 16 | item.surface += random.normalvariate(2.5, 0.1) 17 | 18 | yield env.timeout(2) 19 | 20 | def turning(env, item, machine, factory): 21 | 22 | if machine.wear >= 1: 23 | machine.wear = 0 24 | yield env.timeout(10) 25 | 26 | item.surface += machine.wear**2 * 1.5 - 2 27 | # it's possible to use the machine 50 times, before it has to be maintained 28 | machine.wear += 0.006 29 | yield env.timeout(1) 30 | 31 | def polishing(env, item, machine, factory): 32 | 33 | item.surface -= 8 - factory.temperature * 0.3 34 | 35 | yield env.timeout(1) 36 | 37 | # ---- global functions --------------- 38 | 39 | 40 | temp_dict = {0: 19, 240: 18, 480: 20, 720: 23, 960: 22, 1200: 20} 41 | 42 | def temperature_func(env, factory): 43 | 44 | # determine the current time of day in minutes 45 | day_time: int = env.now % 1440 46 | 47 | # Set the temperature in the factory based on the time of day 48 | factory.temperature = temp_dict[day_time] 49 | 50 | yield env.timeout(240) 51 | 52 | # ---- distributions ------------------ 53 | -------------------------------------------------------------------------------- /examples/example02/data/process.json: -------------------------------------------------------------------------------- 1 | { 2 | "order": [ 3 | { 4 | "name": "shaft", 5 | "station": ["drill", "lathe", "polisher"], 6 | "function": ["drilling", "turning", "polishing"], 7 | "source": "shaft_source", 8 | "surface": ["n",10,0.2] 9 | } 10 | ], 11 | "station": [ 12 | { 13 | "name": "drill", 14 | "storage": 2, 15 | "capacity": 2, 16 | "drill_breakage": ["f",0.0015] 17 | }, 18 | { 19 | "name": "lathe", 20 | "storage": 2, 21 | "wear": ["f",0] 22 | }, 23 | { 24 | "name": "polisher", 25 | "storage": 1 26 | } 27 | ], 28 | "factory": { 29 | "temperature": ["f",20], 30 | "function": ["temperature_func"] 31 | } 32 | } -------------------------------------------------------------------------------- /examples/example02/example02.py: -------------------------------------------------------------------------------- 1 | from prodsim import Environment 2 | 3 | # This code is used to plot the data 4 | # To run this code matplotlib and pandas must be installed 5 | 6 | # import matplotlib.pyplot as plt 7 | # import pandas as pd 8 | # 9 | # def plot_surface(): 10 | # 11 | # surface_data = pd.read_csv('./output/shaft.csv') 12 | # 13 | # labels = ['drill', 'lathe', 'polisher'] 14 | # 15 | # for index, label in enumerate(labels): 16 | # plt.plot(surface_data[surface_data['station_id'] == index]['time'], 17 | # surface_data[surface_data['station_id'] == index]['surface'], label=label) 18 | # 19 | # plt.xlabel('Sim. time') 20 | # plt.ylabel('Surface roughness') 21 | # plt.title('Surface over simulated time') 22 | # plt.legend(loc='upper right') 23 | # 24 | # plt.savefig('./output/shaft_surface.png') 25 | 26 | if __name__ == '__main__': 27 | 28 | # Create simulation environment 29 | env = Environment() 30 | 31 | # Read in the process files 32 | env.read_files('./data/process.json', './data/function.py') 33 | 34 | # Inspect and visualize (optional) 35 | # env.inspect() 36 | # env.visualize() 37 | 38 | # Start the simulation 39 | env.simulate(sim_time=4320, track_components=['shaft'], progress_bar=True) 40 | 41 | # Export the simulation data 42 | env.data_to_csv(path_to_wd='./output/', remove_column=['item_id'], keep_original=False) 43 | 44 | # Plot 'surface' over simulation time (optional) 45 | # plot_surface() 46 | -------------------------------------------------------------------------------- /examples/example02/figures/shaft_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/examples/example02/figures/shaft_process.png -------------------------------------------------------------------------------- /examples/example02/output/shaft_surface_pre_run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/examples/example02/output/shaft_surface_pre_run.png -------------------------------------------------------------------------------- /examples/example03/data/function.py: -------------------------------------------------------------------------------- 1 | from random import normalvariate, random 2 | 3 | # ---- sources ------------------------ 4 | 5 | def infinite_source(env, factory): 6 | yield 1 7 | 8 | # ---- sinks --------------------------- 9 | 10 | 11 | # Defines the demand distribution over time 12 | time_dict = {1: [0, 4], 2: [4, 8], 3: [8, 12], 4: [12, 16], 5: [16, 20], 6: [20, 24]} 13 | demand_dict = {1: [7, 0.5], 2: [8, 0.7], 3: [20.5, 1], 4: [22, 1.7], 5: [20, 2.5], 6: [12, 1.2]} 14 | 15 | def bolt_sink(env, factory): 16 | 17 | demand = 0 18 | day_time = env.now % 1440 19 | 20 | # Determine the standard demand 21 | for index, time_interval in time_dict.items(): 22 | if time_interval[0] < day_time/60 < time_interval[1]: 23 | dis = demand_dict[index] 24 | demand += int(normalvariate(dis[0], dis[1])) 25 | break 26 | 27 | # Determining the additional demand 28 | if random() < 0.004: 29 | demand += int(abs(normalvariate(250, 20))) 30 | 31 | yield env.timeout(1) 32 | 33 | # Update number of bolts 34 | factory.number_bolts -= demand 35 | 36 | # Just for output plotting purpose 37 | factory.current_demand = demand 38 | 39 | yield demand 40 | 41 | # ---- process functions -------------- 42 | 43 | def forging(env, item, machine, factory): 44 | 45 | while True: 46 | if factory.active_machines < factory.max_active_machines: 47 | break 48 | yield env.timeout(1) 49 | 50 | factory.active_machines += 1 51 | 52 | yield env.timeout(1) 53 | 54 | factory.number_bolts += 6 55 | 56 | factory.active_machines -= 1 57 | 58 | # ---- global functions --------------- 59 | 60 | 61 | control_logic = {1000: 5, 2000: 4, 3000: 3, 4000: 2, 5000: 1} 62 | 63 | def global_control(env, factory): 64 | 65 | # Set max_active_machines_based on number_bolts 66 | for quantity in control_logic.keys(): 67 | if factory.number_bolts < quantity: 68 | factory.max_active_machines = control_logic[quantity] 69 | break 70 | factory.max_active_machines = 0 71 | 72 | # Update every time step (minute) 73 | yield env.timeout(1) 74 | 75 | # ---- distributions ------------------ 76 | -------------------------------------------------------------------------------- /examples/example03/data/process.json: -------------------------------------------------------------------------------- 1 | { 2 | "order": [ 3 | { 4 | "name": "bolt", 5 | "source": "infinite_source", 6 | "sink": "bolt_sink", 7 | "storage": 5000, 8 | "demand": [6], 9 | "station": ["forge"], 10 | "function": ["forging"] 11 | } 12 | ], 13 | "station": [ 14 | { 15 | "name": "forge", 16 | "capacity": 5, 17 | "storage": 10 18 | } 19 | ], 20 | "factory": { 21 | "number_bolts": ["f",0], 22 | "active_machines": ["f",0], 23 | "max_active_machines": ["f",0], 24 | "current_demand": ["f",0], 25 | "function": ["global_control"] 26 | } 27 | } -------------------------------------------------------------------------------- /examples/example03/example03.py: -------------------------------------------------------------------------------- 1 | from prodsim import Environment 2 | 3 | # This code is used to plot the data 4 | # To run this code matplotlib, numpy and pandas must be installed 5 | 6 | # import matplotlib.pyplot as plt 7 | # import pandas as pd 8 | # import numpy as np 9 | # 10 | # def plot_demand(): 11 | # 12 | # def moving_average(x, w): 13 | # return np.convolve(x, np.ones(w), 'valid')/w 14 | # 15 | # data = pd.read_csv('./output/factory.csv') 16 | # data_without_outlier = data[(data['time'] >= 1440) & (data['current_demand'] <= 100)] 17 | # 18 | # fig, ax1 = plt.subplots() 19 | # color = 'tab:blue' 20 | # ax1.set_xlabel('Sim. time') 21 | # ax1.set_ylabel('Bolts in store', color=color) 22 | # ax1.plot(data[data['time'] >= 1440]['time'], data[data['time'] >= 1440]['number_bolts'], color=color) 23 | # ax1.tick_params(axis='y', labelcolor=color) 24 | # 25 | # ax2 = ax1.twinx() 26 | # color = 'tab:red' 27 | # ax2.set_ylabel('Demand', color=color) 28 | # ax2.plot(data_without_outlier['time'][:-19], 29 | # moving_average(data_without_outlier['current_demand'], 20), color=color) 30 | # ax2.tick_params(axis='y', labelcolor=color) 31 | # ax2.set_ylim([0, 50]) 32 | # 33 | # fig.tight_layout() 34 | # plt.savefig('./output/demand_bolts.png') 35 | 36 | if __name__ == '__main__': 37 | 38 | # Create simulation environment 39 | env = Environment() 40 | 41 | # Read in the process files 42 | env.read_files('./data/process.json', './data/function.py') 43 | 44 | # Inspect and visualize (optional) 45 | # env.inspect() 46 | # env.visualize() 47 | 48 | # Start the simulation 49 | env.simulate(sim_time=5760, progress_bar=True, track_components=['factory']) 50 | 51 | # Export the simulation data 52 | env.data_to_csv('./output/') 53 | 54 | # Plot 'surface' over simulation time (optional) 55 | # plot_demand() 56 | -------------------------------------------------------------------------------- /examples/example03/figures/bolt_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/examples/example03/figures/bolt_process.png -------------------------------------------------------------------------------- /examples/example03/output/demand_profil_pre_run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/examples/example03/output/demand_profil_pre_run.png -------------------------------------------------------------------------------- /examples/example04/data/function.py: -------------------------------------------------------------------------------- 1 | from random import normalvariate 2 | 3 | # ---- sources ------------------------ 4 | 5 | def source_1(env, factory): 6 | yield env.timeout(1) 7 | yield 1 8 | 9 | def source_2(env, factory): 10 | yield env.timeout(1) 11 | yield 2 12 | 13 | # ---- sinks --------------------------- 14 | 15 | # ---- process functions -------------- 16 | 17 | def assemble_figure(env, item, machine, factory): 18 | 19 | # Get the diameters of the assembled items 20 | d3_1 = item.upper_limb[0].arm.d3 21 | d3_2 = item.upper_limb[1].arm.d3 22 | d9_1 = item.leg[0].d9 23 | d9_2 = item.leg[1].d9 24 | d10 = item.head.d10 25 | 26 | def get_t(d1, d2): 27 | return (d2 - d1 - 2)**3 + 20 28 | 29 | # Calculate the tension 30 | item.t4 = get_t(item.body.d4, d3_1) 31 | item.t5 = get_t(item.body.d5, d9_1) 32 | item.t6 = get_t(item.body.d6, d9_2) 33 | item.t7 = get_t(item.body.d7, d3_2) 34 | item.t8 = get_t(item.body.d8, d10) 35 | 36 | # Block the machine for the assembly time 37 | yield env.timeout(1) 38 | 39 | def quality_check(env, item, machine, factory): 40 | 41 | # Limits for the tension 42 | t_min = 17.0 43 | t_max = 23.0 44 | 45 | def is_reject(t): 46 | if t <= t_min or t >= t_max: 47 | item.reject = True 48 | factory.rejected_id = item.item_id 49 | return True 50 | return False 51 | 52 | # Reject items and update profiling attributes 53 | if is_reject(item.t4): 54 | machine.r4 += 1 55 | if is_reject(item.t5): 56 | machine.r5 += 1 57 | if is_reject(item.t6): 58 | machine.r6 += 1 59 | if is_reject(item.t7): 60 | machine.r7 += 1 61 | if is_reject(item.t8): 62 | machine.r8 += 1 63 | if is_reject(item.upper_limb[0].t2): 64 | machine.r2_1 += 1 65 | if is_reject(item.upper_limb[1].t2): 66 | machine.r2_2 += 1 67 | 68 | # Block quality machine 69 | yield env.timeout(1) 70 | 71 | def molding(env, item, machine, factory): 72 | 73 | if machine.hole_diameter >= 40.6: 74 | machine.hole_diameter = 40 75 | 76 | item.d8 = normalvariate(machine.hole_diameter, 0.4) 77 | 78 | machine.hole_diameter += 0.0004 79 | 80 | yield env.timeout(1) 81 | 82 | def assemble_limb(env, item, machine, factory): 83 | 84 | d1 = item.hand.d1 85 | d2 = item.arm.d2 86 | 87 | item.t2 = (d1 - d2 - 2)**3 + 20 88 | 89 | yield env.timeout(1) 90 | 91 | # ---- global functions --------------- 92 | 93 | def global_update(env, factory): 94 | 95 | yield env.timeout(1) 96 | 97 | # ---- distributions ------------------ 98 | -------------------------------------------------------------------------------- /examples/example04/data/process.json: -------------------------------------------------------------------------------- 1 | { 2 | "order": [ 3 | { 4 | "name": "figure", 5 | "source": "source_1", 6 | "storage": 10, 7 | "station": ["assemble_figure","quality_check"], 8 | "function": ["assemble_figure","quality_check"], 9 | "demand": [[2,2,1,1],1], 10 | "component": [["leg","upper_limb","head","body"],[]], 11 | "t4": ["f",0], 12 | "t5": ["f",0], 13 | "t6": ["f",0], 14 | "t7": ["f",0], 15 | "t8": ["f",0] 16 | }, 17 | { 18 | "name": "head", 19 | "source": "source_1", 20 | "storage": 10, 21 | "d10": ["n",42,0.4] 22 | }, 23 | { 24 | "name": "leg", 25 | "source": "source_2", 26 | "storage": 10, 27 | "d9": ["n",42,0.4] 28 | }, 29 | { 30 | "name": "body", 31 | "source": "source_1", 32 | "storage": 10, 33 | "station": ["injection_molding"], 34 | "function": ["molding"], 35 | "d4": ["n",40,0.4], 36 | "d5": ["n",40,0.4], 37 | "d6": ["n",40,0.4], 38 | "d7": ["n",40,0.4], 39 | "d8": ["f",0] 40 | }, 41 | { 42 | "name": "upper_limb", 43 | "source": "source_2", 44 | "storage": 10, 45 | "station": ["assemble_limb"], 46 | "function": ["assemble_limb"], 47 | "demand": [[1,1]], 48 | "component": [["hand","arm"]], 49 | "t2": ["f",0] 50 | }, 51 | { 52 | "name": "arm", 53 | "source": "source_2", 54 | "storage": 10, 55 | "d2": ["n",40,0.4], 56 | "d3": ["n",42,0.4] 57 | }, 58 | { 59 | "name": "hand", 60 | "source": "source_2", 61 | "storage": 10, 62 | "d1": ["n",42,0.4] 63 | } 64 | ], 65 | "station": [ 66 | { 67 | "name": "assemble_limb", 68 | "storage": 1, 69 | "capacity": 2 70 | }, 71 | { 72 | "name": "assemble_figure", 73 | "storage": 10 74 | }, 75 | { 76 | "name": "quality_check", 77 | "measurement": true, 78 | "storage": 10, 79 | "r2_1": ["f",0], 80 | "r2_2": ["f",0], 81 | "r4": ["f",0], 82 | "r5": ["f",0], 83 | "r6": ["f",0], 84 | "r7": ["f",0], 85 | "r8": ["f",0] 86 | }, 87 | { 88 | "name": "injection_molding", 89 | "storage": 10, 90 | "hole_diameter": ["f", 40] 91 | } 92 | ], 93 | "factory": { 94 | "rejected_id": ["f", 0], 95 | "function": ["global_update"] 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /examples/example04/figures/figure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/examples/example04/figures/figure.png -------------------------------------------------------------------------------- /examples/example04/figures/figure_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/examples/example04/figures/figure_process.png -------------------------------------------------------------------------------- /examples/example04/figures/figure_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/examples/example04/figures/figure_tree.png -------------------------------------------------------------------------------- /examples/example04/output/rejected_profile_pre_run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/examples/example04/output/rejected_profile_pre_run.png -------------------------------------------------------------------------------- /examples/example_bulb/README.md: -------------------------------------------------------------------------------- 1 | # Example 01 2 | 3 | ## Table of Contents 4 | 5 | * [Purpose of this example](#purpose) 6 | * [The modeled process](#process) 7 | * [File structure](#file_structure) 8 | * [For trying out](#try_out) 9 | 10 | ## Purpose of this example 11 | 12 | This example contains the two input files of the assembly process of the light bulbs. The process functions are without 13 | content, and the attributes of the components serve only as an example. The purpose of this example is to provide the 14 | elementary structure of the production process of the light bulbs, so that for further studies only the desired process 15 | functions must be implemented. 16 | 17 | ## The modeled process 18 | 19 | The following two figures are taken from the bachelor thesis and serve as an aid regarding the attribute access 20 | structures when implementing the process functions. 21 | 22 | ![bulb_product_tree](./figures/bulb_tree.png "Bulb product tree") 23 | 24 | ![bulb_process_graph](./figures/bulb_process.png "Bulb process graph") 25 | 26 | ## File structure 27 | 28 | ``` 29 | . example_bulb 30 | |--__pycache__/ 31 | |--data/ 32 | | |--function.py 33 | | |--process.json 34 | |--figures/ 35 | | |--bulb_process.png 36 | | |--bulb_tree.png 37 | |--output/ 38 | |--example_bulb.py 39 | |--README.md 40 | ``` 41 | 42 | The folder ``example_bulb`` contains all files necessary for the execution of the simulation (these are in the provided 43 | version, apart from the process itself without concrete contents). The subfolder ``data`` contains the two input files. 44 | In the subfolder ``output`` the csv files are stored after the simulation. The script ``example_bulb.py`` is used to 45 | call the simulation. In addition, this script contains two functions that are used to transform the simulation data. 46 | 47 | ## For trying out 48 | 49 | As an example, the components of the light bulb were given some attributes so that some data can be tracked when running 50 | the simulation. After the simulation data has been saved in the corresponding csv files, the two methods ``merge()`` and 51 | ``get_rejected()`` can be called. These two functions were already introduced in the bachelor thesis. 52 | 53 | ``merge()`` combines the generated csv files according to the underlying assembly structure of the light bulbs. 54 | 55 | ``get_rejected()`` filters rejected and fully assembled inner_part components from the output files. Here the 56 | alternative approach from ``example04`` of the documentation is used. For this purpose, during the simulation at the 57 | station mounting, random inner_part components are declared as rejects (item.reject = True). 58 | 59 | Note: To execute these two methods, the library pandas must be installed. -------------------------------------------------------------------------------- /examples/example_bulb/data/bulb_function.py: -------------------------------------------------------------------------------- 1 | from random import random 2 | 3 | # ---- sources ------------------------ 4 | 5 | def source_1(env, factory): 6 | yield env.timeout(1) 7 | amount = 1 8 | if 480 <= env.now % 1440 <= 960: 9 | amount += int(normalvariate(3, 0.8)) 10 | yield amount 11 | 12 | 13 | def source_2(env, factory): 14 | yield env.timeout(1) 15 | yield 2 16 | 17 | # ---- sinks -------------------------- 18 | 19 | # ---- process functions -------------- 20 | 21 | from random import normalvariate 22 | def bridge_func(env, item, machine, factory): 23 | 24 | if item.attr_b_2: 25 | item.reject = True 26 | 27 | if machine.wear > 6.2: 28 | yield env.timeout(2) 29 | machine.wear = 0 30 | 31 | machine.wear += normalvariate(0.05,0.01) 32 | yield env.timeout(1) 33 | 34 | yield env.timeout(1) 35 | 36 | 37 | def mount_func(env, item, machine, factory): 38 | 39 | # To demonstrate how get_rejected works 40 | if random() < 0.01: 41 | item.reject = True 42 | 43 | yield env.timeout(1) 44 | 45 | 46 | def tubolate_func(env, item, machine, factory): 47 | yield env.timeout(1) 48 | 49 | 50 | def forming_func(env, item, machine, factory): 51 | yield env.timeout(1) 52 | 53 | 54 | def pump_pinch_func(env, item, machine, factory): 55 | yield env.timeout(1) 56 | 57 | 58 | def tt(env, item, machine, factory): 59 | yield env.timeout(1) 60 | 61 | 62 | def vc_1(env, item, machine, factory): 63 | yield env.timeout(1) 64 | 65 | 66 | def vc_2(env, item, machine, factory): 67 | yield env.timeout(1) 68 | 69 | 70 | def vc_3(env, item, machine, factory): 71 | yield env.timeout(1) 72 | 73 | 74 | def vc_4(env, item, machine, factory): 75 | yield env.timeout(1) 76 | 77 | 78 | def vc_5(env, item, machine, factory): 79 | yield env.timeout(1) 80 | 81 | # ---- global functions --------------- 82 | 83 | # ---- distributions ------------------ 84 | -------------------------------------------------------------------------------- /examples/example_bulb/figures/bulb_process.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/examples/example_bulb/figures/bulb_process.png -------------------------------------------------------------------------------- /examples/example_bulb/figures/bulb_tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/examples/example_bulb/figures/bulb_tree.png -------------------------------------------------------------------------------- /prodsim/__init__.py: -------------------------------------------------------------------------------- 1 | from prodsim.environment import Environment 2 | from prodsim.estimator import Estimator 3 | 4 | # create instances of Environment via prodsim.Environment() 5 | __all__ = [Environment, Estimator] 6 | -------------------------------------------------------------------------------- /prodsim/_estimate_process/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/prodsim/_estimate_process/__init__.py -------------------------------------------------------------------------------- /prodsim/_estimate_process/est_attribute.json: -------------------------------------------------------------------------------- 1 | { 2 | "order": [ 3 | { 4 | "name": "item1", 5 | "source": "source1" 6 | } 7 | ], 8 | "station": [ 9 | 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /prodsim/_estimate_process/est_attribute.py: -------------------------------------------------------------------------------- 1 | def source1(env, factory): 2 | yield env.timeout(1) 3 | yield 1 4 | -------------------------------------------------------------------------------- /prodsim/_estimate_process/est_function.json: -------------------------------------------------------------------------------- 1 | { 2 | "order": [ 3 | { 4 | "name": "item1", 5 | "source": "source1", 6 | "station": ["station1"], 7 | "function": ["function1"], 8 | "storage": 10 9 | } 10 | ], 11 | "station": [ 12 | ], 13 | "factory": { 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /prodsim/_estimate_process/est_function.py: -------------------------------------------------------------------------------- 1 | def source1(env, factory): 2 | yield env.timeout(1) 3 | yield 1 4 | 5 | 6 | def function1(env, item, machine, factory): 7 | yield env.timeout(1) 8 | 9 | -------------------------------------------------------------------------------- /prodsim/_estimate_process/est_station_1.json: -------------------------------------------------------------------------------- 1 | { 2 | "order": [ 3 | { 4 | "name": "item1", 5 | "source": "source1", 6 | "station": ["station1"], 7 | "function": ["function1"], 8 | "storage": 10 9 | } 10 | ], 11 | "station": [ 12 | { 13 | "name": "station1", 14 | "storage": 10 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /prodsim/_estimate_process/est_station_1.py: -------------------------------------------------------------------------------- 1 | def source1(env, factory): 2 | yield env.timeout(1) 3 | yield 1 4 | 5 | 6 | def function1(env, item, machine, factory): 7 | yield env.timeout(1) 8 | -------------------------------------------------------------------------------- /prodsim/_estimate_process/est_station_2.json: -------------------------------------------------------------------------------- 1 | { 2 | "order": [ 3 | { 4 | "name": "item1", 5 | "source": "source1", 6 | "station": ["station1","station2"], 7 | "function": ["function1","function2"], 8 | "storage": 10 9 | } 10 | ], 11 | "station": [ 12 | { 13 | "name": "station1", 14 | "storage": 10 15 | }, 16 | { 17 | "name": "station2", 18 | "storage": 10 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /prodsim/_estimate_process/est_station_2.py: -------------------------------------------------------------------------------- 1 | def source1(env, factory): 2 | yield env.timeout(1) 3 | yield 1 4 | 5 | 6 | def function1(env, item, machine, factory): 7 | yield env.timeout(1) 8 | 9 | 10 | def function2(env, item, machine, factory): 11 | yield env.timeout(1) 12 | -------------------------------------------------------------------------------- /prodsim/_temp_data/__init__.py: -------------------------------------------------------------------------------- 1 | # just for distribution purposes 2 | -------------------------------------------------------------------------------- /prodsim/app/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/prodsim/app/__init__.py -------------------------------------------------------------------------------- /prodsim/app/assets/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/prodsim/app/assets/__init__.py -------------------------------------------------------------------------------- /prodsim/app/assets/dash.css: -------------------------------------------------------------------------------- 1 | .Select-menu-outer { 2 | display : block !important; 3 | } 4 | 5 | body { 6 | background-color: whitesmoke; 7 | } 8 | -------------------------------------------------------------------------------- /prodsim/app/callbacks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/prodsim/app/callbacks/__init__.py -------------------------------------------------------------------------------- /prodsim/app/callbacks/define_process/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/prodsim/app/callbacks/define_process/__init__.py -------------------------------------------------------------------------------- /prodsim/app/callbacks/visualize_process/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/prodsim/app/callbacks/visualize_process/__init__.py -------------------------------------------------------------------------------- /prodsim/app/layout/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/prodsim/app/layout/__init__.py -------------------------------------------------------------------------------- /prodsim/app/layout/define_process/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/prodsim/app/layout/define_process/__init__.py -------------------------------------------------------------------------------- /prodsim/app/layout/visualize_process/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FuchsTom/ProdSim/1cd868de7f8f31139487eb3da4bd23800abac0e4/prodsim/app/layout/visualize_process/__init__.py -------------------------------------------------------------------------------- /prodsim/app/layout/visualize_process/graph.py: -------------------------------------------------------------------------------- 1 | """ Contains the layout elements for displaying the graph of the app visualize 2 | 3 | """ 4 | 5 | # Searchable TOC of layout elements 6 | # 7 | # H1_Headline #0001 8 | # Cyt_Graph #0002 9 | # Div_graph #0003 10 | 11 | import dash_cytoscape as cyto 12 | from dash import html 13 | 14 | # H1_Headline #0001 15 | headline = html.H1( 16 | 'ProdSim Visualizer', 17 | style={ 18 | 'textAlgin': 'center', 19 | 'margin-left': '1vw' 20 | } 21 | ) 22 | 23 | # Cyt_Graph #0002 24 | graph = cyto.Cytoscape( 25 | id='cytoscape', 26 | elements=[], 27 | stylesheet=[ 28 | # Group selectors 29 | {'selector': 'node', 'style': {'content': 'data(label)'}}, 30 | {'selector': 'edge', 'style': {'curve-style': 'bezier'}}, 31 | # Class selectors 32 | {'selector': '.red', 'style': {'background-color': 'red', 'line-color': 'red', 33 | 'target-arrow-color': 'red'}}, 34 | {'selector': '.black', 'style': {'background-color': 'black', 'line-color': 'black', 35 | 'target-arrow-color': 'black'}}, 36 | {'selector': '.triangle', 'style': {'shape': 'triangle'}}, 37 | {'selector': '.arrow', 'style': {'target-arrow-shape': 'triangle'}}, 38 | {'selector': '.dashed', 'style': {'line-style': 'dashed'}} 39 | ], 40 | layout={ 41 | 'name': 'breadthfirst', 42 | 'roots': [] 43 | }, 44 | style={ 45 | 'height': '80vh', 46 | 'width': '55vw', 47 | 'border': 'black solid' 48 | } 49 | ) 50 | 51 | # Div_graph #0003 52 | div_graph = html.Div( 53 | children=[ 54 | graph 55 | ], 56 | style={ 57 | 'display': 'inline-block', 58 | 'vertical-align': 'top', 59 | 'margin-right': '2vw', 60 | 'margin-left': '1vw' 61 | } 62 | ) 63 | -------------------------------------------------------------------------------- /prodsim/app/layout/visualize_process/table.py: -------------------------------------------------------------------------------- 1 | """ Contains the layout elements for displaying the table of the app visualize 2 | 3 | """ 4 | 5 | # Searchable TOC of layout elements 6 | # 7 | # Lbl_order #0001 8 | # Dwn_dropdown #0002 9 | # Lbl_order_data #0003 10 | # Tbl_item #0004 11 | # Lbl_station #0005 12 | # Tbl_station #0006 13 | # Div_table #0007 14 | 15 | 16 | from dash import html, dcc, dash_table 17 | 18 | # Lbl_order #0001 19 | lbl_order = html.Label( 20 | 'Order:', 21 | style={ 22 | 'font-size': '20px' 23 | } 24 | ) 25 | 26 | # Dwn_dropdown #0002 27 | dwn_dropdown = dcc.Dropdown( 28 | id='item_dropdown', 29 | options=[], 30 | value=-1, 31 | style={ 32 | 'width': '38vw', 33 | 'margin-bottom': '1vw', 34 | 'margin-top': '0.4vw', 35 | 'border-color': 'black' 36 | }, 37 | placeholder="Select an item" 38 | ) 39 | 40 | # Lbl_order_data #0003 41 | lbl_order_data = html.Label( 42 | 'Order Data:', 43 | style={'font-size': '20px'} 44 | ) 45 | 46 | # Tbl_item #0004 47 | tbl_item = dash_table.DataTable( 48 | id='item_table', 49 | columns=[ 50 | {'name': 'properties', 'id': 'attribute'}, 51 | {'name': 'value', 'id': 'value'} 52 | ], 53 | style_table={ 54 | 'width': '38vw', 55 | 'overflowX': 'auto', 56 | 'margin-top': '0.4vw', 57 | 'margin-bottom': '1vw' 58 | }, 59 | style_cell_conditional=[ 60 | {'if': {'column_id': 'attribute'}, 61 | 'minWidth': '100px', 'width': '100px'} 62 | ], 63 | style_cell={ 64 | 'textAlign': 'left', 65 | 'whitespace': 'normal', 66 | 'height': 'auto', 67 | 'border': '1px solid black' 68 | }, 69 | style_header={ 70 | 'fontWeight': 'bold', 71 | 'backgroundColor': 'rgb(230, 230, 230)' 72 | } 73 | ) 74 | 75 | # Lbl_station #0005 76 | lbl_station = html.Label( 77 | 'Station Data:', 78 | style={ 79 | 'font-size': '20px' 80 | } 81 | ) 82 | 83 | # Tbl_station #0006 84 | tbl_station = dash_table.DataTable( 85 | id='station_table', 86 | columns=[ 87 | {'name': 'properties', 'id': 'properties'}, 88 | {'name': 'value', 'id': 'value'} 89 | ], 90 | style_cell_conditional=[ 91 | {'if': {'column_id': 'properties'}, 92 | 'minWidth': '100px', 'width': '100px'} 93 | ], 94 | style_cell={ 95 | 'textAlign': 'left', 96 | 'whitespace': 'normal', 97 | 'height': 'auto', 98 | 'border': '1px solid black' 99 | }, 100 | style_header={ 101 | 'fontWeight': 'bold', 102 | 'backgroundColor': 'rgb(230, 230, 230)' 103 | }, 104 | fixed_columns={'headers': True, 'data': 1}, 105 | style_table={ 106 | 'width': '38vw', 107 | 'minWidth': '38vw', 108 | 'maxWidth': '38vw', 109 | 'overflowX': 'auto', 110 | 'margin-bottom': '2vw', 111 | 'margin-top': '0.4vw' 112 | }, 113 | ) 114 | 115 | # Div_table #0007 116 | div_table = html.Div( 117 | children=[ 118 | lbl_order, 119 | dwn_dropdown, 120 | lbl_order_data, 121 | tbl_item, 122 | lbl_station, 123 | tbl_station 124 | ], 125 | style={ 126 | 'display': 'inline-block', 127 | 'vertical-align': 'top', 128 | 'margin-right': '1vw' 129 | } 130 | ) 131 | -------------------------------------------------------------------------------- /prodsim/exception.py: -------------------------------------------------------------------------------- 1 | """Bundles all exceptions and warnings used in the package prodsim""" 2 | 3 | class InvalidValue(Exception): 4 | """ Raises when a value is not within the permissible range """ 5 | pass 6 | 7 | class InvalidType(Exception): 8 | """ Raises when a value has the wrong type """ 9 | pass 10 | 11 | class MissingParameter(Exception): 12 | """ Raised when a required parameter is missing """ 13 | pass 14 | 15 | class MissingAttribute(Exception): 16 | """ Raises when a not defined attribute is used """ 17 | pass 18 | 19 | class NotSupportedParameter(Exception): 20 | """ Raised when a not defined parameter is passed """ 21 | pass 22 | 23 | class FileNotFound(Exception): 24 | """ Raised when a file couldn't be found """ 25 | pass 26 | 27 | class InvalidFormat(Exception): 28 | """ Raises when a parameter has the wrong format """ 29 | 30 | class UndefinedFunction(Exception): 31 | """ Raises when a function isn't defined """ 32 | pass 33 | 34 | class UndefinedObject(Exception): 35 | """ Raises if an referenced object is not defined """ 36 | pass 37 | 38 | class InvalidFunction(Exception): 39 | """ Raises when a function is not valid """ 40 | pass 41 | 42 | class InvalidYield(Exception): 43 | """ Raises when a generator function doesn't yield the correct types """ 44 | 45 | class InvalidSignature(Exception): 46 | """ Raises when a signature """ 47 | 48 | class ToManyArguments(Exception): 49 | """ Raises, when to many arguments are passed """ 50 | pass 51 | 52 | class MissingData(Exception): 53 | """ Raises, when required data is missing """ 54 | pass 55 | 56 | class BlockedIdentifier(Exception): 57 | """ Raises, when an identifier is already blocked """ 58 | pass 59 | 60 | class InfiniteLoop(Exception): 61 | """ Raises, when a function contains an infinite loop """ 62 | 63 | class BadType(Warning): 64 | """ when a parameter has a bad type """ 65 | pass 66 | 67 | class BadSignature(Warning): 68 | """ when a argument has not the expected name """ 69 | pass 70 | 71 | class BadYield(Warning): 72 | """ when a yield is possible but can lead to problems """ 73 | pass 74 | 75 | class NotDefined(Warning): 76 | """ when a non pre defined identifier is used """ 77 | pass 78 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | simpy>=4.0.1 2 | dash>=2.0.0 3 | dash-cytoscape>=0.3.0 4 | dash-bootstrap-components>=1.0.2 5 | numpy>=1.21.5 6 | h5py>=3.6.0 7 | dill>=0.3.4 8 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup, find_packages 2 | 3 | setup( 4 | name='ProdSim', 5 | version='0.1.0', 6 | description='ProdSim is a process-based discrete event simulation for production environments based on the ' 7 | 'framework SimPy, for the generation of high resolution synthetic manufacturing data', 8 | long_description=open('README.md').read(), 9 | author='Tom Fuchs', 10 | author_email='tom.fuchs@rwth-aachen.de', 11 | install_requires=[ 12 | 'simpy>=4.0.1', 13 | 'dash>=2.0.0', 14 | 'dash-cytoscape>=0.3.0', 15 | 'dash-bootstrap-components>=1.0.2', 16 | 'numpy>=1.21.5', 17 | 'h5py>=3.6.0', 18 | 'dill>=0.3.4' 19 | ], 20 | classifiers=[ 21 | "Programming Language :: Python :: 3.8", 22 | "Programming Language :: Python :: 3.9", 23 | "License :: OSI Approved :: MIT License", 24 | "Operating System :: MacOS :: MacOS", 25 | "Operating System :: Microsoft :: Windows :: Windows 10" 26 | ], 27 | packages=find_packages("."), 28 | package_dir={"": "."}, 29 | package_data={"": ["*.json"]}, 30 | python_requires=">=3.8", 31 | license='MIT License', 32 | platforms=['MacOS', 'Windows 10'] 33 | ) 34 | --------------------------------------------------------------------------------