Kossik, Rick, "Getting Started with GoldSim Software", 2007 July 29-2007 August 2

Online content

Fullscreen
SIMULATION forthe REAL WORLD,

Rick Kossik
GoldSim Technology Group
Issaquah, Washington

Slide 1

TECHNOLOGY GROUP
Outline

@ What is GoldSim and where did it come from?

@ Asummary of the major differences between
GoldSim and traditional SD codes

Basic GoldSim Features

Overview of Advanced GoldSim Features
Overview of GoldSim Extension Modules

Can GoldSim complement traditional SD codes?
Questions and Discussion

Introduction to GoldSim @

Slide 2

TECHNOLOGY GROUP
Outline

@ What is GoldSim and where did it come from?

Introduction to GoldSim @

Slide 3

TECHNOLOGY GROUP
GoldSim Technology Group

@ Originally a division of Golder Associates
— International civil and environmental engineering firm

@ Began developing GoldSim in 1990

— First customers were US Department of Energy and
analogous government organizations in Europe and Asia

— Focused on risk analysis for complex engineered
systems associated with waste management

@ Started marketing software in 2002

— Rapidly expanded into other related engineering arenas
(mining, water resources, failure analysis, long-term
strategic planning)

® Beckie independent company in February

— GoldSim represents over 50 man-years of development
— Over 1,000,000 lines of code (C++) @

Slide 4 Gold$im

TECHNOLOGY GROUP

What were the main drivers behind the
development of GoldSim?

@ Systems being evaluated had lots of uncertainty
and involved stochastic processes

@ Clients required predictions of future
performance in order to optimize system design
and meet regulatory requirements

@ Evaluations needed to be transparent and easy
to explain to multiple audiences.

Goal was to create a probabilistic simulation
framework that could be applied to complex and
diverse engineering and scientific problems

Introduction to GoldSim @
Slide 5 GoldSim

TECHNOLOGY GROUP

Outline

@ Asummary of the major differences between
GoldSim and traditional SD codes

Introduction to GoldSim @

Slide 6

TECHNOLOGY GROUP
What are the key differences between
GoldSim and traditional SD tools?

@ GoldSim puts much greater emphasis on
probabilistic simulation and producing
probabilistic predictions of performance

Introduction to GoldSim
Slide 7

TECHNOLOGY GROUP
Define uncertain variables

& @Alaleb
| Beta Distibution »|
Parameters we
Mean: o4
2
Standard Deviation: 02:
1
= oo
= 02 4 6 8 0 12
re
— UFilAres Show Marker
15
Calculator
Cum. Probably, Value:
°
a a: Lo
Meat 2 Probability Density: 0.397517
Std. Deviation: 1 Cond. Tail Expectation: 2.77769
Skewness: 1.358
%, Kutoss: ——_Notavelable Asp

Specify statistical-defined events

Timed Event Properties : Accident {&)

Definition,

Element ID: | Accident

| (Appearance...

Description: | Haul truck turns over |

Event Definition
Occurrence Type: | Random time intervals (Poisson) v
Rate: fis 35 day

Maximum Number of Events: |1e9

Save Results
M Final values MA Time Histories

Cx Cee] Ce)

Define stochastic time series

History Generator Properties : HistGenerator
Definition

Element ID; | Stock Portfolio. le Appearanc

Description: | Generates stock price data,

Display Units: |$

History Definition

Vector[Stocks]

History Type: [Geometric Growth |

Mean Annual Growth Rate: Annual Yolatility:
[erowth Rate [retatity

‘Annual Reversion Rate: Initial Value:
Reversion [nitia_Price
Initial Value of Median: ‘Alo nega

dian_Price

Do not lag Tar

(Wllse coreeten nee

‘Save Results
Mizinal vaives Time Histories

Ca) Cewe] J

Define Monte Carlo simulation options

Simulation Settin;

[Time | Monte Carlo | Globals | Information |

| g@_. Define Monte Carlo options to carry out a probabilistic simulation,
and specify the sampling method for Stochastic variables,

© Probabilistic Simulation

#Realizations: | 1000 2 # Histories to save: | 1000 =

(Run the Following Realization only: F

Ise Latin Hypercube Sampling

M)Repeat Sampling Sequences Random Seed: [1

Mil Time History

Qs MB SLA & Ot he

Portfolio Value ($)

Time (yr)

Introduction to GoldSim
Slide 9

Probability Density

4.0e-06

Ml Distribution - Portfo lio_Value

eRe SALDL A ae

1.0e06 1.2e06 14e06 1.6e06
Portfolio Value at 10 years ($)

TECHNOLOGY GROUP

What are the key differences between
GoldSim and traditional SD tools?

@ GoldSim provides a much broader range
of model objects

— Makes the model logic and structure less
abstract and more transparent

— Includes objects to superimpose discrete
dynamics on a continuous system

Introduction to GoldSim @

Slide 10

TECHNOLOGY GROUP
GoldSim provides over 40 element types...

Container »
Inputs 4
’ Stocks »
Baste a fe Expression
Events » ea Previous Yalue
Zoom r Delays > 95 Extrema
View >) Results > BRE Selector
Properties... Reliability y| ae
ccc | -& allocator
Financial + > sum
| iH Lookup Table
he Convolution
~~ History Generator
& And
I] or
{ Not
Ay External
[9] File
%.) Spreadsheet
preguction to kell : ©

Slide 11 Gold$im

TECHNOLOGY GROUP
Orbital Insertion Submodel

> ee  —>

Pyro_CPS Propellant Chemical_Propulsion System  !on_Engine_Required

!

-@-
ee. aaa

Momenturm_Change

Mass_CPS — J EE
Mass_Orbiter_Lander
TAG >> ee : =
/ \ dt

Orbiter_Approach_Speed Velocity_Change_Required

Introduction to GoldSim @
Slide 12 GoldSim

TECHNOLOGY GROUP

What are the key differences between
GoldSim and traditional SD tools?

@ GoldSim provides a much broader range
of model objects (elements)

— Makes the model logic and structure less
abstract and more transparent

— Includes objects to superimpose discrete
dynamics on a continuous system

— An important implication is that GoldSim does
not use the “stock and flow” paradigm

Introduction to GoldSim @

Slide 13

TECHNOLOGY GROUP
Example: Simple Inventory Model
CR

Production Shipments
L, _Inventory

Desired Inventor. C) Order Rate
Inventory Coverage Expected Demand -_
Change in Expected
Demand

Time to Change
Expectations

Introduction to Gowoun @
Slide 14 GoldSim

TECHNOLOGY GROUP

Example: Simple Inventory Model

ae Ss > Arrows all
Production_Rate represent

“influences”

» te >
Desired_Inventory >
\ mm

>ij>

Expected_Dermand

Slide 15 , GoldSim

TECHNOLOGY GROUP

What are the key differences between
GoldSim and traditional SD tools?

@ GoldSim was designed to accommodate
the addition of specialized extension
modules

— Modules either address processes that can’t be
adequately represented using simpler
constructs, or add to model transparency

Financial Module

3.14
16

Discount_Rate

a !
3.14 » »
Pie e

Inflation_Rate Initial_Capital_Cost

for >

Development_Costs

ss
mf

Operating_Costs

> Yap ——>> t »

Revenue_Generation Revenues

Introduction to GoldSim

Slide 17

by CashFlow_and_NPV

Golds®,

TECHNOLOGY GROUP
Financial Module

A:
Claim_Size
| Deductible
e
Claim

314 and cap are
alts —_>r »
»

reset every
Claim_Rate Sine Oe
»

two years.
= Ps
: a fa
|

Cap Insurance_Policy Cap_and_Deductible_Balance
Pa

3.14
& 16
Deductible
> Yor
Reset

Introduction to GoldSim ©
Slide 18

Gold$im

TECHNOLOGY GROUP
Reliability Module

Risk Analysis for Planetary Orbiter

lem Pap a

Launch Cruise Xenon_Reserves Attitude_Thruster_Reserves
Solar_Storm
Z WA
f.

>

SS 6)
Command_Control Attitude_and_Orbit_Control lon_Propulsion
| | f zo
> a So)
S Re
‘O) & > a > Attitude_Thrusters
Thermal_Control Power

Orbital_Insertion —_ 7
Ge  \|

Science_Instrumentation Orbit_Achieved Communication

Orbit_Phase_Started a <a

Introduction to GoldSim @
Slide 19 Gold$im

TECHNOLOGY GROUP

Contaminant Transport Module

Atmosphere

Capt

Cap2

+++ _ <4

maximum biotic
intrusion depth

!

!
ee

!

!

!

CC CEECE

v Cap4

y Wastel

y Waste2

Vv > =p
UnsatSoil

UnsatRock

water table
<S

Introduction 1 suis

Slide 20

waterborne transport (advection)
airbome transport (diffusion)
plantinduced transport
animal-induced transport

WasteLayers

Animals SiteGeometry

Wastes are apportioned between the two waste
layer cells, the upper one potentially accessible
to biota and the lower one inaccessible. These
cells exist in the WasteLayers Source Container.

Sinks accept contaminants leaving the
important parts of the model.

SinkAtm
SinkGw

ce

The plume function is defined in
WaterTransport

GoldSi7

TECHNOLOGY GROUP
GoldSim models are typically deeply
hierarchical

@ Due to the nature of our original user base,
GoldSim was designed to support very large
models

— Largest model to date has 35,000 elements

@ To support this, GoldSim provides:

— Unlimited nesting of hierarchical models

— Local variables

Introduction to GoldSim

Slide 21

TECHNOLOGY GROUP
4 GoldSim Pro - Auto_Supply_Chain.gsm
Edit View Graphics Model Run Help

SH. °@8 RS EOVB AY BX sm ec)

4 ae.
Supply Chain Model - OEM N
Delivery El
Rate from %
Power Train ea
o
A
‘al
e
{\ Manufacturing —
Go to Power Train a Delivery Management
> ep
—
Information_Delay
Order Rate to ie) -
Power Train I
| Material_Management Order_Scheduling
<—______—-—-#
Dealer_Orders
(External to model)
¥
‘ Ps

Edit Mode: Press F5 to run model, Scale: 100% Filter ON Edit Mode

4 Gold
File Edit Yiew Graphics Model Run Help

Pro - Auto_Supply_Chai

“gsm

OSH {BARS le

@28 AY Bs 2

GO @ > Container Path: /\OEM

a)
Search Option:

© Sy Model
i OEM
8 Dealer_Orders

Mil

-@® Delivery_Management
GP Information_Delay
sm Le Manuf.

@ Material_Management
(1G Order_Scheduling
G8 Product_in_Transit
G- Production_Scheduling
(#-® Work_in_Process

§ Finished_Product

Parts_Inventory

@ Other_Results
@® Powertrain_Division
2 Summary_of_Model_Inputs
£3] Control_Panel
[& Inventories
[E& Production_Rates

o-b-

"Beaten, ST

Supply Chain Model - OEM ;

Delivery
Rate from
Power Train

a
a
Go to Power Train
—
> ep
—
Information_Delay \
Order Rate to
Power Train
| Material_Management Order_Scheduling
v

>

Edit Mode: Press F5 to run model,

Filter ON Edit Mode

¥]

Sy Model
a OEM
GP Dealer_Orders
&-@® Delivery_Management
HGP Information_Delay
= @® Manufacturing
®-@® strike
Jée Manufacturing_Delay
Bh Manufacturing_Time
Workday
@ Material_Management
@_ Order_Scheduling
@ Product_in_Transit
@ Production_Scheduling
fork_in_Process
inished_Product
Parts_Inventory
@® Other_Results
GP Powertrain_Division
[B-@% Summary_of_Model_Inputs
Control_Panel
[&< Inventories
[EX Production_Rates

6-8

&

#

Containment

|i oe) a] Dee

©) @ ¢ © Container Path: |\OEM\Manufacturing y| a“
=f tb
F KK
Manufacturing oO
%
Oe
ie)
g A
— > ‘a
» ee @
™s
Workday
»
Strike ERR
us z e
Manufacturing_Time
In this simple model for manufacturing, itis assurned that the
workday (and hence the Manufacturing Delay) is fixed. In a more
realistic model, for example, the workday could potentially ramp up
and down in response to demand (the Desired Production Start
Rate). This in turn would impact the Manufacturing Delay. a

< >

Edit Mode: Press FS to run model,

Scale: 100% Filter ON Edit Mode

4 GoldSim Pro - Auto_Supply_Chain.gsm

File Edit Yiew Graphics Model Run Help

SO RS le

®VE ay) ax sv?

GQ © > Container Path: | \GEM\Manufacturing\Strike »| eo

oh y)

Search Options... 2 5 ‘ &
—$— Logic for Shutting Down and Starting Up the Assembly Line in .
8 4g lel &

© OEM Response to a Strike oO
-§R Dealer_Orders
-@® Delivery_Management Ni
GP Information_Delay Oo
-® Manufacturing repr re ! ‘ ‘és ! gi
, bd Strike_Durati ¥ ° ° 2
By Mean_strike_Duration ee
OEM Strike Flag PV_Turn_Off_Rate Turn_Off_Rate Shut_Down_Line A
$x On Strike i | &
‘Bh Py_Turn_Off_Rate =
e PY_Turn_On_Rate 4)
1 Restart_Line 3 ve @
t _t » —__>>P » » » - >
1 Shut_Down_Line 16 dt & fa t —
. aouee OEM_Strike_Flag Strike_Rate Strike_Event Striking
(Dh strike_Frequency t
fat Strike_Rate
fat Striking a4] t
! Turn_Off_Rate Lal PTS > » >> Fi » > »
! Turn_On_Rate = e
Je Manufacturing_Delay Mean_Strike_Duration —Strike_Duration On_Strike Restart_Line
(Bh Manufacturing_Time
a Workday >
Ge Material_Management
1 Order_Scheduling
#f® Product_in_Transit Sirike_Frequency > ee
&)-@® Production_Scheduling °
&-@R Work_in_Process Turn_On_Rate
§ Finished_Product | —t
Parts_Inventory PV_Turm_On_Rate
fg Other_Results
fe Powertrain_Division
f@& Summary of Model vs

a ¥

GW Containment View z 1 ¥

Edit Mode: Press F5 to run model, Scale: 90% Filter ON _ Edit Mode

GoldSim models are typically deeply
hierarchical

— This, by definition, makes feedback loops
more difficult to see graphically
¢ We provide other tools to find loops

Introduction to GoldSim @

Slide 26

TECHNOLOGY GROUP
Outline

Basic GoldSim Features

Introduction to GoldSim

Slide 27

TECHNOLOGY GROUP
GoldSim Simulation Philosophy

@ Models should be constructed in a “top-down”
manner

— Capture all key aspects and inter-relationships
— Only add as much detail as required and justified
— Keep focused on the “big picture”

@ Must accurately and honestly express our
uncertainty in all aspects of the system

— parameters
— processes
— events

@ A model that cannot be explained and understood
is a model that will not be used

— No black boxes!

bac Golds@

TECHNOLOGY GROUP

GoldSim Features Reflect this Philosophy

@ Scalable and Extensible

— Design allows you to build a simple model, and then
add details in a hierarchical manner as warranted

— Can link to other programs (e.g., spreadsheets, user
programs)

— Designed to facilitate addition of custom modules for
specific applications

@ Can represent uncertainty and stochasticity in
parameters, processes and events

@ Specialized objects make models less abstract and
more transparent

@ Powerful navigation, presentation and documentation
features allow you to build, maintain and present
complex models ©

Slide 29 Gold$im

TECHNOLOGY GROUP

What Kind of Simulator is GoldSim?

= er The user creates a model
by using GoldSim objects
(called elements) to draw a
Zz, > schematic or influence

»
Function diagram of the system
being simulated.
AN

Probability_Distribution

Introduction to GoldSim @
Slide 30 GoldSim

TECHNOLOGY GROUP

Data_Value

Element Categories

Insert Element Container »
Inputs »

y Stocks r
Functions r

& Paste

Events »

Zoom » Delays »
View » Results »
Properties... Reliability »
Financial »

Contaminant Transport r

vet Golds@:

TECHNOLOGY GROUP

Input Elements

@ Some elements provide a mechanism for you
to enter Data into a model. You can specify a
single scalar datum, or vectors and matrices of

data.

@ Time Series elements allow you to specify a
time series of data

@ You can also specify that a particular datum is
uncertain, by defining it as a probability
distribution (referred to as a Stochastic).

he fo AN

Data Time_Series Stochastic

Introduction to GoldSim @

Slide 32

TECHNOLOGY GROUP
Function Elements

@ Other elements act as functions, which operate
on one or more inputs and produce one or more

outputs.
The simplest function element is the Expression.

You define an Expression by simply typing in an
equation. Similar to a cell in a spreadsheet,
when defining an expression, you can use a
wide variety of operators and functions.

> ti = 3*sm(a)  min(x,y) = if(b>10,x,y) _ bess(a,b)
exp(k"time) —log(x/y) (ey) * (zy)

Expression

Introduction to GoldSim

Slide 33 Gold$im

TECHNOLOGY GROUP
Dimensions and Units in GoldSim

GoldSim is dimensionally aware.

@ GoldSim elements are all strongly typed
(unit, scalar/vector/matrix, value/condition).

@ GoldSim has an extensive database of units
and conversion factors. You can enter data
and display results in any units. You can
even define your own custom units.

@ When elements are linked, GoldSim enforces
dimensional consistency and carries out all
unit conversions internally.

Introduction to GoldSim @

Slide 34

TECHNOLOGY GROUP
Examples of Other Function Elements

@ Another example of a function element is the
Look-Up Table. In this element, the output is
computed by interpolating between the values
of a user-defined table (1D, 2D, or 3D).

@ Other function elements have more complex
behavior. For example, a Selector allows you to

specify nested “if, then” logic in your model (it

acts like a switch with multiple settings).

Selector
<<——
@ The Extrema element computes the highest >
(peak) or lowest (valley) value achieved by its
input. Extrema

Introduction to GoldSim. ©
Slide 35

TECHNOLOGY GROUP
Dynamic Elements (Stocks)

@ Dynamic element outputs are determined by the
previous values of their inputs.

@ Two types of dynamic elements are the -a-
Fund and the Reservoir. In their
simplest form, these elements require
an initial value, rates of additions +
(deposits) and withdrawals, and output > \G
a current value:

Current Value = Initial Value + {Rate of Change

Introduction to GoldSim @
Slide 36 GoldSim

TECHNOLOGY GROUP

Probabilistic Simulation

Ii Time History: Yolume_in_Pond1

i & SIS & The

Simulation Results

40

Volume in Pond (m3)

it] 10 20 30 40 50 60 70 80 90 100
Time (day)

Introduction to GoldSim

Slide 37

To do predictive
modeling, we need
to represent:

- Uncertain parameters
- Stochastic variables

Use Monte Carlo
simulation

Golds®,

TECHNOLOGY GROUP
Simulating the Occurrence and
Consequences of Discrete Events

@ In some kinds of systems, processes occur which
are discrete, rather than continuous

— accidents, system failures, financial transactions

@ GoldSim provides a powerful collection of
elements for representing the occurrence and
consequences of discrete events.

fe he & ®

Timed_Event  Triggered_Event Decision = Randorn_Choice

-@- ‘<> ~f- a te >ir

Milestone Status Discrete_Change Event_Delay Discrete_Change_Delay

Introduction to GoldSim @
Slide 38 GoldSim

TECHNOLOGY GROUP

Creating Subsystems

@ Complex models may have many thousands of
elements. In order to organize and view such a
model, it is useful (in fact, essential) to group the
elements into subsystems.

@ Subsystems are created by placing elements into
Containers. A container is analogous to a “folder”
or a “box”.

@ Containers can be placed into other containers,
and any level of containment can be specified.

@ Containers can be locked.
@ Containers can be easily reused.

@ Containers have many other features for advanced
users.

Introduction to GoldSim @

Slide 39

TECHNOLOGY GROUP
Some Additional Elements Useful for
Material Management Simulations

@ The Splitter element splits an -<-
incoming flow into multiple outputs ;
based on specified fractions. Splitter

@ The Allocator element allocates an
‘ ‘ P ‘ > >
incoming flow into multiple outputs
given specified demands and Allocator
priorities

Introduction to GoldSim @

Slide 40 GoldSimm

TECHNOLOGY GROUP
Delay Elements

@ The output of a Delay element lags its input.

@ Delay elements can be used to model processes such as the
movement of water through soil, the movement of parts on a
conveyor, and the transfer of information from one person to
another.

Y 3 Ny. -
~ Aim nad a pte

Information_Delay Material_Delay Discrete_Delay

Introduction to GoldSim @
Slide 41 GoldSim

TECHNOLOGY GROUP

Conditions and Triggers

@ Some elements can be defined as conditions
(True/False) rather than values

@ Use of conditions can make the model logic
much clearer

@ “Events” are of two types:
— “Scheduled” or “Timed” events
* e.g., once a week regularly, once a year randomly
— Conditional events
* e.g., whenever X becomes greater than Y

bac Golds@

TECHNOLOGY GROUP

Outline

Overview of Advanced GoldSim Features

Introduction to GoldSim @

Slide 43

TECHNOLOGY GROUP
Advanced Properties of Containers

@ You can localize Containers in your model so that
variable names can be repeated without causing
conflicts

@ You can clone a Container (or individual elements in a
Container). Clones all behave identically

— Allows you to rapidly build and maintain models
consisting of parallel systems that are governed by the
same equations but require different inputs

@ You can make Containers conditional. This allows you
to make a Container and all of its contents inactive
unless specific events occur and/or conditions are
met (useful for simulating tasks and projects)

@ Can have their own timestep

@ Can be iterative (looping)

Introduction to GoldSim @
Slide 44 GoldSim

TECHNOLOGY GROUP

Additional Features for Managing
Complexity in GoldSim

@ Powerful search capabilities
— Find an element
— who affects who?

@ The ability to record versions (revisions) of a
particular model file, so that you can identify
the differences between the various versions
of the file as the model is iteratively modified.

Introduction to GoldSim @

Slide 45

TECHNOLOGY GROUP
Convolution Element

@ Solves convolution integrals
@ Inputs:

— An input function (which can be time-
variable)

— A transfer function (impulse response
function)

@ Effectively allows you to create custom
transfer or delay functions

Introduction to GoldSim @

Slide 46

TECHNOLOGY GROUP
History Generator Element

@ A powerful element that generates
stochastic time series given some statistical
inputs (e.g., growth rate, volatility)

— Can simulate a variety of history types

— Can simulate geometric growth, random
walks, and random movement around a
target

— Can simulate correlated arrays of stochastic
variables (by specifying a correlation matrix)

Introduction to GoldSim @

Slide 47

TECHNOLOGY GROUP
Mil Time History
tie Saag im

1.06

1.04

1.02

1.00

0.98

0.96

0.94
o5 06 OF O8 aS 10

Time (yr)

Random Walks: High and Low Volatility

ron Golds®:

TECHNOLOGY GROUP

Mil Time History
Qs Gl Bs SB LS & oP

1.06

1.04

1.02

1.00

0.98

0.96

0.94

0.92

Time (yr)

Random Walks: With and Without Reversion to a
Constant Target

Introduction to GoldSim ©
Slide 49 GoldSim

TECHNOLOGY GROUP

Mil Time History
Ns Bl Gs & LS &

18

16

14

Time (yr)

Geometric Growth: High and Low Volatility

ron Golds®:

TECHNOLOGY GROUP

Mil Time History

Ns fd Gs SS & OP be

40

Time (yr)

Volatile Geometric Growth: Multiple Realizations

ea Golds®,

TECHNOLOGY GROUP

Mil Time History
Qs lB SLs & oP

6.0

Time (yr)

Random Walk That Tracks a Dynamic
Target: With and Without Time Lag

Introduction to GoldSim ©
Slide 52 Gold$im

TECHNOLOGY GROUP

Working with Arrays

GoldSim provides
almost 40 functions
for manipulating
arrays

Intr tion to Gol

Slide 53

jim.

Vector Constructor

vector(,)

Vector Item Access GetItem(y,r)
Vector Row Access GetRow(y,r)
Vector Length GetRowCount()
Vector Sum sumyv()

Vector Product prodv(}

Vector Minimum minv()

Vector Maximum maxv()

Vector Mean meanv()

Vector Standard Deviation sdv()

Vector Minimum Ordinal rowmin()
Vector Maximum Ordinal rowmax()
Vector Dot Product dot(,)
V*VT=M vvmatrix(,)
Matrix Constructor matrix(,)
Matrix Item Access GetItem(m,r,c)
Matrix Row Access GetRow(m,r)
Matrix Column Access GetColumn(m,c)
Matrix Length GetRowCount()
Matrix Width GetColumnCount()
Matrix: sum of items in each row sumr()

Matrix: product of items in each row prodr()

Matrix: mean of items in each row meanr()

Matrix: std, dev. of items in each row sdr()

Matrix: smallest item in each row minr(}

Matrix: greatest item in each row maxr()

Matrix: sum of items in each column sume()

Matrix: product of items in each column — prode()

Matrix: mean of items in each column meanc()
Matrix: std. dev. of items in each column sdc()

Matrix: smallest item in each column minc()

Matrix: greatest item in each column maxc()

Matrix Transpose trans()

Matrix Inverse inv)

Array Minimum (term-by-term) min(,)

Array Maximum (term-by-term) max(,)

Array (Linear Algebra) Multiplication mult(,)

Linking Spreadsheets
and Databases to GoldSim

@ You can dynamically link GoldSim to a spreadsheet

— Import time series, lookup tables, or scalar or array
data from a spreadsheet

— Export time series and other results to spreadsheet

— Spreadsheet can act as a sub-routine
¢ Can link to VBA applications

@ You can import information from any ODBC
compliant database directly into GoldSim prior to a
simulation

— GoldSim records when the database was uploaded
— Facilitates QA/QC of model data

Introduction to GoldSim @

Slide 54

TECHNOLOGY GROUP
Dynamically Linking
External Programs to GoldSim

@ If GoldSim’s built-in elements are not capable
of adequately representing a particular aspect
of your model, you can dynamically link an
external program to GoldSim.

@ It behaves identically to an Expression element,
but instead of using an equation, GoldSim
dynamically calls and runs the external
program.

@ This allows complex external programs to be
linked directly into the probabilistic, graphical
GoldSim framework.

Introduction to GoldSim @

Slide 55

TECHNOLOGY GROUP
Sensitivity Analysis

@ Computes statistical measures

— Based on multiple Monte Carlo simulations
(all variables changed simultaneously)

@ Graphical sensitivity analyses (tornado
charts, x-y charts)

— Variables of interest are changed while
holding all other variables constant

Introduction to GoldSim @

Slide 56

TECHNOLOGY GROUP
SIMULATION forthe REAL WORLD,

Rick Kossik
GoldSim Technology Group
Issaquah, Washington

Slide 1

TECHNOLOGY GROUP
Graphical Sensitivity Analysis

&)

Tornado Chart: x

mS

Tamado Sensitivity Chart- Analyzed Result: x [rn]

a 1 2 3 4 Ss 6

ee SIA

* Normalized X-Y Function Plot - Analyzed Result: x

Independent Variables

Resutts [m]

(tow Hist]

O90 of 02 03 a4 os os a7 08 og
Normalized Values

i er

Intr tion to GoldSim

Slide 2 GoldSi7

TECHNOLOGY GROUP
Optimizing Your Model

@ GoldSim provides the ability to carry out a special
type of run to facilitate optimization of your model.
You specify:

— an objective function (a specific result that you would
like to minimize or maximize),

— an optional constraint (a condition that must be met),
and

— one or more optimization variables (variables in your
model that you have control over).

@ GoldSim then runs the model multiple times,
systematically selecting combinations of values for
each of the optimization variables.

@ Applications:
— Optimizing a design or plan
— Calibrating to historic data

Introduction to GoldSim @
Slide 3 GoldSim

TECHNOLOGY GROUP

Presentation and Documentation Features

Slide 4

GoldSim allows you to incorporate graphics,
text, images and hyperlinks into a model.

By using these tools, you can create a visual
information management system in which
the model, the model documentation, and the
presentation of the model results are one
and the same.

These capabilities, coupled with GoldSim’s
ability to create hierarchical “top-down”
models, allow you to describe your model at
different levels of detail to different
audiences

Introduction to GoldSim @

TECHNOLOGY GROUP
Adding Images, Graphics and Text

K4 GoldSim Pro - Auto_Supply_Chain.gsm* =18) x)

| le Edt wew Insert Graphics Model Help
|Dsa|2Se|RS6leetelaly|4s> |? |RQnBo ||P e Eso: |lnz era
1G) © Container [OEM

|
=
OEM
Delivery
Rate from i t ap y en
Power Train ¢ age R J
: : _

<=>| SS

|@H B>\Oo°Ore/

Go to Power Train

Information_Delay

Order Rate to

a / \
Power Train
a= Material_Management Order Scheduling Q(—————] 1

4 Fam

Dealer_Orders
(External to model)

Result Mode: Editing is disabled. Press F4 to edit model, (623K6 /238KB Scale: 100% (EERIE!
onus Jo WUT

TECHNOLOGY GROUP
Adding Notes and Hyperlinks to
Documents and Web Sites

| Ble Eat view Insert Graphics Model Help
|Ose %=e RSleeoo ale ws |? |RQHao | UheBso: |Kz eo
(2) GB) } © Container [OEM

Delivery cs : b
Rate from § Nate P
Power Train : } ti
_ Element: Production_Scheduling |

his submodel represents those processes that impact production
scheduling, including material constraints, labor constraints, and
ixed plant constraints.

|@a|B>\0oeOV eH

www. goldsim.com/clients/OEM. html

For more information, see

ry «| y a
Delivery_Management Bj

Go to Power Train

Information_Delay

OrderRateto ig J
Power Train
| Material Management | Order_Scheduling | -
@ Dealer_Orders |
Click Here to View Report (External to model)
al | +
Result Mode: Editing is disabled, Press F4 to edit model. (623K6/238KB Scale: 100% ERIE

TECHNOLOGY GROUP
Building Dashboards and Viewing Models
in the GoldSim Player

@ You can design and construct a "dashboard"
interface for models.

@ A “dashboarded” model can be viewed and run
using the free GoldSim Player.

Introduction to GoldSim ©
Slide 7 Gold$im

TECHNOLOGY GROUP

{STSPA)

— —e
LIJRUN LIDOSE RATES

— INTERACTIVE __
PARAMETERS

COMORE RESULTS ~

This is a Simplified TSPA model of the potential Yucca Mountain
Repository. This model is a million-year simulation with all stochastic
parameters set at their mean values. Simple sensitivity analyses can
be done by adjusting the interactive parameters.

For "What If' simulations:

1. Press Reset on the Run Controller.

2. Make changes to sliders and scenario number.
3. Press Run on the Run Controller.

Press the Dose Rates button to view results.
Six scenarios can be modeled:

Choose the scenario by typing the number
into the box and then pressing enter.

1 = Nominal (without disruptive events)

2= Volcanic (conditional dose from a single event)

3 = Eruptive Only (conditional dose from a single eruptive event)
4= Intrusive Only (conditional dose from a single intrusive event)
5 = Combined Nominal and Disruptive (probability weighted)

6 = Human Intrusion

.~ TOTAL DOSE RATE ~
(mremiyr)

tess

Slide

These links allow
users to change
model variables

percent per
year leaving
the reservoir

NATIONAL LABORATORY
sT.1943

CO2-PENS LA-UR 05-6262

Once the model is
run, this link leads
to figures that
summarize the
results

GoldS$im

TECHNOLOGY GROUP
o

Number of
injection wells
running

3

Number of
injection wells
shut off

Sz
40.6 km2

Plume Area

6.55

Percent Full

Back to MAIN

Introduction to GoldSim r 3)
Slide 10 GoldSim

TECHNOLOGY GROUP

Outline

8
©
@ Overview of GoldSim Extension Modules
©
8

Introduction to GoldSim

Slide 11

TECHNOLOGY GROUP
Specialized GoldSim Modules

@ GoldSim was specifically designed to facilitate the
incorporation of additional modules (program
extensions).

@ These either add additional capabilities:
— Distributed Processing Module

@ Or they add new components to address a specific
type of simulation application:

— Financial Module
— Reliability Module
— Contaminant Transport Module

Introduction to GoldSim @

Slide 12

TECHNOLOGY GROUP
Distributed Processing Module

@ Monte Carlo simulation is the perfect parallel
processing application

One machine acts as the Master

Other machines on the network can act as

Slaves

— They must be launched in “slave mode” from
a command line

@ The Master sends realizations to each of the

Slaves, then assembles them at the end of
the realization

Introduction to GoldSim @

Slide 13

TECHNOLOGY GROUP
Financial Module

@ Amodule for simulating financial systems. Provides 5
elements:

> » — Fund: Simulates accounts with interest, deposits and
withdrawals.

>.

> — Cash Flow: Computes the NPV and IRR of a series of cash
flows. Used to model the future return of projects and
business ventures

— Investment: Simulates investments with purchases and sales

— Insurance: Simulates claims against an insurance policy

»
oS
og — Option: Simulates different types of financial options

Introduction to GoldSim ©
Slide 14 Gold$im

TECHNOLOGY GROUP

Reliability Module

@ Facilitates reliability modeling and risk analysis
for complex engineered systems

@ Specialized elements allow you to define failure
and repair rates and functional dependencies
@ Outputs:

— Reliability and availability of systems and
components

— MTTF, MTTR, analysis of failure causes, etc.
— Overall system throughput
— Costs and other metrics can be modeled

Introduction to GoldSim

Slide 15

TECHNOLOGY GROUP
Reliability Analysis for a Machine

¥4 GoldSim Pro - ReliabilityModel3.gsm*

“File Edit View Graphics Model Run Help |

(OSM) +28RS EOVS Aviary ? Rana | MESO S|

ED ¢ > Conteine Path (SENSE ¥]
7 ans SAGE a

= |

Suspension Stowage hi

;

: 4

|

|
»

|<) 3)

Scale: 90% Filter ON Edit Mode

Edit Mode: Press F5 to run model,

Simulation of a Pacemaker

'4 GoldSim Pro - pacemaker 7.gsm

File Edit View Graphics Model Run Help
Oo @Ré& ew

¢ Container Path: |

Pacemaker Reliability
Performance Model

Lead Models

Pacemaker

Defib_Lead_Model

< >
Edit Mode: Press F5 to run model, Scale: 85% Filter ON Edit Mode

olde 7

TECHNOLOGY GROUP
Throughput Analysis For an Industrial Process

F4 GoldSim Pro - Crusher_3.gsm

File Edit View Graphics Model Run Help |

DSH 2A RAS EeVe Avi anso|? RQHAM MUBtBt6: HIeIB
i GH ¢ > Container Path: |\ ore
> 4 “le
i) fo» ih -—op f ror for N
a StockOut_Event — StockOut_Rate ObjFunc o
town a
fat > fer e
x fe)
Stoddut_CumTime adie
A
‘a
@
> ~f rom fi »
x x
Convayorgpaad CumDelayed ProdRate —_—FractProdRate
chushnate Max stoapile Six
oo
nae
Pigte
so
ve SuigeOutEvent ——_SurgeDut Rate
.
> fr
Overtow_Rate 2
gs >
Result Mode: Editing is disabled. Press F4 to edit model. Scale: 80% — Filter ON
onae 10

TECHNOLOGY GROUP
The Contaminant Transport Module

@ Adds specialized elements to facilitate simulation of
contaminant transport through engineered and natural
environmental systems

— Species and Media

— Pathways
— Sources
— Receptors
@* -4> -o BD +h
a 24
Species Fluid Solid Source Receptor

“ental aria —— ra > aes

Cell_Pathway CellNet_Generator Pipe_Pathway External_Pathway Network_Pathway

Introduction to GoldSim @
Slide 19 Gold$im

TECHNOLOGY GROUP

54 GoldSim Pro - Paleochannel.gsm

|| ie Piven ieat taadie tee teen

iaixi

OSH LB@|\AS eed aly x4 |e

fet Hef 22] =) (8) 2

©) G) } © Container [\Simulation ModelWater_Balance

~ Qe tl &s SIS ge oP

|@H/B>|\OoeOor er /|

Result Mode: Editing is disabled, Press F4 to edit model,

Salt Concentration

Time (yr)

1,246 KB /522 KB |Scale: 75% |EEmAIABaEy

TECHNOLOGY GROUP
|| Bie Edt view Insert Graphics Model Help

|| ZA SS Pee $e |? ||P Q © | wees o

B
x

Ge
ie LI

ld

L> |
>|OoeOre/

Se

Receptor_Flows

Pit_to_ULL

Intec} 4

S Result Mode: Editing is disabled, Press F4 to edit model,

1 | @
11,843 KB / 1,666 KB (Scale: 100% [Em aSim

TECHNOLOGY GROUP

Outline

Can GoldSim complement traditional SD codes?

Introduction to GoldSim @

Slide 22

TECHNOLOGY GROUP
How can GoldSim complement traditional
SD codes?

@ GoldSim does not use standard “stock and
flow” syntax

@ Large, complex models are not necessarily
be easy to explain to a non-technical
audience (with a limited attention span)

@ Feedback loops are not as readily apparent
when models get very large and hierarchical

@ Possible complementary use:

— Use traditional stock and flow approach to
initially gain understanding of dynamics and
explain model

— Use more complex probabilistic model for
predictions (if required)

bac Golds@

TECHNOLOGY GROUP

Outline

Questions and Discussion

Introduction to GoldSim

Slide 24

TECHNOLOGY GROUP

Metadata

Resource Type:
Document
Description:
This workshop will be an introduction to building probabilistic system dynamic models using GoldSim. GoldSim differs from traditional system dynamics software in that 1) it puts much greater emphasis on probabilistic simulation techniques to support representation of uncertain and/or stochastic systems; and 2) it relies on more specialized model objects (beyond stocks, flows and converters) in order to make models less abstract (and hence more transparent) and help represent processes and events that cannot easily be represented using a traditional system dynamics approach. In general, this is because GoldSim has traditionally been used for engineering and scientific applications where quantitative probabilistic predictions of future performance have been required (e.g., by regulators) in order to inform and defend policy and design designs. The workshop is intended for people who are already familiar with traditional system dynamics tools, and will focus on how GoldSim models can be used to complement and extend models built using traditional approaches. The session will demonstrate basic GoldSim functionality, how GoldSim can be used to represent uncertain and stochastic systems, and will discuss a number of specialized objects provided by the software. Computers are not required for this short workshop.
Rights:
Date Uploaded:
December 31, 2019

Using these materials

Access:
The archives are open to the public and anyone is welcome to visit and view the collections.
Collection restrictions:
Access to this collection is unrestricted unless otherwide denoted.
Collection terms of access:
https://creativecommons.org/licenses/by/4.0/

Access options

Ask an Archivist

Ask a question or schedule an individualized meeting to discuss archival materials and potential research needs.

Schedule a Visit

Archival materials can be viewed in-person in our reading room. We recommend making an appointment to ensure materials are available when you arrive.