Computer Simulation

R.P. Churchill

Lean Six Sigma Black Belt
Wilder-Boyle Scale
30 Years of Simulation


  • Paper (Chemical/Process)
  • Nuclear (Power Generation)
  • Metals (Steel, Non-Ferrous)
  • HVAC (Building Control)
  • Insurance, Banking, Legal
  • Security, Inspections
  • Passenger Processing
  • Medical Facilities
  • Evacuations
  • Area Control
  • Threat Response
  • Logistics, Supply
  • Maintenance and Reliability
  • Staff Level Determination
  • Fleet Management


What examples of simulations can you think of?

3 Major Classes of Simulation
  • Analog: Executed without digital computers
    • Mechanical: employs mechanical linkages and calculations
    • Electrical: instantiated in electrical circuits
    • Hybrid: combination of the above
  • Continuous: Based on differential equations
  • Discrete-Event: Processes events at arbitrary intervals in time order
  • Hybrid: Combinations of the above
Analog Simulation: Mechanical

Link Pilot Training Simulator
Analog Simulation: Electrical
System Type Through Variable Across Variable Energy Storage 1 Energy Storage 2 Energy Dissipation
Electrical Current (I) Voltage (V) Capacitor (C) Inductor (L) Resistor (R)
Mechanical (Linear) Force (F) Velocity (u) Spring (K) Mass (M) Damper (B)
Mechanical (Rotational) Torque (T) Angular Velocity (w) Torsion Spring (K) Moment of Inertia (I) Rotary Damper
Hydraulic Volume Flow Pressure (P) Tank Mass Valve
Analog Simulation: Electrical (continued)

Analog Simulation: Hybrid
30 Years of Simulation


  • Design and Sizing
  • Security, Event Planning
  • Operations Research
  • Real-Time Control
  • Operator Training
  • Risk Analysis
  • Economic Analysis
  • Impact Analysis
  • Process Improvement (BPR)

Architectural Considerations

  • Continuous vs. Discrete-Event
  • Interactive vs. Fire-and-Forget
  • Real-Time vs. Non-Real-Time
  • Single-Platform vs. Distributed
  • Deterministic vs. Stochastic
Architecture: Continuous vs. Discrete-Event

Continuous simulation of the heating of a square billet and Discrete-Event simulation of a multi-phase process.
Continuous Simulation

Continuous Simulation (continued)
Blog Post Series (read bottom to top)
Series First Post
Discrete-Event Simulation
Blog Post
Discrete-Event Simulation (continued)

Simple pass-through simulation using basic component types.

Independent link

Project link

Architecture: Interactive vs. Fire-and-Forget
Architecture: Interactive vs. Fire-and-Forget

Architecture: Real-time vs. Non-Real-Time
Architecture: Single-Platform vs. Distributed
Architecture: Deterministic vs. Stochastic

Monte Carlo Analysis   "It was smooth sailing!" vs. "I hit every stinkin' red light today!"

Involves running multiple trials of complex models including combinations of numerous randomly generated outcomes that yield a range of complex results.

Models may incorporate scheduled and unscheduled elements.

  • Randomly generated outcomes may include:
    • event durations
    • process outcomes
    • routing choice
    • event occurrence (e.g., failure, arrival; Poisson function)
    • arrival characteristic (anything that affects outcomes)
    • resource availability
    • environmental conditions
  • Random values may be obtained by applying methods singly and in combination, which can result in symmetrical or asymmetrical results:
    • single- and multi-dice combinations
    • range-defined buckets
    • piecewise linear curve fits
    • statistical and empirical functions
    • rule-based conditioning of results
Examples of Data Driving Random Outcomes

Source Spreadsheet

Model-Predictive Control
Model-Predictive Control (continued)
Other Contexts for Simulation

Process Automation is an example of simulating activities that used to be done by humans.

Resources Required for Simulation
  • Computing power
  • Memory (dynamic and static)
  • Obtainable input data
  • Valid behavioral data
  • Choosing the right level of granularity
  • Outputs in actionable form
The Limits of Simulation

If you were going to simulate an atom, what would you have to include?

What would it take to do it?

The Limits of Simulation (continued)

What if you tried to simulate the entire Universe?

The Limits of Simulation (continued)

Planck Length - Accelerando

The Universe can only be an analog simulation of itself -- from our point of view. (Other people may know better, but that's my take on it!)

Building Simulations
Discovery, Data Collection, and Domain Knowledge

Discovery is a qualitative process. It identifies nouns (things) and verbs (actions, transformations, decisions, calculations).

Data Collection is a quantitative process. It identifies adjectives (colors, dimensions, rates, times, volumes, capacities, materials, properties).

Discovery comes first, so you know what data you need to collect.

Imagine you're going to simulate or automate the process. What values do you need? This is the information the implementation teams will need.

Domain Knowledge Acquisition is learning about the subject you're simulating, typically from SMEs.

Process Mapping
  • Describes what comes in, where it goes, how it's transformed, and what comes out.
  • Describes the movement and storage of information, material, people, and other entities.
  • Maps define the scope of a process. Links to connected processes or "everything else" are called interfaces.
  • Are presented at the level of detail that makes sense.
  • Process elements within maps can themselves be processes with their own maps.
  • State, timing, and other data can be included.
  • Entities in a process can be split and combined.
  • Processes and entities may be continuous or discrete.
Process Mapping (continued)

Processes may be mapped differently based on needs, industry standards, and the information to be represented.

Mechanical Pulping Mill, Quebec City, QC
Offgas System in BWR Nuclear Power Plant, Richland, WA
Land Border Port of Entry, Columbus, NM
Architecture Study: General Purpose Discrete-Event Simulation
Process Mapping (continued)
  • S-I-P-O-C vs. C-O-P-I-S
  • Any number of inputs and outputs are possible.
Process Mapping (continued)

I give specific names to modular components.

Building A Simulation (continued)

Now that you've determined what you're going to simulate, how do you finish the job?

  • Design
  • Implementation
  • Testing (Verification and Validation)
  • Acceptance

This presentation and other information can be found at my website: