NetSim GUI

The graphical user interface (GUI) allows users to interact with the simulator for creating, modifying and saving, simulation experiments and workspaces. This is much easier to use when compared to command line or text-based simulator interfaces. NetSim GUI comprises of the Home Screen, Design Window, Results Window, Animation Window and Plots Window.

You see the NetSim Home Screen when you run NetSim software for the first time, after checking out a license from the NetSim License Server.

See the following image for an example of the NetSim Home screen as shown below Figure 3‑1.

Figure 3‑1: NetSim Home screen

You see the following items on the NetSim Home screen:

  1. New Simulation: Use this menu to simulate different types of networks in NetSim. You can simulate the following the types of networks: Internetworks, Legacy Networks, Mobile Adhoc networks, Cellular Networks, Wireless Sensor Networks, Internet of Things, Cognitive Radio Networks, LTE/LTE-A Networks, 5G NR, VANETs, Satellite Communication and Underwater Network (newly added component in v13). Only the networks (components) for which licenses are available will be shown. The networks (components) shown at the bottom with grey background cannot be directly clicked and entered. These features can be accessed through other components given the dependencies.

  2. Your work: Use this menu to load saved configuration files from the current workspace. You can view, modify or re-run existing simulations. Along with this, users can also export the saved files from the current workspace to their preferred location on their PC's.

  3. Examples: Use this menu to perform simulations of different kinds categorized technology-wise. Users can choose any network which they want to work. Expand and click on file name to display simulation examples. Then click on a tile in middle panel to load simulation, users can run and analyze the results. Users can click on the book icon present in the right-hand side of each network which opens the corresponding pdf files. This helps the users with all information about the current simulation as well as the entire network technology.

Graphical user interface, application Description automatically generated

Figure 3‑2: Featured Examples List Window

  1. Experiment: Users can use this menu to find experiments section which has various experiments covering all the technologies in NetSim. Users can choose their experiment by Expand and click on file name to display the experiment. Then click on a tile in middle panel to load simulation. All the settings to carry out the experiment are already done. Users can click on the book icon present in the right-hand side of each experiment. This will open the corresponding pdf file for the experiment which consists of detailed description of that experiment.

Figure 3‑3: Experiments List Window

  1. License Settings: Use this menu to perform the following. Click on License Settings provides users with three sub-menus related to License information.

License Server Information: Use this menu to view details about the NetSim License Server from where the client is checking out licenses.

Graphical user interface, text, application Description automatically generated

Figure 3‑4: NetSim License Server Information window

You will see the following details on the NetSim Home screen, if you click the License Server Info menu item: the type of platform on which NetSim is running, the version of RLM, the Dongle RLM ID, the IP address of the NetSim License Server, and the path to the license files in the server hosting NetSim License Server.

End User License Agreement: Use this menu to view the end user license agreement. You will see the following details on NetSim Home screen, if you click the End User License Agreement menu item: Grant of License and Use of the Services, License Restrictions, License Duration, Upgrade and Support Service etc.

Configure Installed Components/Libraries: Use this menu to allow NetSim users to simulate only specific types of networks (by the licenses and libraries associated with the types of networks). You control access to types of networks by selecting libraries for specific types of networks that NetSim License Server checks out when NetSim users start NetSim.

NetSim Home screen displays libraries for components for which you have purchased licenses.

Note: You can select or clear libraries and control access to NetSim users, only if you are using floating licenses.

See the following image for an example of what the NetSim Home screen displays, if you click the Configure Installed Components/Libraries menu item.

Graphical user interface, application Description automatically generated

Figure 3‑5: The Installed Component (Libraries) of NetSim

Use the License Settings menu as follows:

  • Select the checkboxes for the component libraries (types of networks) that NetSim users must be allowed to simulate.
  • Clear the checkboxes for the component libraries (types of networks) that NetSim users must not be allowed to simulate.

The Internetwork component is greyed out. You cannot clear the Internetworks component because Internetworks is a base component that is required for all the other components to work.

  1. Exit: Use this option to close opened Netsim tabs.

  2. Documentation: Use this section to open the following NetSim help documents: These include the User Manual which consists of complete description about all the features in NetSim and how it can be used by the end users, the Technology Libraries which provides users with an access to a detailed description of various Network Technologies present in NetSim through individual pdf files, and Source code help which comes along with Standard and Pro Versions of NetSim, allows users to gain a better understanding of the underlying code structure for in-depth analysis.

  3. Learn: Use this section to learn more about the software which includes the following: Videos section can be used to view videos related to NetSim in TETCOS LLP YouTube channel. This channel helps users by providing frequent updates on what's new in NetSim, topics related to various network technologies covering different versions of NetSim, and monthly webinars. The Experiments Manual section grants you access to a well-designed experiments manual covering various networking concepts which helps users to easily understand different networks and also gain ideas to carry out their own experimentations in NetSim.

  4. Support: Use this section to reach TETCOS LLP helpdesk. Contact Technical Support link can be used to raise a trouble ticket, you can also write to us via Email to support@tetcos.com, and Answers/FAQ link grants you access to our Knowledge Base which contains answers to all your questions most of the time. Users can utilize the wealth of information present in it, which are further classified into the following: FAQs, Technologies/Protocols, Modelling/UI/Results, and Writing your own code in NetSim.

  5. Contact Us: Use this section to contact us and know more information about our product. You can write to us via Email to sales@tetcos.com or contact us via Phone to our official number +91 76760 54321.

Website: Use this link www.tetcos.com to visit our website which consists of vast information that will assist you through all walks of NetSim.

Creating "New" Simulations#

The Simulation window loads up once user selects the desired network technology from the New Menu. Click on New Simulation and select the desired kind of network to simulate.

Figure 3‑6: NetSim Home Screen

Save

Figure 3‑7: To save experiment, Select File >Save. Save As etc

To save experiment, select File à Save, then specify the Experiment Name, Description (Optional) and click Save. The short cut for the same is Ctrl + S.

Save as

To save an already existing/saved experiment by a different name after performing required modifications/changes to it (without overwriting the existing copy), Save As option can be used. Select File à Save As, then specify the Experiment Name, Description (Optional) and click Save. The short cut for the same is Shift + Ctrl + S and F12.

Environment Settings#

The settings menu provides user's access to the simulation environment settings.

Figure 3‑8: Environment settings

The Environment Settings window is used to switch between Grid View and Map View backgrounds in supported network technologies. For Grid view, users can configure the Grid environment length in meters as shown Figure 3‑9.

Figure 3‑9: Grid View Setting

The Gird#

The Grid coordinate system has its origin at the upper left of the drawing area, and positive Y is down while positive X is to the right.

Figure 3‑10: NetSim Design window

For Map view users can configure the latitude and longitude respectively.

![](media/image76.png

Figure 3‑11: Map View Setting

Users can zoom in and out of the map to add devices in specific geographical locations.

Figure 3‑12: Map Design window

Learn

This menu contains link to NetSim Videos on TETCOS LLP YouTube Channel and NetSim Experiments manual.

Documentation

This menu contains link to NetSim User Manual, Technology Libraries and NetSim Source Code Help.

Modeling and Simulating a simple network#

This section will demonstrate how to create a basic network scenario and analyze the results. Let us consider Internetworks. To create a new scenario, Go to New Simulation à Internetworks as shown below Figure 3‑13.

Figure 3‑13: NetSim Home Screen

Creating a Network scenario#

In this example, a network with two subnets is designed. Let us say the subnet 1 consists of two wired nodes connected via a Switch and the other subnet consists of one wired node. Both the subnets are connected using a Router. Traffic in the Network flows from a wired node in subnet 1 to the wired node in subnet 2.

Figure 3‑14: Network Topology in this experiment

Perform the following steps to create this network design.

Step 1: Drop the devices. Click on Node icon and select à Wired Node.

Figure 3‑15: Internetworks Device Palette in GUI

Click on the environment (the grid) where you want the Wired Node to be placed. In this way, place two more wired nodes. Similarly, to place a Switch and a Router, click on the respective device and click on the environment at the desired location.

Figure 3‑16: Dropped Devices on GUI

Note that NetSim takes the (x, y) position of any device on the grid is the position of top left corner of the icon and not the center of the icon.

Step 2: Connecting devices: Select the link and then left click on one device, free the mouse button, then click on the second device and free the mouse button. The wired links may disappear if you right click anywhere in the environment. Clicking and dragging without freeing the mouse pointer would displace the device in the environment.

Figure 3‑17: To Connect devices select wired/wireless links

For example, select link and the click on Switch followed by router to connect them. In this manner, continue to link all devices.

Figure 3‑18: Network Topology

Step 1: To configure any device, right click on the device and select properties as shown Figure 3‑19.

Figure 3‑19: Right click on the device and select properties

The default properties of any device can be modified per requirement. Then click on OK.

Figure 3‑20: Network layer Properties window for wired node

Step 2: To configure the links, right click on any Link and select Properties as shown Figure 3‑21.

Figure 3‑21: Wired Link properties window for links

Note: In NetSim, the properties of devices fall under one of the following categories:

  1. Local: Changes that are done in one device do not affect any other device in the network scenario. 

  2. Global: Changes that are done in one device affect all the other devices of similar type in the network scenario. 

  3. Link: Changes that are done in one device affect other devices of similar type that are connected to the same Wireless/Adhoc link.

Display Settings#

In NetSim, users can Turn-On or Turn-Off display information such as IP Address of the devices, link speed etc. For doing this click on Display settings as shown below Figure 3‑22.

Figure 3‑22: Turn-On or Turn-Off display information such as IP Address of the devices, link speed etc

In NetSim the device ID serves as a "device identifier" while the IP Address is an "Interface identifier"

Copy/Paste#

In NetSim simple copy paste can be used. Using this feature users can copy all the properties of a device and create a new device with similar properties.

Right click on the device, click on copy and then right click and click paste. The sequence is shown below Figure 3‑23/Figure 3‑24/Figure 3‑25/Figure 3‑26/Figure 3‑27.

Figure 3‑23: Devices present on GUI

Figure 3‑24: Right click on the user device and Select copy

Figure 3‑25: Right click on the GUI and Select Paste

Figure 3‑26: Devices Pasted in GUI

Remove in the device options, is used to delete the device from the grid environment. Given below is an example of removing the device User_Device_4 which was previously pasted.

Figure 3‑27: Right click on User_Device_4 and Select Remove

Modeling Application Traffic#

After the network is configured, user needs to model traffic from Wired Node 2 to Wired Node 3. This is done using the application icon. Click on the Application icon present on the ribbon as shown below Figure 3‑28.

Figure 3‑28: Select Application icon present on ribbon

In screen shot shown below the Application type is set to CBR, Source_ID is 2 and Destination_ID is 3. Click on OK.

Figure 3‑29: Application Configuration window

Logging Packet/ Event Trace#

Packet and Event Trace files are useful for detailed simulation analysis. By default, these are not enabled since it slows down the simulation. To enable logging of Packet Trace / Event Trace click on the icon in the tool bar as shown below. Set the file name and select the required attributes to be logged. For more information, please refer sections 8.4 and 8.5 respectively.

Figure 3‑30: Packet Trace and Event Trace options present on ribbon

Run Simulation#

For simulating the network scenario created, click on Run Simulation present in the Ribbon.

Figure 3‑31: Run Simulation icon in the Ribbon

Set the Simulation Time to 10 seconds. Click on OK.

Graphical user interface, text, application, email Description automatically generated

Figure 3‑32: Run Simulation window

Saving & Opening experiments and Printing results#

Opening Saved Experiments:#

Click on Your work (Ctrl+O).

Graphical user interface, text, application Description automatically generated

Figure 3‑33: Select Your work

Click on the saved experiment file you wish to open.

Saving an Experiment#

During Simulation: Users can save by using the short cut CTRL + S.

After Simulation: From Network Window: Click on File > Save button on the top left. Next, specify the Experiment Name, Description (Optional) and click on Save.

Figure 3‑34: Save popup window

Upon saving several files would get saved inside the folder, including:

  • Configuration file (xml) & metrics file (xml)

  • Trace Files (csv), if enabled, and

  • Plot data (txt)

NetSim Keyboard Shortcuts#

NetSim keyboard shortcuts can be used for frequently performed tasks. The keyboard shortcuts that are currently supported are listed in the table below Table 3‑1.

Keys Function
Home Screen
Ctrl + N Open a New Network
Ctrl + O Open a Saved Network
Design Window (Any Network)
Ctrl + C Copy
Ctrl + V Paste
Ctrl + R Open Run Simulation Window
Ctrl + S Save the Experiment
Shift + Ctrl + S Save As (To Save under different name)
Ctrl + P Open Image/Screenshot of the network scenario that is designed in the GUI
Alt+ F4 Close Window
F1 User Manual Help
Ctrl + '+/-' Zoom In/Zoom Out
Mouse Click (Left) Select a device
Ctrl + A Select All devices in the design environment
Ctrl + Mouse Click (Left) and Drag Select devices within a selected area
Delete Deletes the selected devices in the Environment along with any links it may have
Simulation Console
Ctrl + C Terminates Simulation in Mid way. Results will be calculated till the time at which the simulation is terminated
Packet Animation Window
Space bar To Play/Pause animation

Table 3‑1: NetSim keyboard shortcuts

NetSim Interactive Simulation#

NetSim allows users to interact with the simulation at runtime via a socket or through a file. User Interactions make simulation more realistic by allowing command execution to view/modify certain device parameters during runtime.

This section will demonstrate how to perform Interactive simulation for a simple network scenario. Let us consider Internetworks. To create a new scenario, go to New à Internetworks. Click & drop Wired Nodes and Router onto the Simulation Environment and link them as shown below Figure 3‑35 or otherwise Open the scenario for Interactive Simulation which is available in "\<NetSim Install Dir>\Docs\ Sample_Configuration\Internetworks\Interactive Simulation".

Figure 3‑35: Network Topology

  • Click on Application icon present in the top ribbon and set the Application type as CBR. The Source_Id is 1 and Destination_Id is 2.
  • Set Start Time as 30 Sec
  • Enable Plots and Packet trace options
  • Click on run simulation option and In the Run time Interaction tab set Interactive Simulation as True and click on Accept as shown below Figure 3‑36.

Figure 3‑36: Run time Interaction tab set Interactive Simulation as True

  • Click on run simulation and set Simulation Time as 500 sec. (It isrecommended to specify a longer simulation time to ensure thatthere is sufficient time for the user to execute the variouscommands and see the effect of that before Simulation ends) andclick OK.
  • Simulation (NetSimCore.exe) will start running and will display a message "waiting for first client to connect" as shown belowFigure 3‑37.

C:\Users\TETCOS_PC\Desktop\Capture.PNG

Figure 3‑37: Waiting for first client to connect

  • After Simulation window opens, goto Network scenario and right clickon Router_3 or any other node and select NetSim Console option as shown Figure 3‑38.

Figure 3‑38: Select NetSim Console option

  • Now client (NetSimCLI.exe) will start running and it will try toestablish connection with NetSimCore.exe. After connection is established, the window will look similar like this shown belowFigure 3‑39.

C:\Users\TETCOS_PC\Desktop\Capture.PNG

Figure 3‑39: Connection is established

  • After this the command line interface can be used to execute thesupported commands

[Note: Commands are not a case sensitive]{.underline}

Simulation specific (Not applicable for file based interactive simulation)#

  • Pause
  • PauseAt
  • Continue
  • Stop
  • Exit
  • Reconnect

Pause: To pause the currently running simulation

PauseAt: To pause the currently running simulation with respect to particular time (Ex: To Pause simulation at 70.2 sec use command as PauseAt 70.2)

Continue: To start the currently paused simulation

Stop: To stop the currently running simulation (NetSimCore.exe)

Exit: To exit from the client (NetSimCLI.exe)

Reconnect: To reconnect client (NetSimCLI.exe) to simulation (NetSimCore.exe) when we rerun simulation again

Ping Command#

  • The ping command is one of the most often used networking utilities for troubleshooting network problems.
  • You can use the ping command to test the availability of a networking device (usually a computer) on a network.
  • When you ping a device, you send that device a short message, which it then sends back (the echo)
  • If you receive a reply then the device is in Network, if you don't then the device is faulty, disconnected, switched off, incorrectly configured.
  • You can use the ping cmd with an IP address or Device name.
  • ICMP_Status should be set as True in all nodes(Wired_Node andRouter)

Figure 3‑40: Set ICMP_Status to True in Network layer window.

  • Right click on Wired_Node_1 and go to properties. Under General > properties enable Wireshark Capture option as "Online"

Ping \<IP address> e.g. ping 11.4.1.2

Ping \<NodeName> e.g. ping Wired_Node_2

Ping Command Results#

C:\Users\TETCOS_PC\Desktop\cli.PNG

Figure 3‑41: Pinging to Wired_Node_2

  • After simulation open packet trace and filter ICMP_EchoRequest and ICMP_EchoReply from CONTROL_PACKET_TYPE/APP_NAME column

C:\Users\TETCOS_PC\Desktop\pac.PNG

Figure 3‑42: ICMP Control Packets in Packet Trace

  • Open Wireshark and apply filter ICMP. We can see the ping request and reply packets in Wireshark.

C:\Users\TETCOS_PC\Desktop\wir.PNG

Figure 3‑43: ICMP Control Packets in Wireshark

Route Commands#

  • route print

  • route delete

  • route add

In order to view the entire contents of the IP routing table, use following commands route print.

route print

Figure 3‑44: Network Route Print

  • You will see the routing table entries with network destinations andthe gateways to which packets are forwarded when they are headedto that destination. Unless you've already added static routes tothe table, everything you see here will be dynamically generated.
  • In order to delete route in the IP routing table you will type acommand using the following syntax

Route delete destination_network

  • So, to delete the route with destination network 11.5.1.2, all we'dhave to do is type this command. route delete 11.5.1.2

  • To check whether route has been deleted or not check again using route print command.

  • To add a static route to the table, you will type a command using the following syntax.

route ADD destination_network MASK subnet_mask gateway_ip METRIC metric_cost IF interface_id

  • So, for example, if you wanted to add a route specifying that all traffic bound for the 11.5.1.2 subnet went to a gateway at 11.5.1.1

route ADD 11.5.1.2 MASK 255.255.0.0 11.5.1.1 METRIC 100 IF 2

  • If you were to use the route print command to look at the table now, you would see your new static route.

Figure 3‑45: Route added into Network

Note: Entry added in IP table by routing protocol continuously gets updated. If a user tries to remove a route via route delete command, there is always a chance that routing protocol will re-enter this entry again. Users can use ACL / Static route to override the routing protocol entry if required.

ACL Configuration#

Routers provide basic traffic filtering capabilities, such as blocking Internet traffic, with access control lists (ACLs). An ACL is a sequential list of permit or deny statements that apply to addresses or upper-layer protocols. These lists tell the router what types of packets to: permit or deny. When using an access-list to filter traffic, a permit statement is used to "allow" traffic, while a deny statement is used to "block" traffic.

ACL Commands

  • To view ACL syntax use: acl print.

  • Before using ACL's, we must first verify that acl option enabled. A > common way to enable ACL use command: acl enable.

  • Enters configuration mode of ACL using: aclconfig

  • To view ACL Table: Print

  • To exit from ACL configuration use command: exit

  • To disable ACL use command: acl disable (use this command > after exit from acl configuration)

To view ACL usage syntax use: acl print

[PERMIT, DENY] [INBOUND, OUTBOUND, BOTH] PROTO SRC DEST SPORT DPORT IFID

Step to Configure ACL#

  • Create Network scenario as shown in below figure.

Figure 3‑46: Network Scenario

  • To create a new rule in the ACL use command as shown below to block UDP packet in Interface_3 of the Router_3.
  • Click on the Application icon present in the top ribbon/toolbar.
  • CBR Application from Wired Node 1 to Wired Node 2 with 10 MbpsGeneration Rate (Packet Size: 1460, Inter Arrival Time: 1168µs).
  • Set Transport Protocol to UDP.
  • Set Start Time as 30 Sec
  • Click on run simulation option and In the Run time Interaction tab set Interactive Simulation as True and click on Accept.
  • Set the Simulation Time as 200sec or more. Click Ok.
  • Right click on Router_3 and select NetSim Console. Use the command as follows:
 NetSim\>acl enable

 ACL is enable 

 NetSim\>aclconfig

 ROUTER_3/ACLCONFIG\>acl print

 Usage: \[PERMIT, DENY\] \[INBOUND, OUTBOUND, BOTH\] PROTO SRC DEST
 SPORT DPORT IFID

 ROUTER_3/ACLCONFIG\>DENY BOTH UDP ANY ANY 0 0 3

 OK!

 ROUTER_3/ACLCONFIG\>print

 DENY BOTH UDP ANY/0 ANY/0 0 0 3

 ROUTER_3/ACLCONFIG\>exit

 NetSim\>acl disable

 ACL is disable

NetSim\>

Figure 3‑47: ACL Configuration command

Results#

The impact of ACL rule applied over the simulation traffic can be observed in the IP_Metrics_Table in the simulation results window, In Router_3 number of packets blocked by firewall has been shown below.

[Note: Results will vary based on time of ACL command are executed]{.underline}

Figure 3‑48: IP Metrics Table in result window

Check Packet animation window whether packets has been blocked in Router_3 for period when the ACL rule is applied. In the Below figure you can observe that packets are getting discarded at Router_3.

Figure 3‑49: NetSim Animation Window when ACL rules are applied

Then packet transmission is allowed through same Interface_3 once after ACL is disabled.

Figure 3‑50: NetSim Animation Window After ACL Disabled

The impact of ACL rule applied over the simulation traffic can be observed in the Application throughput plot. Throughput graph will show a drop after ACL is set. If ACL is disabled after a while, application packets will start flowing across the router. The Application throughput plot will show a drop and increase(Moving througput graph) in throughput after setting ACL and disabling ACL respectively.

Example: ACL rule applied at around 120sec user can see the drop in throughput in the graph, since router blocks UDP packets in the plot. Once ACL has been disabled at around 185sec router permits packets and hence increase in throughput can be observed in the plot shown below Figure 3‑51.

Figure 3‑51: CBR Application throughput plot

Interactive Simulation using file#

Interactive simulation using file allows users to pass commands as input through a text file. In the text file users can provide the commands along with the device in which it has to be executed by specifying the time stamps. This provides the user to have control over the scenario to execute commands at a specified time.

In the Interactive simulation text file, user should specify the exact time in seconds, along with the name of the device.

Format of the input text file for one device.

TIME=\<SIMULATION TIME IN SECONDS>

DEVICE=\<DEVICE_NAME>

\<COMMAND TO BE EXECUTED>

The below Network scenario explains how to perform the Interactive simulation using file as input.

Figure 3‑52: Network Topology

  • The scenario comprises of 4 Routers, 2 Wired Node

  • In Router Application layer, the routing protocol is set as RIP,since it is global property, routing protocol will be set as RIPin all Routers.

  • Right click on the Application Flow App1 CBR and select Propertiesor click on the Application icon present in the top ribbon/toolbar.

  • A CBR Application is generated from Wired Node 1 i.e., Source toWired Node 2 i.e., Destination with Packet Size remaining 1460Bytes and Inter Arrival Time remaining 20000µs. Transport Protocol is set to UDP.

  • Additionally, Set start time as 1 sec.
  • In order to set static routes to forward packets from Router 3 to the destination Wired Node via Router 5 instead of Router_4, such that the packets flow from Router 3=> Router 5=>Router 6=>Router4 =>Wired node 2 from a specified time say 25 seconds, the following input can be provided:
TIME= 25

DEVICE=Router_3

route ADD 11.5.1.2 MASK 255.255.255.0 11.2.1.2 metric 1 if 2

  • Create a text file with the above input and save it as input.txt file.

  • Enable packet trace and Open the Run tab and switch to run time simulation tab select the Interactive simulation using file.

Figure 3‑53: Run time Interaction tab with Interactive Simulation option set as True (Using File)

  • Browse the Saved input.txt file in file path and select Accept button.

Figure 3‑54: Run time Interaction tab with Interactive Simulation File Path set

  • Open the packet trace, you can observe that till 25 seconds the data > packets are transmitted from Wired Node 1=>Router 3=> Router > 4=> Wired Node 2.

Figure 3‑55: Data packets are transmitting from Wired Node 1=>Router 3=> Router 4=> Wired Node 2 in packet trace before $25^{th}$ seconds

  • After $25^{th}$ second you can observe that, the routing happens according to the command specified in the input file.

  • The data (APP 1 CBR) packets are transmitted from Wired Node 1=>Router 3=>Router 5=>Router 6=>Router 4=>Wired Node 2

Figure 3‑56: After 25th sec routing is initiating according to the command mentioned in input file

  • The same can be observed in Animation window.

Figure 3‑57: NetSim Animation window

  • From the above example we can see that until the specified time mentioned in the input text file, the network considers the path formed by the routing protocol i.e RIP. From $25^{th}$ Second onwardspackets are routed according to the modified path specified in interactive simulation input text file.