Overview
About
Flexible Modelling Paradigm
Powerful Simulation Techniques
Efficient Analysis Process
Getting Started
Set up python environment
Install fmdtools
Dependencies
Explore Tutorials and Resources
Contributions
Contributors
Citing this repository
License/Notices
Disclaimers
Development Guide
Why fmdtools?
Introductory Tutorial
Intro to resilience modeling, simulation, and visualization in Python with fmdtools.
Author: Daniel Hulse
Version: 2.0-rc-3
Overview
Prerequisites
Motivation: Modeling System Resilience
Why is Resilience Important?
Enabling proactive design process
Why fmdtools? Possible Competitors:
Why fmdtools? Pros:
Why
not
fmdtools? Cons:
What is fmdtools? A Python package for
design
,
simulation
, and
analysis
of resilience.
What is fmdtools? Repo Structure
Activity: Download and Install fmdtools
Analysis Workflow/Structure
Defining a Model
Defining a Model
Function Code Template
Model Code Template
Demo Model Activity: examples/pump/ex_pump.py
More Resources for Model Definition
Notebook Activity:
Simulation Concepts: Static/Undirected Propagation
Simulation Concepts: Propagation over Time
Simulation Concepts: Types of Simulations
Simulation Concepts: Sampling Approaches
Simulation Concepts: Things to Consider
Activity: Simulate the Model
Analysis Modules
Analysis Activity
Conclusions/Summary
Further Reading/Links
Glossary
Model Development Best Practices
Pay attention to and document the fmdtools version
Plan your model to avoid technical debt
Don’t copy, inherit and functionalize
Document your code, sometimes
before
your write it
Don’t get ahead of yourself–try to get a running simulation first
Preserve your prototype setup by formalizing it as a test
Edit your code
Structuring a model
Use model constructs to simplify your code
Style advice
See also
How to Contribute
Repo Structure
Remote Structure
Development Process
Release Checklist
Upload to PyPI
Roles
Documentation
Style/Formatting
Testing
Examples
Pump
Pump Model
Models
Scripts and tests:
Notebooks
References
Multirotor
Drone Model
Models
Scripts and tests:
Notebooks
References
Tank
Tank Model
Models
Scripts and tests:
Notebooks
References
EPS
EPS Model
Models
Scripts and tests:
Notebooks
References
Action Sequence Graph
ASG Model
Models
Scripts and tests:
Notebooks
Rover
Rover Model
Models
Scripts and tests:
Notebooks
References
Multiflow Demo
MultiFlow Demo Model
Models
Scripts and tests:
Notebooks
References
Taxiway
Taxiway Model
Models
Scripts and tests:
Notebooks
References
Module Reference
fmdtools.define
fmdtools.define.architecture
fmdtools.define.architecture.base
fmdtools.define.architecture.action
fmdtools.define.architecture.component
fmdtools.define.architecture.function
fmdtools.define.architecture.geom
fmdtools.define.block
fmdtools.define.block.base
fmdtools.define.block.action
fmdtools.define.block.component
fmdtools.define.block.function
fmdtools.define.container
fmdtools.define.container.base
fmdtools.define.container.mode
fmdtools.define.container.state
fmdtools.define.container.parameter
fmdtools.define.container.rand
fmdtools.define.container.time
fmdtools.define.flow
fmdtools.define.flow.base
fmdtools.define.flow.multiflow
fmdtools.define.flow.commsflow
fmdtools.define.object
fmdtools.define.object.base
fmdtools.define.object.timer
fmdtools.define.object.geom
fmdtools.define.object.coords
fmdtools.define.base
fmdtools.define.environment
fmdtools.sim
fmdtools.sim.propagate
fmdtools.sim.scenario
fmdtools.sim.sample
fmdtools.sim.search
fmdtools.analyze
fmdtools.analyze.common
fmdtools.analyze.result
fmdtools.analyze.history
fmdtools.analyze.graph
fmdtools.analyze.tabulate
fmdtools.analyze.phases
Contributors
Internal Contributors
External Contributors
Alumni and Interns
fmdtools at OSU
fmdtools
Search
Please activate JavaScript to enable the search functionality.