├── .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 | 
17 |
18 | 
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 | 
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 | 
23 |
24 | 
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 |
--------------------------------------------------------------------------------