Sei sulla pagina 1di 37

Chapter 27.

Fluids

27.1 Introduction
This chapter discusses the concepts of fluids in QUEST. Each of the new fluid entities is described and the details of its
parameters discussed. An explanation of how these parameters may be used to model physical systems is provided.
It is assumed that the user is now familiar with the basics of the QUEST interface and with the concept of elements,
classes, parts, and logics. It is recommended that you read Chapter 2, Modelling Methodology before reading this chapter.

27.2 Fluid Modelling Paradigm


A fluid may be a liquid, vapor, or gas. Fluid flow is inherently continuous in nature. This is modelled in QUEST as
discrete flow rate changes.
The continuous flow of fluid is modelled similar to the discrete parts (material) movement through the system of
connected resources. In discrete part simulation, the basic dynamic entity is the part (or widget). This part is created,
stored, moved by material handling systems, processed at machines, and has a unique and individual identity. The similar
basic unit in fluid flow modelling is the fluid that is a collective unit and has no individual identity.
The continuous flow of fluid is modelled by identifying the discrete flow rate changes that happen at different resources.
Flow rate change can be observed when fluids are created, destroyed, produced and transferred. The fluid flow rate
between resources is the rate at which fluid is transferred at the in and out connections of resources. Basically, the flow
rate changes happening as a result of various activities (such as create, destroy, transfer, etc.) are the main inputs for the
fluid flow modelling.
The main input that is required for fluid modelling is the fluid flow rate between elements. Flow rate is defined as the
change in volume of fluid per unit time. This flow rate is assumed to be changing at discrete points in time and is assumed
to be steady, uniform and constant between changes. Similar to the flow rate, other parameters of fluid flow such as fluid
creation rate, production rate, and destroy rate are assumed to be constant and uniform between changes.

Basic Modelling Theme


The fluid flow modelling theme is designed to be consistent with discrete parts modelling. The fluid modelling concept is
covered within the familiar framework of the QUEST part modelling feature. The one-to-one correspondence is mostly
maintained in terms of modelling concepts, attributes, and behavior logics between the parts and fluids modelling.
In addition to fluids, features are provided for the combined discrete parts and fluid flow modelling. Combining fluids
with parts can be done at a new resource processor where the resulting output entity can be only fluids or only parts or the
combination of both.
The following table shows the similarities of entities and features between discrete parts and fluids flow modelling:

Discrete Parts Fluids


Part Class Fluid Class
Part Instance —
Source Fluid Source
Sink Fluid Sink
Buffer Tank
Conveyor Pipe
Machine Processor
Connections Fluid Connections
Cycle Process Fluid Process

Basic Modelling Steps


Similar to discrete part modelling, the basic steps involved in fluid modelling are briefly described below:

Fluid class creation. The fluid classes that flow through different resources are created first. The common attributes
which can be specified are name, color, and maximum flow rate.

Fluid resource creation. The fluid resource creation lays out the resources in the world and defines the different services
that those resources provide to the fluid flowing through them. The fluid resources that can be created are:
• Fluid source
This resource is used to create fluids with specified volumes at specified inter-arrival times.
• Tank
This resource is used to store the fluids. The capacity of the tank can be specified.
• Pipe
This resource is used to transport the fluids between other resources.
• Processor
This resource is used to process the fluid and apply specified cycle times. Different fluid processes can be
defined and associated to processors. After processing, either the original fluid can be passed or new fluids
can be produced.
• Fluid Sink
This resource terminates the fluid flow from the model.

Fluid Connections. The next step is to make the fluid connections that describe the fluid flow between resources. In
addition to connections, the fluid flow rate between resources can also be specified at each connection. Each connection
can be considered as an opening with a slot or a valve. These openings can be controlled in a manner that will restrict the
flow rate. The initial slot opening is specified as a proportional value between zero and one. If the slot opening is zero, the
valve is closed and no fluid will flow. If the slot opening is one, the fluid flow will be the maximum allowed through the
valve with specified flow rate. The slot opening value can be changed dynamically through SCL to model different flow
rates between resources.
Similar to part-based resources, the process logic and route logic describe the behavior of the fluid resources. The process
logic basically involves how much fluid to take into the resource and what type of fluid to accept. The passing of fluid
from the input side to the output side happens automatically (no PASS statement is needed). Each resource has a
minimum residence time that describes how much time the fluid must stay within the resource. After the fluid is accepted
into the resource, but before it is passed to the output side, the fluid is made to wait for the minimum residence time on the
input side. The route logic mainly deals with routing the fluid to the connected output resource based on restriction and
other routing parameters specified.
After above modelling steps are completed, the simulation can be run for the desired time and fluid related statistics can
be viewed. During simulation, the run can be halted and the current state can be viewed. Trace facilities are also provided
for fluid resources for model debugging.
27.3 Fluid Class Creation
The first step in modelling fluids is to create a fluid class. Fluid classes are similar to part classes that have common
attributes. Unlike parts however, they do not have a provision to use labor for routing. The common attributes used to
define the fluid classes are:
• Name: A character string describing the name of the fluid class.
• Color: The color for the fluid class used for animation in the fluid resources.
• Max flow rate: This is the maximum flow rate by which this fluid class can flow between resources. If the
flow rate between resources is allowed to be more than this maximum flow rate, the actual rate is restricted
by the ceiling value "P".
The option of saving the fluid class definition to a model file or in a separate class file is also supported, similar to part
classes. Also, user attributes can be assigned to fluid classes and accessed in SCL logics.
Using the Clone and Delete buttons, existing fluid classes can be cloned or deleted from the model.
The next step is to create and locate the elements that are to handle the fluids. A number of attributes may be defined for
each of the elements to control the flow and behavior of fluids in the model. Then, fluid connections are to be created to
indicate the amount and direction of permissible fluid flow. The Model | Fluid page exists to handle the creation and
modification of fluid entities. "Normal" elements such as machines, buffers, conveyors, AGVs, etc., are not permitted to
handle fluids. Previously specified special fluid elements must be created for this purpose.

27.4 Common Element Creation Topics


During the process of creating the elements described in this chapter, many common functions are used. This section
describes these functions.

Naming Conventions
When a new element class is created, QUEST automatically assigns unique names to the class and all the elements in that
class. The class name will be the type of element class followed by a number, e.g., "Fluid_Source1" is the first element
class of type "FLUID_SOURCE created using the default options. Users have the option of entering a custom class name.
The elements in that class will then be named with the class name followed by a number, e.g., Fluid_Source1_1,
Fluid_Source1_2, etc. The individual element names cannot be set when the element class is created. However, once
created the names can be modified by selecting Model | Build | Element | Modify.
If the name of an element class is modified at some stage after it has been created, then QUEST will present a dialog box
that provides the option of automatically renaming all the elements in that class whether the element names themselves
have been changed by the user or not.

Element Geometry
This function allows users to set the display parameters of the element such as geometry, color, stack axis, etc. Selecting
the Display button will present the Display dialog box shown below.
Color
This function is used to assign color data to the element class. Users select a color from a drop down list of the available
system colors.
NOTE: If the user created the part in the CAD world, then the color can be changed using this function
only if the part was created with the color "part" in the CAD world.

Fluid Point
The location of a fluid inside a fluid element is based on the fluid point of that element. Every fluid element display has a
predefined fluid point and the fluid will be animated at this point when there is some fluid in that element. There are
several functions for determining how fluids will be displayed in the element:
• No. Of Fluid Points: The number of fluid points on the element. Different fluids may be animated at
different fluid points, or all fluids may be animated at one fluid point. The default is a single fluid point for
an element.
• Current Fluid Point: This defines the current fluid point for the element. All changes made in the Fluid
Point Info button apply to the current fluid point. The value for the current fluid point should be a positive
integer number not greater than the number of fluid points defined in the "No. of Fluid Points" field.
Fluid points are similar to stack points for parts. Since fluid points are also part of way points, any way point action
buttons can also be used to manipulate fluid points.
The functions provided through the Model | Anim | Add Way Points title bar allows users to add more fluid points and
manipulate their position and orientation.

Animation Method
This field allows users to set the method to be used to visually represent the fluids in the current element. In general, the
amount of fluid in a resource can be depicted either as a number that keeps changing (using dynamic annotation) as fluid
flows through it or as a visual indication of scaling a simple cross-section object to a height representing the volume of
fluid.
The four options for the animation method are:
• None: No fluid animation will be seen.
• Fluid Point: Animates the fluid at the fluid points in the element without any annotation.
• Annotation: Provides a dynamic text visualization of the current contents of the fluids in the element. The
contents are shown as an absolute number in the current units and as a percentage of the capacity of the
element. Contents of each fluid in the element are shown and are changed dynamically as the simulation
runs.
• Both: Uses both fluid point and annotation for fluid animation. That is, the fluid will be seen visually and
will also be represented by dynamic annotation text.
NOTE: Setting the animation method to "None" will result in faster model runs.
Although the animation method may be set to "Fluid Point", users may not see any fluid in the
element. This happens if the "Max Fluid Quantity" or "Fluid Capacity" for that element is set to
a very large number. By reducing this value, fluid animation will be visible. This may also be
controlled by changing the scaling factor, explained below.
If the display for an element class is changed mid-run, then the annotation for the element class
will be reset back to the default value when the simulation run is continued.
When global animation is set to Off for the model, no animation will happen for the resource
based on this method.

Annotation SCL Expression


This is the value displayed for dynamic fluid annotation. This field is used only when the animation method is set to
"Annotation" or "Both". This may be any SCL expression, call to a routine, numeric values, or a string value. If no value
is specified, the default value of showing the element's contents by fluid class type is used. The SCL expression is
evaluated at run time. If a routine is being called, then that routine must already be compiled before it can be called here.
Only routines that return real, integer, or string variables may be called.

Fluid Info Dialog Box


This dialog box allows users to specify the location of each fluid class as a specific fluid point. This dialog box will be
activated only if the number of fluid points specified is greater than one.

Using the Fluid Info dialog box, different fluid classes can be animated at different fluid points. If more than one fluid is
specified for a fluid point, the amount of each fluid class is calculated and the cross section object is corresponding scaled
and staked one over the other.

Fluid Point Info


This button is used to specify the scaling factor and cross-section to be used for fluid animation within the selected
element. Fluid animation is achieved by scaling a specified cross-section at the specified fluid point by a factor called the
scaling factor.
• Scaling Factor: This is defined as the ratio of the height of the element (along the Z-axis) to its specified
maximum capacity. The default value for the scaling factor is — 1 and this indicates that the length is to be
computed internally as the maximum length of the bounding box of the element along the Z-axis. That is,
the height of the bounding box of the element and its maximum specified capacity will be used to compute
its scaling factor. If users wish to change the scaling factor, then they must compute the ratio required. This
may be useful if fluid animation is to be shown at locations that are different from the default. For example,
to show fluid animation in a level indicator outside the tank, the fluid point must be moved to that location
and the scaling factor set based on the height of the level indicator and the capacity of the tank. In this case,
the scaling factor would be:
Scaling factor = Height / Capacity
• Cross Section: This button is used to specify the cross-section to be used for animating the fluid in the
current element. Users are prompted to select any section file from SECTION$LIB directories.
NOTE: When creating custom cross-sections for fluids in the CAD world, set the length of the cross-
section along the axis of scaling to zero. For example, if the fluid is being scaled along the Z-
axis, then the height of the cross section should be zero for proper scaling.

No. of Labor Points


This function is used to set the number of labor points for an element. Labor points are similar to stack points except they
are used to set the location of laborers when present at an element.

3D File
This function is used to set the geometry for an element class. There are two alternatives:
• Default Geometry: The new processor will be represented by default geometry contained in a part file
named "Processor" in the library defined by the current value of DEFAULT$LIB. The system is shipped
with default geometry. Users may customize this as desired by renaming their CAD part to that of the
default geometry.
• Select from library: The user is prompted to select any part file from PART$LIB.

2D Icons
This button sets the 2D icon file for the selected element class. The 2D world is a schematic representation of the 3D
world. The 2D environment gives the flexibility to view run-time data in a dynamic way, which will be updated during a
simulation run. The model in the 2D world is an iconic representation of the 3D model. The charts and icons associated
with a particular element of the model represent that element. The following functions allow users to assign an icon to a
3D element that will then be used to represent that element when it is put into the 2D world with the Model | Build |
Element | Populate button:
• No. of Icons: The number of icons that are assigned to the element.
• Icon File: This button is to define the icon file.
• Icon Index: The icon index defines the geometry index for an icon. The index ranges from 1 to the number
of icons assigned earlier.
• File: Users can assign either the default geometry file from the DEFAULT$LIB or select a library file from
the ICON$LIB.
The 2D world is covered in more detail in Chapter 7, Model Output and 2D Modelling of this manual.
User Attributes
For description, refer Chapter 3, Section 3.2 Common Element Creation Functions, on page 10.

Saving Individual Elements


The Save In drop down box allows users to save the element to be created as either part of the model file or in an
independent file in ECLASS$LIB. This function is useful for saving element classes so that they may be reused in later
models, Not needing to redefine new element classes will thus save time. Saved classes can be recalled by using File |
Read Entity and selecting Element Class.

Displaying an Element’s Properties


The Properties button displays a summary of the current settings for the element class.

Labor Controller
The Labor Controller button allows the selection of the labor controller element that will be used to satisfy any labor
requirements that the specified fluid element class may have during its operation. The topic of QUEST labor is covered in
detail in Chapter 11, Labor of this manual.

Shifts
This button allows the user to assign shifts to the fluid element class. A daily or a weekly schedule may be associated with
the fluid element class using this button. This button may also be used to set the element class to have no shifts. If no daily
or weekly schedule has been defined in the model, then this button is grayed out and cannot be activated. Shifts are
covered in detail in Chapter 4, Logical Modelling Elements.

Failures
This button is used to add or remove failures to the fluid element class. It may also be used to show the failures currently
associated with the element class. If no failures have been defined in the model, this button is grayed out and cannot be
activated. Failures make it possible to model unscheduled down times such as breakdowns. They are covered in more
detail in Chapter 4, Logical Modelling Elements.

Fluid Routing
This button allows users to route the fluids from the fluid element class based on the restrictions set up in the Fixed
Routing Info dialog box. Selections within the Fixed Routing Info dialog box allow users to route fluids according to the
restrictions imposed on the flow of fluids through a particular output. If the option "Route" is selected then the fluid is
permitted to flow through that output. If the option is left blank, then the fluid will not be allowed to flow through the
specified output. This button is not available for fluid sinks.
NOTE: The Restrictions button will be grayed out if the number of output connections is less than two.
Fluid Minimum Residence Time
This is another attribute that is common to all the fluid resources. This minimum residence time specifies the minimum
time the fluid has to stay within this resource. When fluid is accepted into a resource, it stays in the input side of the
resource for the specified minimum residence time and is passed (automatically) to the output side for routing.
As the input flow rate to the resource changes over time, the corresponding pass flow rate changes and after the specified
scheduled minimum residence the fluid will be passed automatically (without any PASS statement from SCL logic). The
minimum residence time is specified in the current model time units and the default value is zero.

27.5 Basic Fluid Elements


Fluid Sources
Fluids are modelled in QUEST as the entities that flow through the system, occupying resources and undergoing
processing. Fluid classes may be used to represent liquids or gases or even high volume parts. However, no matter what
fluids may represent in a model, it is necessary to have some way of creating them. This is most commonly and easily
done using one or more fluid sources.
The major difference between regular sources and fluid sources is that the fluid source may only produce fluid classes
while regular sources may only create parts. A fluid source represents the point-of entry for fluids in a model. While this
may seem like a simple enough concepts, sources are actually very flexible elements that offer a wide range of options.
The characteristics of source may be modified by selecting Model | Fluid | Fluid Element Class | Fluid Source. The
Fluid_Source dialog box is used for creating and modifying the characteristics of a source.

Fluid_Source Dialog Box Parameters


Max. Fluid Quantity
This field sets the maximum quantity of fluid that the fluid source can produce during a single run of the model after
which it ceases fluid creation. The large default value of 10,000,000 effectively means that the source has infinite capacity
to produce fluids since it is unlikely that any real model will be called upon to create this amount of fluid.

Lotsize Mode
This field is used to set the mode of fluid creation in the fluid source. This mode may be set to:
• Flow Rate: When the lotsize mode is set to flow rate, fluid is produced at the rate specified as the lotsize,
for the duration specified as the IAT (Inter Arrival Time). For example: If the lotsize is 50cc and the IAT is
10 seconds, then fluid is created at the rate of 50cc/s for 10s. At the end of seconds, then fluid is created at
the rate of 50cc/s for 10s. At the end of 10s, the above process repeats.
• Quantity: With the lotsize mode set to quantity, the value specified as the lotsize is the quantity of fluid that
is created instantaneously at the sampled IAT. For example: If the lotsize is set to 50cc and the IAT is 10
seconds, then after every 10 seconds 50cc of the specified fluid is created.

Start Offset
This field is used to set a time delay on commencement of the source's fluid creation. The default value of zero means that
the source will start fluid creation the moment the model starts to run. If, on the other hand, a non-zero start offset time is
specified, then the fluid production from that source will not commence until the specified time after the start of the model
run.

Fluid Initial
This field is used to set the quantity of fluid for the specified fluid classes that are already present in the source when the
model run begins. This button will not be enabled if there are no fluid classes defined in the model. The default value is
zero for all fluid classes. This parameter thus sets the initial conditions of fluid classes in a fluid source. When the Initial
Stock button is selected, the Fluid Initial Stock dialog box appears, similar to that shown below.

NOTE: The fluids created as initial stock of an element will automatically be placed on the output side
of that element and will be ready for routing for route logic of that element class

Fluid Min Residence Time


This is the minimum time that every fluid created in the source must stay in the source before it can be available for
routing. The default value is zero, which means that the fluids being created are immediately available for routing and are
not required to wait in the fluid source after creation.
NOTE: The minimum residence time is the time taken to transfer the fluid from the in parts list to the out
parts list of the element. Hence, the time specified in this field will not be applicable to the fluid
specified as the initial stock.

IAT
Inter Arrival Time or IAT sets the time between fluid creations at the specified fluid source. The distribution specified in
the IAT is sampled during the simulation to schedule the creation of fluids at the fluid source. The default is a constant
value of 1 second. The amount of fluid created at the sampled IAT is determined by the lotsize mode and lotsize quantity
of the fluid source
Selection of the IAT button brings up the Distributions dialog box, as shown below.
The Distributions dialog box allows two distinct types of arrival patterns — deterministic, using the Constant or File-
based options, or stochastic (random) using a probability distribution from the list. In addition, users can write an SCL
routine that returns the inter-arrival time using the "User Func" option.
When a File Based inter-arrival time is chosen, users are prompted to supply the name of the file containing the inter-
arrival time data that must be located in the SCHEDULE$LIB directory. The format of the file is:
Fluid_Class_name Time_of_creation Lotsize_Mode Lotsize_value
• Fluid_Class_name: The name of the fluid class to be created.
• Time_of_creation: The time when the fluid is to be created. This time can be either a relative value or
absolute value. This option of using a relative or absolute value can be specified at the beginning of the file
based on that the values are interpreted. If the value is relative and the value 10 is specified, the creation
time will be 10 seconds after the current simulation clock. If the value is absolute, the value used represents
the actual time when the fluid is to be created. when the fluid is to be created.
• Lotsize_Mode: This can be either "Quantity" or "Flow rate". If the mode is "Quantity", the amount of the
specified Lotsize_value" in the fourth column will be created instantaneously. If the mode is "Flow rate",
the specified Lotsize_value in the fourth column is the flow rate and fluid is created at that flow rate.
• The last line of the file may also contain the identifier "repeat" if it is desired to start sampling from the top
of the file again. If the file does not contain the repeat identifier and the end of the file is reached during the
simulation run, then a simulation interrupt occurs.
In this way a model can be run using data from the real world either to improve the accuracy of the simulation or perhaps
as part of the model validation process.
NOTE: The default logic used for the IAT — File Based option is found in the file pr_file.scl.src located
in the
../QUESTlib/SYSDEF/LOGICS directory.

Lotsize
This button sets the amount of fluid created at one time. The default is 1 unit. That is, one unit of fluid is created at each
sampled IAT. Depending on the lotsize mode, the lotsize may be either in terms of quantity or flow rate. Selecting this
button displays the Distributions dialog box.
The Distributions dialog box allows two distinct types of arrival patterns — deterministic, using the Constant or File-
based options, or stochastic (random) using a probability distribution from the list. In addition, users can write an SCL
routine that returns the inter-arrival time using the "User Func" option.
When a file-based lotsize is chosen, users are prompted to supply the name of the file containing the lotsize data which
must be in a SCHEDULE$LIB directory. In this way a model can be run using data from the real world either to improve
the accuracy of the simulation or perhaps as part of the model validation process.
NOTE: The default logic used for the IAT — File Based option is found in the file distrib.scl.src located
in the
../QUESTlib/SYSDEF/LOGICS directory.

Fluid Fractions
This button sets the proportions of each fluid class that the source will create. The IAT button governs the frequency of
fluid production while the Fluid Fractions button governs the proportions of fluids created during the simulation run.
When the fluid source creates a fluid, it chooses the new fluid class at random based on probabilities determined from the
specified part fractions, and independent of the proportions of any initial stock in the source. Thus, if a model with n
different fluid classes have a source with part fractions F1, F2, F3, ..Fi..Fn then the expected proportion of fluids of type j
will be:
Fj
n
∑F i

i =1

Fluid classes with a proportion of zero will never be created.


NOTE: Fluid fractions are generated by sampling random stream 1. Users cannot change this default
stream number.

Fluid Source Logics


• Init logic: This specifies a user-defined SCL procedure that will be run at the very start of the simulation
run. It is generally used to set up any initialization data that may be needed by other user-defined logics.
The init logic is treated as a special case of the process logic that runs only once. Thus, any SCL statement
that is valid in the process logic is also valid in the init logic.
NOTE: This init logic is different from the model init logic under the Advanced | Popup | Model Logic |
Init button in that the model init logic may not contain any time-taking statements such as
"Work" or "Delay".

• Process Logic: This logic is responsible for the creation of fluids using the parameters set in the fluid
source. This process logic may be specified as one of two options:
— Default Fluid Source Logic: When chosen, this logic causes the fluid source to behave as defined by
all of its parameter settings discussed above. Fluids will be created based on the IAT, fluid fractions,
lotsize mode, lotsize, max fluid quantity and min fluid residence time defined through the user
interface.
— User Func: This allows the specification of an external, user-written SCL procedure to control the
fluid source behavior. This may or may not make use of any of the data entered in the various
parameter fields for the source such as inter-arrival times, lot size and fluid proportions.
NOTE: In many cases the options specified in the process logic may override any options set through the
user interface.

• Route Logic: This logic controls the destination of fluids that flow out of the fluid source. In QUEST, for a
fluid to get transferred from one element to another, two conditions must be satisfied:
— The sending element must be ready to route the fluid.
— The receiving element must be free and willing to receive the specified fluid.
Routing is thus accomplished by a "handshake" between elements. For fluid sources there are two
options for the route logic:
o Default fluid route: This is the default logic to route fluids from the source to its destination elements.
o User func: Allows users to select their own SCL file to control the routing of parts.
• Route Logic Busy Interrupt: The default route logic routes the fluid without taking any time. Basically route
logic controls which fluid flows through which output connection at what flow rate. The decision is
expected to be made within the same simulation clock time (no time taking is involved). In a user-written
route logic, if a decision has to be made to wait for some time to route the fluid, then a route logic busy
interrupt is used by the system to make the routing decision. The default behavior of the interrupt is same as
the default route logic.
A route logic "busy interrupt" is a user-defined interrupt, created by the system and associated to fluid
resource classes. This user interrupt is executed only when a flow rate change event happens and the user-
written route logic is blocked (due to time taking or a wait condition).

Tanks
Tanks are used to represent the locations where fluids are stored. They are analogous to the buffers that are used with
parts.

Tank Dialog Box Parameters


A new tank may be created or an existing one modified by selecting Model | Fluid | Fluid Element Class | Tank. When
the Tank button is selected, the Select a Tank class dialog box appears. Users may select an existing tank class by name
or "New". "New" will create a new tank class.

Fluid Capacity Type


This defines the maximum quantity of fluids that the tank can hold at any point in the simulation run. In general, the tank
is permitted to hold a lesser quantity of fluids than its capacity, but it can never hold more. Available options are:
• Infinite: Capacity is set to infinity. This is the default option.
• Volume: Capacity is a finite quantity of fluid, the volume being specified in the dialog box that appears
when the Fluid Capacity button is pressed.

Fluid Capacity
This button allows the specification of the numerical values required to determine the tank's maximum fluid quantity.

Fluid Initial Stock


This button sets the quantity of fluid for the specified fluid classes that are already present in the tank when the model run
begins. The default value is zero for all fluid classes. This parameter sets the initial conditions of fluid classes in a tank.
NOTE: The fluids created as initial stock of an element will automatically be placed on the out part list
of that element and will not undergo the process logic of that element class. This button will be
grayed out if there are no fluid classes defined in the model.

Fluid Min Residence Time


This is the minimum time that every fluid flowing into the tank must stay in the tank before it can be available for routing.
The default value is zero, which means that the fluids that enter the tank are immediately available for routing and are not
required to wait in the tank.
NOTE: The minimum residence time is the time taken to pass the fluid from the input side to the output
side of the element. Hence, the time specified in this field will not be applicable to the fluid
specified as the initial stock.

Tank Logics
The Logics button allows users to control the behavior of a tank by changing the rules by which the tank operates. This
may involve selecting from one of the available standard behaviors or specifying a user-defined function, written in SCL
that performs the required operations. The Logics options for a tank are described below:

Initialization Logic
Init logic (initialization logic) can be used to describe the behavior of the tank at the start of the simulation. In general, all
the elements are started empty and in the idle state. If different initial behavior is required, it can be achieved using
initialization logic. Initialization logic is executed one time only at the start of the simulation run. All the SCL statements
that can be used in the process logic can be used in the initialization logic of the element class.

Process Logic
This controls the behavior of the fluid in the tank. Process logic may be specified as one of two options:
• Default Tank Logic: When chosen, this logic causes the tank to accept any fluid through any input
connection of the tank until the tank is filled to the specified capacity. Once filled to capacity, it maintains
that level of fluid in the tank.
• User Func: This option allows the specification of an external, user-written SCL procedure to control the
behavior of the tank.

Route Logic
This button allows users to set logics governing the routing of fluids from the tank. There are two options for the route
logic:
• Default Fluid Route: This is the default logic to route fluids from the source to its destination elements.
• User Func: This option allows users to select their own SCL file to control the routing of fluids.

Processors
Processors are the special resources that can handle both discrete parts and fluids. Fluid processors in QUEST are used to
represent the resources in a system that is responsible for processing or carrying out work on fluids. Processors are used to
perform processes on fluids. Unlike machines, processors can perform processes that may involve both parts and fluid
classes. To handle both parts and fluids, a processor has (regular) part connections as well as fluid connections.

Processor Dialog Box Parameters


The characteristics of a processor may be modified by selecting Model | Fluid | Fluid Element Class | Processor. When
the Processor button is selected, the Processor dialog box appears. The Processor dialog box allows the selection of an
existing processor class by name or "New" which allows the creation of a new processor class. If "New" is selected and
the simulation has been run for any length of time, a dialog box will appear prompting for confirmation that the simulation
run is to be terminated. After creation of a new processor class it is necessary to start the simulation run from time zero.

Number Of Processes. Processors are capable of performing more than one process, although not simultaneously. Using
the No. of Processes button, users can set the total number of cycle processes associated with the processor class. A cycle
process defines a set of requirements (such as parts, fluids, labor, AGV), a cycle time, and a set of products (such as parts,
fluids).
Fluid Capacity Type. This field defines the maximum quantity of fluids that the processor can hold at any point in the
simulation run. The processor is permitted to hold a lesser quantity of fluids than its capacity, but it can never hold more.
The available options are:
• Infinite: The capacity is set to infinity. This is the default option.
• Volume: Since capacity is a finite quantity of fluid, the volume is specified in the dialog box that appears
when the Capacity button is pressed.

Capacity. This button allows the specification of the numerical values required to determine the processor's maximum
fluid quantity. Since capacity is a finite quantity of fluid, the volume is specified in the dialog box that appears when the
Capacity button is pressed.

Fluid Min Residence Time. This is the minimum time that every fluid flowing into the processor must stay in the
processor before it can be available for routing. The default value is zero. This means that the fluids that enter the
processor are immediately available for routing and are not required to wait in the processor.
NOTE: The minimum residence time is the time taken to transfer the fluid from the in parts list to the out
parts list of the element. Hence, the time specified in this field will not be applicable to the fluid
specified as the initial stock.

Fluid Initial Stock. This field sets the quantity of fluid for the specified fluid classes that are already present in the
processor when the model run begins. The default value is zero for all fluid classes. This parameter thus sets the initial
conditions of fluid classes in a processor.
NOTE: The fluids created as initial stock of an element will automatically be placed on the out part list
of that element and will not undergo the process logic of that element class.
This button will be grayed out if there are no fluid classes defined in the model.

Process Percentage. This button is used to set the percentage for the various processes assigned to the processor class.
These percentages may be sampled in a user-defined process logic for the processor.

Unload Process. This button allows the assignment of an unload process to the processor. The unload process is executed
When this is selected, you are prompted to choose from the following:
• None: No unload process is to be set for the processor.
• Time Only: Time distribution of the load/unload process is to be entered.
• New Process: A new load/unload process is defined and set, or an existing load/unload process is to be
assigned to the processor.
The unload process is applicable only when discrete parts are produced by the processor. The route logic of the processor
is meant for routing the parts which uses the unload process. If the processor does only fluid cycle process, this unload
process is not applied.

Cycle Process. Using this button, fluid cycle processes may be defined and assigned to the processor class. Users are
prompted to choose from the following options:
• None: This option sets no cycle process to the processor.
• Default_Fluid_Cycle: This option sets the cycle process to the default cycle process.
• New Process: This option defines and sets a new fluid cycle process to the processor.
• Current Process Details: This option displays a dialog box with the current process settings.
Refer to the section on fluid cycle process for a detailed explanation of the fluid cycle process.
NOTE: Cycle processes may also be defined through the Model | Process menu item.

Setup Process. Setup process can be assigned between any two-cycle processes. Users are prompted to select the "from
cycle process" and the "to cycle process" from the list of processes associated with the processor, and assign a setup
process between the two selected cycle processes. If the processor has only one cycle process, the "from cycle process"
and "to cycle process" are selected by default as the one cycle process. The setup process options are:
• None: This option sets no setup process to the processor.
• Time only: This option prompts the user to enter the time distribution of the setup process.
• New process: This option defines and sets a new setup process to the processor.

Processor Logics. The Logics button allows users to control the behavior of the processor by changing the rules by which
it operates. This may involve selecting from one of the available standard behaviors or specifying a user-defined function,
written in SCL that performs the required operations.

The Logics options for a processor are described below:


• Init Logic: Init logic (initialization logic) can be used to describe the behavior of the processor at the start of
the simulation. In general, all the elements are started empty and in the idle state. If different initial
behavior is required, it can be achieved using the Init Logic button. Initialization logic is executed one time
only at the start of the simulation run. All the SCL statements that can be used in the process logic can be
used in the initialization logic of the element class.
• Process Logic: This logic controls the behavior of the fluid in the processor. The process logic options are:
— Default Processor Logic: When chosen, this logic causes the processor to carry out all the cycle
processes associated with the processor in a cyclic method, starting with the first process.
— Percentage Process: Choosing this option will, based on a percentage-based method, execute different
fluid cycle processes associated to the processor. Using the Process Percentage button at the
processor class level, different percentages for processes can be assigned.
— Sequence process: In this option, the predefined execution order of multiple processes assigned to the
processor can be specified. The sequence in which the processes are to be executed is specified in an
ASCII file. This file is stored in the SCHEDULE$LIB. The file selection popup will appear after
selecting this option.
— User Func: This option allows the specification of an external, user-written SCL procedure to control
the behavior of the processor.
• Route Logic: This button allows users to set logics governing the routing of parts from the processor. Part
routing may be performed based on any one of the available supported logics. For further information on
the various types of route logics, refer to Chapter 3, Basic Elements.
• Route Logic Busy Interrupt: This button allows users to set logics governing the routing of fluids from the
processor. This popup is attached to the processor. For more information, refer to the section on popups in
Chapter 14, Advanced SCL. There are three selections for this popup:
— Default Fluid Route: This is the default logic to route fluids from the source to its destination
elements.
— None: This option specifies that there will be no fluid routing logic. This may cause a run time
interrupt.
— User Func: Allows users to select your own SCL file to control the routing of fluids.
• Part Input Logic: This button allows definition of the rules governing the input of parts into the processor.
These parts would be used as requirements for the cycle process. The alternatives are:
— First Free — The inputs of the element are evaluated starting at input one. The part is input from the
first element that is able to supply the part.
— Cyclic — This option inputs parts in a cyclic fashion based on the element's input connections.
— User Func — Allows you to select their own SCL file to control the input of parts.

Fluid Sink
The primary purpose of a fluid sink is to destroy fluids, therefore, it has inputs but no outputs. Once the fluid has
completed its processing in the model, it is removed from the model through the fluid sink. By removing the unwanted
fluids from the model, the speed of the model run may be increased. It should be noted that although the fluids are
destroyed in the sink, all the statistics relating to these fluids are maintained by QUEST and may be accessed at any time
during or after the simulation run.
The characteristics of a fluid sink may be modified by selecting Model | Fluid | Fluid Element Class | Fluid Sink. When
the Fluid Sink button is selected, a dialog box appears that allows the selection of an existing sink class by name, or
"New" which allows the creation of a new sink class. If "New" is selected and the simulation has been run for any length
of time, a dialog box will appear prompting for confirmation that the simulation run is to be terminated. After creating a
new sink class, it is necessary to start the simulation run from time zero.
• Fluid Min Residence Time: This is the minimum time that every fluid that arrives in the sink must stay in
the sink before it can be destroyed. The default value is zero, which means that the fluids are destroyed
immediately upon arrival.

Fluid Sink Logics


Logics
Clicking on the Logics button allows users to set the following logics for the sink:
• Init Logic: Init logic (initialization logic) can be used to describe the behavior of the tank at the start of the
simulation. In general, all the elements are started empty and in the idle state. If different initial behavior is
required, it can be achieved using initialization logic. Initialization logic is executed one time only at the
start of the simulation run. All the SCL statements that can be used in the process logic can be used in the
initialization logic of the element class.
• Process Logic: This controls the behavior of the fluid in the fluid sink. This process logic may be specified
as one of two options:
— Default Fluid Sink Logic: When chosen, this logic causes the fluid sink to continually accept and
destroy fluids.
— User Func: This option allows the specification of an external, user-written SCL procedure to control
the behavior of the sink. This may be used to check user attribute values or set reporting before the
fluid is destroyed.

Pipe
The fluid pipe is an element that may be used to transport fluids between elements. Pipes thus act as an intermediate
element between two other fluid element classes. Pipes for fluids are analogous to conveyors for normal parts. Normal
pipes are similar to the library conveyors where an existing geometry is used to represent the element. Extruded pipes are
similar to extruded conveyors where a cross section is extruded along a desired direction. It is not necessary to have pipes
for moving fluids between element classes. They are provided to add modelling flexibility.
The following descriptions are common to both types of pipes.
Fluid Capacity Type
This defines the maximum quantity of fluids that the pipe can hold at any point in the simulation run. The pipe is
permitted to hold a lesser quantity of fluids than its capacity, but it can never hold more. Available options are:
• Infinite: The capacity is set to infinity. This is the default option.
• Volume: The capacity is a finite quantity of fluid, the volume being specified in the dialog box that appears
when the Fluid Capacity button is pressed.

Fluid Capacity
This button allows the specification of the numerical values required to determine the pipe's maximum fluid quantity.

Flow Time Method


This defines the flow time mode for fluids in the pipe. Flow time for a pipe is defined as the time it takes for a fluid to be
available at the output side of the pipe after entering the pipe through any of its input connections. In other words, it is the
time it takes for a fluid to flow through the pipe. The flow time method may be set to any one of the following:
• Fixed: This sets a constant value for the flow time for each fluid that enters the pipe. It is the default setting
with a flow time of zero seconds.
• Flow Speed: With this setting, the flow time of each fluid is based on the fluid flow speed of the fluid in the
pipe.
• Flow Volume: With this setting, the fluid flow time in the pipe is based on the fluid volume per unit length
of the pipe.
Flow Time Info
This button sets the actual pipe flow time values for the different fluid classes in the model. The dialog box that appears
when this button is clicked depends on which Flow Time Method was chosen. If the Flow Time Method was set to
"Fixed" or "Flow Speed", then a Flow Time Information dialog box similar to the one shown below would appear.

For every fluid class defined in the model, one row is created in the Flow Time Information dialog box. The last row,
"Any", is used to set the default flow time/speed value that may be used by any or all fluid classes in the model. The
dialog box columns are described below.
• Mode: This field sets up the mode for specifying the flow time (if the Flow Time Method was set to
"Fixed") or flow speed (if the Flow Time Method was set to "Flow Speed"). The various possible settings
for this option are described below:
— From Any: This mode specifies that the flow time (or flow speed) should be taken from the value
specified in the row "Any".
— Specify: This mode allows the specification of a specific flow time or flow speed for the current fluid
class. This flow time or flow speed may be specified under the "Flow Time" or "Flow Speed" column.
• Flow Time/Flow Speed: This field is set to Flow Time if the Flow Time Method (described above) was set
to "Fixed". If the Flow Time Method was set to "Flow Speed", this column would be set to Flow Speed.
The values specified in this field will be used to determine the time it takes for the fluid to flow through the
pipe.
If the Flow Time Method was set to "Flow Volume", a Volume per Unit Length dialog box similar to the
one shown below would appear. The value entered in this field will be used to determine the fluid flow
volume per unit length of the pipe. The length units used here will always be millimeters regardless of the
current unit settings in the model.

Pipe Logics
The Logics button allows users to control the behavior of the pipe by changing the rules by which it operates. This may
involve selecting from one of the available standard behaviors or specifying a user-defined function, written in SCL that
performs the required operations.
The Logics options for a pipe are described below:

Init Logic
Init logic (initialization logic) can be used to describe the behavior of the pipe at the start of the simulation. In general, all
the elements are started empty and in the idle state. If different initial behavior is required, it can be achieved using the
Init Logic button. This initialization logic is executed one time only at the start of the simulation run. All the SCL
statements that can be used in the process logic can be used in the initialization logic of the element class.

Process Logic
This controls the behavior of the fluid in the pipe. This process logic may be specified with one of two options:
• Default Pipe Logic: When chosen, this logic causes the pipe to continuously accept fluid flow from any
input until its specified capacity is reached.
• User Func: This option allows the specification of an external, user-written SCL procedure to control the
behavior of the pipe.

Route Logic
This logic controls the destination of fluids that flow out of the fluid source. It also selects the fluid that is to be routed and
the rate at which it must flow. By default, this is not a time-taking logic.
• Default Fluid Route: This is the default logic to route fluids from the pipe to the destination elements.
• User Func: This option allows users to select their own SCL file to control the routing of parts.

Route Logic Busy Interrupt


This is a user-defined interrupt popup attached to the pipe (See Chapter 14: Advanced SCL - Popups, for more
information on popups) to route fluids from the pipe. The default route logic routes fluid from the pipe without taking any
time. That is, it continuously routes fluids. However, if some decision is to be made before the fluid is routed, or a delay is
to be introduced before routing the fluid, this may be accomplished in the Route Logic Busy Interrupt button. The
default behavior of this logic is the same as the fluid route logic. There are two options for this popup:
• Default Fluid Route: This is the default logic to route fluids from the source to the destination elements.
• None: This option specifies no fluid routing logic. Choosing this option may cause a run time interrupt.
• User Func: This option allows users to select their own SCL file to control the routing of fluids.

Fluid Cycle Process


The fluid cycle process is the key process executed on a fluid processor. It defines the various process requirements, the
time required to do the process, and the products produced as a result of the process. The requirements could be parts,
fluids, AGVs, or labor.
In a generic fluid process, while the fluid is flowing in (as part of the requirement) some processing can happen (applying
cycle time) and also new fluids can be produced.
The main three phases involved are the:
• Acceptance Phase
• Cycle Phase
• Production Phase
In a typical part-based process, these phases happen one after another. For example, the requirement phase will wait for
the requirements to arrive. After that, the cycle time is applied and at last the products are produced instantaneously. In
fluid process, these three phases can overlap with each other (they are not mutually exclusive). While fluid is flowing in
for acceptance, the cycle time can also be applied to some fluid and the production phase can also start. Hence, modelling
for the fluid process can be more challenging than modelling for the part-based cycle process, especially when modelling
the overlap of the three phases. Each phase has a starting and ending condition, with several built-in options, and the
overlap of these phases can be defined with options without any need for the user to resort to SCL programming.
Part cycle processes and fluid cycle processes can both be created and associated to the processor. Fluid cycle processes
may be created by selecting Model | Fluid | Fluid Element Class | Processor and then selecting "New Process" after
clicking on the Cycle Process button. They may also be created by selecting Model | Process | Process | Fluid Cycle
Process and then selecting "New".
The Cycle Process Definition dialog box is presented as shown below.
Name
This is the name of the process. QUEST will automatically assign the name based on the number of processes created so
far. Users can change this name while creating the process or at any later time.

Priority
This field is used to assign a priority value to the fluid process.

Save In
This option allows users to save the fluid process in either the model file, or an independent file. Generally, processes will
be applicable only to the current model and should be saved in the model file.
If the process is generic and applicable to other QUEST models, the process can be saved in an independent file. The
process will be stored in one of the appended PROCESS$LIBs. If no PROCESS$LIB is appended, users should use the
File | Make Library function to create or modify the library configuration file to include processes.

Requirements — Order
Users can choose a sequence for claiming labor, parts, and AGVs. There are two options:
• Mode: This determines the way in which an individual resource, i.e., part, labor, or AGV, is claimed by a
process. If the option "As Avail" is chosen then the resource is claimed the moment it becomes available.
The option "All" forces the process to wait until all of the required resources are available before claiming
them.
• Sequence: — This determines the order in which the process claims different resources that are required for
that process. By default, parts are claimed first, then labor, and lastly AGVs; based on requirements. There
is no sequence for the fluids.
Following are implications of the potential combinations:
• If the order is set with the part sequence as "First" then the process will not reserve an AGV or a labor
element until the required parts have been found.
• If the part sequence is as above, but the mode is set to "All", then before any part is claimed for the process
it will be necessary for all the parts to be available to the process. You should take care in using this
function, as there are a number of conflicts that can arise that may tend to block the model.
• If the order is set with the Labor Sequence as "First" then the process will only begin to reserve parts once
the required labor element is available to the process.

Requirements — Parts
The part requirements for the process are set in the Claim dialog box shown below. The requirement can be set to Any
Part and/or a combination of the parts specified in the model. Valid values may be zero or any positive integer.
If you specify one of "Any Part" and one of "Part1", the process will not be able to begin until there is at least one of Part1
available and one of any other type of part. Input refers to the input connection to the element, through which the part
must be obtained. If you specify "0" then the part can come through any input to the machine. In the Parts Requirement
dialog box shown the process requires one of Part1 through Input 1, and one of Part2 through any input.
The default is "Any Part" with Quantity set to one and Input specified as zero.

Requirements — Fluids
This button permits you to set the fluid requirement for the process. A Fluids Acceptance End dialog box similar to the
one shown below appears when this button is clicked.
For every fluid class defined in the model, one row is defined in the Fluids Acceptance End dialog box. There is one
additional row to define the conditions for any remaining fluid in the element. The various columns are described below.

Mode. When the process is started, the fluid acceptance phase is started (the process start defines the starting condition of
the acceptance phase). This field defines the end of the fluid acceptance phase. By default, no condition is set for this field
for all the fluid classes. The various possible settings for the mode are described below:
• Level Reached in % — With this mode setting, the fluid is accepted until the fluid flow reaches the
specified percentage of processor capacity. For example, if this value is set as 50%, then fluid will be
permitted to flow into the processor until the volume of that fluid reaches 50% of the processor capacity.
The percentage is specified under the "%" column.
• Level Reached in Qty — With this mode setting, the fluid is accepted until the fluid flow reaches the
specified quantity of processor capacity. The quantity of fluid to be accepted is specified under the
"Quantity" column.
• Level Maintain in % — With this setting, the fluid is accepted until the fluid flow reaches the specified
percentage of the processor capacity. After the specified level is reached, the fluid flow continues to
maintain the same level. This is used when fluid is produced and is getting routed out of the resource. Based
on the outflow rate, the in-flow rate is adjusted to maintain the specified level.
• Level Maintain in Qty — With this setting, the fluid is accepted until it reaches the specified quantity of the
processor capacity. Then, the acceptance is adjusted so that this level is maintained as described above in
the Level Maintain in %.
• When Inflow Stops — With this setting, fluid is accepted until no more fluid flows into the processor.
When the connected input resource stops sending the fluid and the moment the in-flow rate becomes zero,
acceptance phase is ended.
• Fixed Inflow Qty — Here, the specified fixed quantity of the fluid is accepted The quantity is specified in
the Qty column. This quantity specifies the new or additional value required in addition to whatever already
exists in the resource. If the processor already has 50cc of Fluid1, and this mode is specified with quantity
set to 25cc. An additional 25cc of Fluid1 is accepted to indicate end of the acceptance phase.
• Time Only — Here, fluid will be accepted for the specified time only. The time is specified in the Time
column.
• When Cycle Stops — In this case, the fluid will be accepted until the end of the current fluid cycle phase.
This option defines the acceptance end in terms of cycle phase end condition. There may be modelling
situation where, the acceptance end condition can not be directly specifiable. At that situation, if the cycle
phase end condition is properly defined, the same can be used for acceptance end also.
• No Acceptance — With this setting, the specified fluid will not be accepted.
• "—" — This setting implies that no condition has been set for the specified fluid. However, this fluid may
be accepted as part of the Remaining fluid.

Consider. This setting determines whether the fluid is to be considered as part of the "remaining" fluid. If yes, then the
fluid will be accepted till the condition for the remaining fluid is satisfied (even after the specific condition for the fluid is
satisfied). If the mode for the fluid has been set to "No Acceptance", then it cannot be considered for the remaining fluid.
For example, consider there are three Fluids F1, F2 and F3. F1 and F2 may have specific acceptance condition — 30% of
F1 and 30% of F2. For the remaining 40% of the capacity, either F3 or F1 can be considered but not F2. In that case F1
and F3 will be set to Consider "Yes" and F2 will be set to "No".

Requirements — Labor
On selecting the Labor function, you can define the labor requirement for the process. The requirement can be set to any
available labor unit from any labor class or for a labor unit of a specific labor class. The Labor Requirements dialog box
below shows a process requirement of two laborers of any class, and one that must be from the class Labor1. If you wish
to assign a laborer of a specific labor class then that class must already exist.
If the requirement is set to be more than the number of labor elements available in the labor class, then a warning message
is issued stating that the element class does not have sufficient labor elements. The allocation will be refused.
The Decision (Dec) Point Index in the dialog box defines two ways that labor can be managed as a requirement for a
process. These are described below:
• Labor Without a Labor Path System — When the Dec Point Index is set to 0 (zero) and the process is
executed during the simulation run, the required labor units will move directly to the element once they
become free from their previous task. This is the simplest method and will generally be used unless there is
a need for the laborer to move along a specific pre-defined path or carry parts, again along a specific pre-
defined path. In this mode the labor elements will either move along the shortest path between the elements
or it will beam directly between the two. This is discussed in detail in Chapter 11, Labor.
• Labor Using a Labor Path System — The alternative method of managing the movement of a labor element
to a process is for the labor element to be on a Labor Path System. In this case, the element executing the
process is connected via one or more decision points to that labor path system. You can specify the
element-input number (linked to the decision point), at which the labor element is required. The required
input is entered into the dec point index field.

Requirements — AGV
You can define a requirement for one or more AGVs (Automated Guided Vehicles) for the process using this option. The
requirement can be set for Any AGV or from a specific AGV class. The AGV Required field is a yes/no field. This is
because only one AGV element can move to a decision point at any given time. If more than one AGV was allowed, the
process would always be blocked waiting for an AGV, which in turn is blocked from arriving at the requisite decision
point thereby leading to a gridlock. If the dec point index is set at two (or above), there must be more than one input from
the element connecting to a decision point on the AGV path.

Cycle Phase — Fluid Cycle Phase. This button allows you to set the general parameters governing the start and end
conditions of the cycle phase as shown in. The different parameters that may be defined for the cycle phase are described
below.

Cycle Start Condition. This setting determines the conditions for starting the cycle phase of the processor. This option
provides a more comprehensive way of defining the cycle start condition for each fluid class. This condition may be set to
any of the following parameters:
• End of Acceptance Phase — In this case, the cycle process will start at the end of the fluid acceptance phase
provided all the other (non-fluid) requirements such as parts, labor and AGV are satisfied.
• Condition per Fluid Class — In this case, the cycle start is based on the conditions set for each fluid class.
The specification of these conditions are similar to that for the fluid acceptance phase such as Level
Reached in % or Level reached in Qty.

Cycle End Condition. This setting determines the conditions for ending the cycle phase at the fluid processor. The cycle
end condition depends on the cycle start condition. Once the cycle start conditions are met, the cycle end conditions
related events are scheduled. The cycle phase end condition can be set to any of the following parameters:
• After Cycle Phase Starts — In this case, the cycle time starts at the beginning of the cycle phase and the
cycle phase will be completed at the end of the sample cycle time. Basically cycle end time is cycle start
time + the sampled cycle time.
• End of Acceptance Phase — Here, the cycle will end after the fluid acceptance ends and the sampled cycle
time is completed.
• Condition per Fluid Class — In this case, the cycle end is based on the conditions set for each fluid class.
The specification of these conditions are similar to that for the fluid acceptance phase.

Additional Delay for Start. An optional additional delay time for the start of the cycle process may be defined here. This
delay time will be applied after the cycle start conditions are satisfied to really start the cycle phase. This can be
considered as some kind of delta time representing some specific fluid processing conditions such as cooling off time,
before the cycle phase can be started.

Additional Delay for End. An optional additional delay time for the end of the cycle process may be defined here. This
delay time will be applied after the cycle end condition is met. The cycle phase ends only after applying this delta time.

Cycle Phase — Cycle Time. This defines the work time for the cycle process. The cycle time may be constant or sampled
from various random distributions. The Distributions dialog box shown below offers a range of common distribution types
plus constant, file based, and user func selections.
The default cycle time distribution is Constant with a value of one second. The two bottom entries in the above dialog box
are worthy of additional discussion:

File Based. If you have an external data file with a series of consecutive cycle times you may select the "File Based" time
distribution. For file-based cycle times, you must make a file selection from a SCHEDULE$LIB directory. The schedule
file should be in an ASCII format and contain a list of times, one on each line representing the cycle times that are to be
used sequentially for each repetition of the cycle process.
The "#" sign may be used in column 1 to indicate a comment field; in this case that line will be ignored. The last line in
the file may also contain the identifier "repeat" if the file is to repeat from the beginning after the last line has been read. If
the file does not contain the keyword "repeat" and the end of the file is reached during a simulation run, a simulation
interrupt will occur. It is up to you to ensure that an adequate number of cycle times are present in the file for the desired
simulation duration.

User Func. To define a cycle time that has not been read in from a file, or taken from a stochastic distribution, you will
need to define the cycle time in some other way. Specifying the cycle time through SCL will accomplish this. The SCL
routine must return a value of type "real". See Chapter 5, SCL for a discussion on SCL. The SCL routine must be created
in advance and saved in a file defined by the LOGIC$LIB in your library configuration file.
For example, you may have defined a user attribute volume for a particular part. The process cycle time might vary in
proportion to the volume of the part, e.g., a filling process. You would need to develop an SCL routine that calculated the
cycle time based on the weight and returned it as a real number.
This cycle time is considered as the minimum residence time of the fluids in the processor. All fluids that enter the
processor are assumed to be spending this cycle time as the minimum time before they are passed to output side for
routing. This assumption confirms that all fluids have been equally treated for the sampled cycle time.

Products — Parts
Products are the parts and/or fluids that are produced as a result of the cycle process. This button is used to create a new
part, or destroy an existing part as a result of the process. For more details on the functionality of this button, refer to
Chapter 4: Logical Modelling Elements.

Products — Fluids
This button sets the fluid products of the cycle process. It defines the fluids created, destroyed, or passed through as a
result of the cycle process. The products conditions are specified for each fluid class.
For every fluid class defined in the model, one row is defined in this dialog box. The various columns are described
below.

Mode. This field sets up the mode for fluid product creation. The various possible settings for this option are described
below:
• Pass — Specifies that the same fluid that was consumed at the start of the process became the product. This
fluid is thus being "passed" to the output of the element after spending the Cycle Time in the input side.
• Retain — Specifies that the fluid will be retained at the input of the element once the process is completed.
The same fluid may then be used as an input to some other cycle process.
• Destroy — Specifies that the fluid is to be destroyed at the end of the cycle process.
• Mix — Specifies that the fluid will be mixed into some other fluid class as a result of the cycle process. The
resulting mixture fluid class is specified in the "Mixture Class" column.
• Produce Flow Rate — Specifies that the fluid should be produced new at the output of the element
according to a user—defined flow rate. The flow rate is specified in the "Flow Rate/Quantity" column.
• Produce Quantity — Specifies that a user—defined quantity of new fluid should be produced at the output
of the element. The quantity to be produced is specified in the "Flow Rate/Quantity" column. This Quantity
of fluid is created instantaneously.

Mixture Class. This column specifies an existing fluid class name that the specified fluid class will mix into at the end of
the cycle process. It is activated only when the fluid products mode is set to "Mix".

Flow Rate/Quantity. This column specifies either the flow rate or the quantity of fluid to be produced at the end of the
cycle process. It is activated only when the fluid products mode is set to either Produce Flow Rate or Produce Quantity.
The value entered in this field should be a valid SCL expression. Any SCL expression that returns a number may be used
here. The SCL expression is evaluated at run time. If a routine is being called, then that routine must already be compiled
before it can be called here. Only routines that positive return real numbers may be called. Positive real numbers may be
entered also. If the number 250 is keyed in, then 250 units of fluid would be produced. The value calculated by this
expression is assumed to be in units set for production in the previous level by Produce Flow Rate/Quantity Units.

Freq. This column specifies the frequency of evaluation of the SCL expression specified in the Flow Rate/Quantity
column. It is activated only when the fluid products mode is set to either "Produce Flow Rate" or "Produce Quantity". The
frequency is to be specified in time units. The production flow rate expression is evaluated for every delta time specified
by this frequency and the newly evaluated value is used. Using this option, differing production rate of fluids can be
achieved at specified intervals.
Flow Duration. This column sets up the mode for specifying the duration of the fluid produced as a result of the cycle
process. It is activated only when the fluid products mode is set to Produce Flow Rate. When the mode is Produce
quantity, the quantity of fluid is produced immediately. In case of produce with flow rate, we need to know the duration
through which the rate is used for producing fluid. The possible settings for this option are described below:
Prod Start+time — This mode specifies that the fluid production rate in the processor will begin upon completion of the
specified time delay after the starting of the production phase. The additional time delay is to be specified in the Time
column. After the production phase start condition is satisfied, the specified time duration will be used for producing new
fluid.
• Accept End+time — This mode specifies that the fluid production rate in the processor will begin upon
completion of the specified time delay after the end of the fluid acceptance phase. The additional time delay
is to be specified in the Time column.
• Fluid Level % — This mode specifies that the fluid production rate in the processor will begin when the
fluid level in the processor reaches the level specified in the % column for the specified fluid only. The
level is computed as a percentage of the capacity of the processor.
• Total Level % — This mode specifies that the fluid production rate in the processor will begin when the
fluid level in the processor reaches the level specified in the % column for the all fluids currently in the
processor. The level is computed as a percentage of the capacity of the processor.
• Fluid Level Qty — This mode specifies that the fluid production rate in the processor will begin when the
fluid level in the processor reaches the level specified in the Qty column.
• Total Level Qty — This mode specifies that the fluid production rate in the processor will begin when the
total fluid level of all fluids in the processor reaches the level specified in the Qty column.

Time. This column specifies the delay time after which fluid out flow begins at the processor. It is activated only when
the flow duration mode is set to either Prod Start+time or Accept Start+time.

%. This column specifies the percentage of the specified fluid or all fluids in the processor. Fluid out flow will begin
when this percentage value is attained. The percentage is computed with respect to the capacity of the processor. This
column is activated only when the flow duration mode is set to either Fluid Level % or Total Level %.

Qty. This column specifies the quantity of the specified fluid or all fluids in the processor. Fluid out flow will begin when
this quantity is attained. This column is activated only when the flow duration mode is set to either Fluid Level Qty or
Total Level Qty.

Products — Fluid Production Phase


This button allows you to set the general parameters governing the start and end of the fluid production phase. The
different parameters that may be defined for the production phase are described below.
Production Start At. This setting determines the conditions for starting the production phase of the processor. This
condition may be set to any of the following parameters:
• End of Cycle Phase — In this case, the production phase will start at the end of the fluid cycle phase.
• End of Acceptance Phase — In this case, the production phase will start at the end of the fluid acceptance
phase.
• Condition per Fluid Class — In this case, the cycle start is based on the conditions set for each fluid class.
The specification of these conditions are similar to that for the fluid acceptance phase.

Additional Delay for Start. An additional delay time for the start of the production phase may be defined here. This delta
time is applied after the specified production start conditions are met.

Fluid Produce Expr. Unit System. This setting allows the selection of the unit system for the SCL expression used in the
Produce Quantity or Produce Flow Rate modes. This toggles between the US system and the English system of measure.
This unit system is used when the production quantity/flow rate is specified for each fluid as an SCL expression.

Produce Quantity Units. This setting allows the selection of the units for the produce quantity SCL expression. This unit
system is used when the production quantity/flow rate is specified for each fluid as an SCL expression.

Produce Flow Rate Units. This allows the selection of the units for the produce flow rate SCL expression. By default the
current model units are assumed for the fluid production SCL expression. If the units are changed in this field, then they
will supercede the current model units (set with Pref | Preferences | Environment | Units).

Fluid Connection
Fluid flow between resources is defined by the fluid connection similar to material flow defined by regular connections.
The fluid connection can be done only between two fluid resources. Fluid connections are created by selecting the Model |
Fluids | Connections | Connect button. When this button is selected, the user has to select the "from" resource and the
"to" resource to make the connection between them. If connection already exists, the user has the option of either creating
a new connection, or modifying the existing connection. All fluid resources can have multiple input and output fluid
connections, except the fluid source, which has no input connections and the fluid sink, which has no output connections.
Each fluid connection can be viewed as a kind of valve between two resources whose opening can be adjusted for
different flow rates. If the valve is closed completely, there will not be any fluid flow. If the valve is fully opened, the
fluid will flow in the maximum possible rate. This maximum possible flow rate can be specified for each connection of
the resource. It’s common to specify the flow rate for both the from resource and the to resource of the connection.
When the connection is made between resources the user will be prompted with a Fluid Connection Info dialog box to
provide the following information:

Full Slot Rate


This is the maximum possible flow rate through this connection when the slot (valve) is opened fully. This is specified in
flow rate units. It's assumed that if the slot is closed by some fractional value, the flow rate is adjusted by the same
fraction.

Init Slot Opening Level


This is the initial slot opening value at the connection. This is specified in terms of percentage value. 100% is fully opened
and zero is fully closed. The slot opening level can be dynamically changed through SCL using SET_SLOT_OPENING
command.
Once these values are entered, these values can also be modified through the Fluid Output Info button of the "from"
resource class. Though the information is common to both output side of the from resource and input side of the to
resource, it’s made available to modified as an attribute of the from resource class.
If individual connection values are to be modified, the same Model | Fluid | Connections | Connect button can be used
and the same existing connection number can be selected, new values can be entered and the same output resource and the
same input slot number can be selected.
NOTE: Fluid connections do not support class connections.
Showing existing connections and removing existing connections can also be possible using Show and Disconnect
buttons.

Fluid History
Fluid history may be collected for fluid elements to keep track of changes in the fluids during the element's operations
during a simulation run. Fluid history may be collected for a given element over a specific duration, and may either be
viewed dynamically during the simulation run or after the simulation run is completed. 2D charts are used to create the
fluid history charts.
NOTE: Currently, fluid history may be created for a single run of the model only and are not applicable
across multiple runs. Also, the fluid history created for a simulation run cannot be saved with the
model.

The buttons available for creating and manipulating fluid history are described below:

Cre/Mod
The Cre/Mod button lets your create a new fluid history chart or modify an existing one. When clicked, a Fluid History
dialog box similar to the one shown below appears.
The different parameters that may be defined for the fluid history are described below.

Name. This specifies the name for the fluid history. By default the name is "Fluid History_<number>" where the number
is the serial number of the fluid history. Thus, the first history will be created with the default name "Fluid_History_1",
the second "Fluid_History_2" and so on.

History Data. This specifies the data to be plotted as the fluid history. Fluid history could be collected for any of the
following attributes:

Input Quantity.
• Output Quantity
• Total Quantity
• Percent Utilized
• In Flow Rate
• Out Flow Rate
• Net Flow Rate
• Fluid Pass Rate
• Destroy Rate
• Production Rate
The default value is Input Quantity. If the attribute is set to Total Quantity or Percent Utilized then all fluid classes in the
model will be considered for plotting the history. For any of the attributes, the fluid class for which the data is to be
plotted should be specified.
This fluid history attribute specified is updated at every rate change. The current values are stored along with the
simulation clock time every time there is a change in the attribute specified. The values are stored as tables of attribute
value and start time. For quantity based fluid history, the value of the attribute changes linearly with time between any
two successive history items but for flow rate based fluid history the value of the attribute remains same between updates.

Dynamic Display. This is a toggle field that may be set to Yes or No. If it is set to Yes, a time series chart is created and
updated dynamically during the simulation run. The default value is No.
Start Time. This field specifies the simulation clock time to start collecting the fluid history. Values less than zero are not
valid.

End Time. This field specifies the simulation clock time to stop collecting the fluid history. Values less than zero are not
valid.

Associated Element. This button permits the selection of a different fluid element to be associated with the fluid history.

Associated Fluid Class. This button permits the selection of a fluid class whose attribute is to be collected as history data
during the simulation run. This selection is not required if the History Data field was set to Total Quantity or Percent
Utilized.

Chart. This button creates a time series 2D chart of the history data that was collected during the simulation run. It may
be used only after the simulation run is completed. It is not applicable if the field Dynamic Display was set to Yes. When
selected, a 2D window is created and the chart and legend may then be positioned in that window.

Delete. This button deletes an existing fluid history from the model. The fluid history selected is deleted.

Potrebbero piacerti anche