Many users have requested that GoldSim provide a feature that will print all the functions developed in a GoldSim model in plain text format. This task is complicated due to the inherent complexity of many GoldSim elements. Some elements such as the Data, Expression, and Integrator, are quite simple to convert to text format if you just look at their basic definitions. But what if a user defines an Integrator with running average outputs? This means we will have to add those definitions to the print out for the Integrator. There are many other types of settings in elements that involve check boxes, tabs, and complex entry controls that would be challenging to parse and print to a text format. Another challenge is finding a way to represent the container hierarchy in text format. One possibility is through the use of indentation but this still needs to be worked out.
Because of these challenges, we have tentatively decided to look into developing a feature that provides most of the definitions but skips more complicated ones. Our goal is to focus on the most important and simplest definitions so that a robust solution can be provided.
Below is a sample of a possible printout for a simple model that contains some different types of elements.
Type: Container
Name: Model
Inputs:
Parameter1 = 0.0
Parameter2 = vector(0)
Resource3_InitialQuantity = vector(0)
Resource3_RateOfAddition = vector(0.0 1/day)
Resource3_DiscreteAddition =
Elements:
Type: Splitter
Name: Splitter1
Inputs:
Amount = 0.0
Fraction for Output1 = 0.0
Type: Allocator
Name: Allocator1
Inputs:
Amount Available = 0.0
Demand for Output1 = 0.0
Type: Convolution
Name: Convolution1
Inputs:
Signal = 0.0
Transfer Function = 0.0 1/day
Type: History Generator
Name: HistGenerator1
Inputs:
Mean Annual Growth Rate = 0.0
Annual Volatility = 0.0
Annual Reversion Rate = 0.0
Initial Value = 1
Initial Value of Median = 1
Type: And
Name: And1
Inputs:
And_1 = true
Type: Or
Name: Or1
Inputs:
Or_1 = false
Type: Not
Name: Not1
Inputs:
Input = false
Type: Spreadsheet
Name: Spreadsheet1
Type: Decision
Name: Decision1
Inputs:
Condition1 = false
Type: Random Choice
Name: RandomChoice1
Inputs:
Probability1 = 0.0
Type: Milestone
Name: Milestone1
Type: Interrupt
Name: Interrupt1
Type: Material Delay
Name: MaterialDelay1
Inputs:
Delay = 0.0 day
Initial Outflow = 0.0
Inflow1 = Convolution1
Type: Discrete Change Delay
Name: ChangeDelay1
Inputs:
Delay = 0.0 day
Input =
Type: Container
Name: Material
Elements:
Type: Species
Name: Species
Inputs:
Definition = Local Vector
Type: Reference Fluid
Name: Water
Inputs:
Reference Diffusivity = 1E-9 m2/s
DiffusivityReduction = 1
Relative Diffusivities = Local Vector
Solubilities = Local Vector
Type: Fracture Set
Name: FractureSet1
Inputs:
Species = Species
Boundary Condition =
Length = 0.0 m
Area = 0.0 m2
Perimeter = 0.0 m
Reference Fluid = Water
Discrete Changes =
Dispersivity = 0.0 m
Infill Medium =
Fluid Saturation = 1
Suspended Solid Concentration = 0.0 kg/m3
Suspended Solid =
Coating Medium =
Coating Thickness = 0.0 m
Source Zone Length = 0 m
Type: CellNet Generator
Name: CellNet_Gen1
Type: Aquifer Pathway
Name: Aquifer1
Inputs:
Species = Species
Boundary Condition =
Length = 0.0 m
Area = 0.0 m2
Reference Fluid = Water
Discrete Changes =
Dispersivity = 0.0 m
NumCells = 10
Infill Medium =
Fluid Saturation = 1
Suspended Solid Concentration = 0.0 kg/m3
Suspended Solid =
Source Zone Length = 0.0 m
Type: Network Pathway
Name: NetworkPath1
Inputs:
Species = Species
Boundary Condition =
Reference fluid = Water
Fracture Network = 0.0
Type: Reliability Function Component
Name: Function1
Inputs:
Mode1_Acceleration = 1.0
Mode1_Preventive Maintenance Effect = ~FM_Failed
Mode1_Repair_Mean = 0.0 day
Mode1_Rate = 0.0 1/day
Condition1 = ~Failed[1]
Type: Reliability Action Component
Name: Action1
Inputs:
Mode1_Acceleration = 1.0
Mode1_Preventive Maintenance Effect = ~FM_Failed
Mode1_Repair_Mean = 0.0 day
Mode1_Rate = 0.0 1/day
Condition1 = ~Failed[1]
Type: Fund
Name: Fund1
Inputs:
Initial Balance = 0.0 $
Deposit Rate = 0.0 $/day
Deposits =
Withdrawal Rate = 0.0 $/day
Withdrawals =
Type: Cash Flow
Name: CashFlow1
Inputs:
Expense Rate = 0.0 $/day
Discrete Expenses =
Revenue Rate = 0.0 $/day
Discrete Revenues =
Type: Investment
Name: Investment1
Inputs:
Unit Value = 0.0 $
Initial Holding = 0.0 $
Purchase Rate = 0.0 $/day
Purchases =
Sales Rate = 0.0 $/day
Sales =
Type: Option
Name: Option1
Inputs:
Number of Units = 0.0
Unit Value = 0.0 $
Term = 0.0 day
Strike Price = 0.0 $
Type: Insurance
Name: Insurance1
Inputs:
Claims =
Deductible = 0.0 $
Cap = 0.0 $
Comments
3 comments