Equation panel
Use the Equation panel to specify the equation or initial value for the selected building block. You also use the Equation panel to assign units to a building block and to select options and parameters that affect the building block's equation.
To view the Equation panel, click the tab at the bottom of the panels. For information about using panels, see Working with panels.
Note: To view the Equation panel, you must be viewing the model on the Model layer.
Options
The options available in this section depend on the type of the selected building block.
- Non-negative – Select this check box to ensure that flows will not force the stock to take on negative values.
-
Type – Use this option to select how the initial value is calculated for the conveyor: Continuous or Discrete.
If you select Continuous, the initial value for the conveyor is spread evenly over the length of the conveyor and flows out of it in a steady stream.
If you select Discrete, the initial value is separated into "packages" so that it flows out of the conveyor in separate chunks.The initial value is spread over the conveyor, but the packages are stacked in the last DT of each conveyor slat. If the conveyor's inflow is from a queue, Discrete is selected and you cannot change it.
If the conveyor's inflow is from anything other than a queue, Continuous is the default selection.
-
Accept – Select how much of the value you want the conveyor to accept from its inflows: One at a time or As much as possible.
If the conveyor's inflow is from a cloud and/or stock, the conveyor will accept as much material as possible, so As much as possible is automatically selected and you cannot change it.
If the conveyor's inflow is from a conveyor and/or oven, the inflow is determined by the upstream conveyor and/or oven, so As much as possible is automatically selected and you cannot change it.
If the conveyor's inflow is from a queue, you can select either option. If you select One at a time, the conveyor takes the next item in the queue, each DT, subject to the inflow limit and capacity constraint. As much as possible will cause the conveyor to take as much as it can from the queue.
Note: The quantity the conveyor can accept is always subject to the values in the conveyor's Capacity and Inflow limit parameters.
- Split batches - This option is available if the conveyor's inflow is from a queue. Select this check box to allow the conveyor to take a portion of the "next" item in the queue if the conveyor has reached its Inflow limit or Capacity. If this check box is not selected, the flow from the queue is set to zero (0) if the flow exceeds the values in the Capacity or Inflow limit parameters. This can lead to queue blockage.
-
Accept – Select how much of the value you want the oven to accept from its inflows: One at a time or As much as possible.
If the oven's inflow is from a cloud or stock, the oven will accept as much material as possible, so As much as possible is automatically selected and you cannot change it.
If the oven's inflow is from a queue, you can select either option. If you select One at a time, the oven takes the next item in the queue, each DT, subject to the oven's capacity. As much as possible will cause the oven to take as much as it can from the queue.
Note: The quantity the oven can accept is determined by its capacity, as specified in the Capacity parameter.
Tips: To represent a capacity-constrained situation, select the One at a time option, specify a long fill time, and specify a small capacity.
To represent a processor that takes only the "next" item from the upstream queue, select the One at a time option, select the DT builtin for the fill time, and specify a large capacity.
- Split batches – This option is available if the oven's inflows are queues only. Select this check box to allow the oven to take a portion of the "next" item in the queue in order to fill itself to capacity. If this check box is not selected, the flow from the queue is set to zero (0) if the flow exceeds the values in the oven's Capacity parameter. This can lead to queue blockage.
When you first view the Equation panel for the flow, the type of flow you chose when you placed the flow is selected. To change the type, select the appropriate option here.
-
Uniflow – Select this option to have the flow move in one direction only. With uniflows, the flow volume takes on non-negative values only. Biflows can take on any value.
-
Biflow – Select this option to have the flow move in two directions. With biflows, the flow volume can be any value (negative or positive). If you select this option, a second, shaded arrowhead appears on the flow to point in the direction of the negative flow. It is not possible to have a biflow connected to a conveyor, queue, or oven.
-
Unit conversion – Select this check box to convert the units of measure for the flow as material moves through the flow pipe. This is useful when you are modeling processes such as assembly processes, which transform raw materials into finished goods, or chemical processes, which involve molecular transformations.
When you select the Unit conversion check box for the flow, a shaded half-circle appears in the flow regulator on the diagram to indicate that unit conversion is taking place.
The Unit conversion check box is available only for uniflow flows that connect two stocks (when the flow is conserved). The default is no unit conversion.
-
Inflow multiplier – This box appears when the Unit conversion check box is selected.
The inflow multiplier is the value by which the value from the upstream stock should be multiplied. The resulting value is then added to the downstream stock value.
The value can be either a number or a model entity from the Required Inputs list. The default value is 1.0.
To specify a value in this box, you can type a number, click an entity name in the Required Inputs list, or use the calculator buttons to enter a number.
When the model runs, the software reports the values for the flow before unit conversion has taken place.
-
Leakage – This option is available if the flow is the second or subsequent outflow for a conveyor.
Select the type of leakage this flow represents: Linear or Exponential.
If you select the Linear option, the total amount to leak is equal to the inflow*DT*leakage_fraction and this amount is distributed evenly across the leakage zone of the conveyer (each slat leaks this amount divided by the number of slats).
If you select the Exponential option, the amount that leaks from each slat within the leakage zone is equal to the slat_contents*leakage_fraction, generating an exponential decay in the amount leaked across the leakage zone.
For Linear leakage, the total amount leaked does not change with the length of the leakage zone, whereas, for Exponential leakage it does.
Note: To specify the leak fraction, use the Leak fraction box in the flow's Parameters section.
-
Leak integers – This option is available if the flow is the second or subsequent outflow for a conveyor.
Select this check box to round leakage flow to the nearest integer value. If the Discrete option is selected for the conveyor, the rounding occurs each DT. Otherwise, the rounding occurs each time unit.
-
Leak zone – This option is available if the flow is the second or subsequent outflow for a conveyor.
Use the slider to specify the size of the leak zone. The leak zone is expressed as a percentage of the conveyor's transit time, which is applied to the inflow as it enters the conveyor.
To specify the leak zone, move the Start and End sliders to select the appropriate percentage. A leak zone percentage of 100 implies that the entire Conveyor is leak-prone.
By default, the leak zone is 100%and leakage occurs across the entire conveyor. To have the leakage occur at the end of the conveyor, move the start slider as far to the end as you can (99).
Tip: You can have multiple leakage flows from a conveyor and each leakage flow can have different leakage fractions for different leakage zones. For example, you can create a leakage flow of 10% for the first half of the conveyor and another leakage flow of 20% for the second half of the conveyor.
-
Overflow – This check box appears if the flow is the second or subsequent outflow for a queue.
Select this check box to make the flow an overflow. When a higher priority flow is blocked because of capacity constraints, the flow will be routed through the overflow. For more information about flow prioritization, see Flow prioritization.
Required Inputs
Displays a list of all inputs that must be used in the equation for the selected entity. Required inputs are those that are connected to the selected entity using connectors. This list appears only if the selected entity is a flow or a converter.
Note: For converters, this list appears only when you have selected a standard )non summing) converter on the Model layer.
- To use a listed input in the equation, select the input's name in this list and it appears in the Equation box.
Tips: You can also see a list of all allowable inputs for the selected entity (including those that are required) by using the Find window. You can then drag a listed input from the Find window into the Equation box. For more information, see Finding entities in models.
You can also drag a required input entity from the model diagram into the Equation box.
Builtins
Displays a list of builtins that you can include in the equation for the selected building block.
Note: For converters, this list appears only when you have selected a Standard converter on the Model layer.
- To use a listed builtin in the equation, click the builtin's name in this list and it appears in the Equation box. Then specify the builtin's required arguments (if any) in the equation.
Tip: By default, the list displays all builtins in alphabetical order. To make it easier to find a specific builtin, select a category in the box at the top of the Builtins list.
Inputs
The list of entities whose values will be added for the selected summing converter.
Note: This box appears only when a summing converter is selected on the model diagram.
- To add an entity to the list, click and drag it from the model diagram or from the Find palette into the "Inputs" box.
- To delete an entity from the list, click the to the right of the entity's name in the "Inputs" box.
Operators / Calculator
Use the buttons in the Operators and Calculator sections to insert numbers and operators into the equation for the building block.
Note: The full calculator is available only when you are viewing the Equation panel for a stock, or when the panels are undocked. For other entities, and when the panels are docked, only the "Operators" section is available.
Tip: You can also insert operators and numbers into the equation by typing them.
- To insert a number or operator into the equation, click the corresponding calculator button.
Tips: To transpose arrays in an equation, you can use the apostrophe (') as a transposition operator. For example, to transpose the array A[X, Y] as A[Y, X] in an equation, type A'. The apostrophe operator does not appear as a button in the Operator section. You must type it.
If you are defining an equation for an arrayed entity that has more than one dimension with the same name, use the @ operator instead of the dimension name to refer to a particular instance of the dimension. For example, use @1 for the first use of the dimension, @2 for the second use of the dimension, etc.
Parameters
The options available in this section depend on the type of the selected building block.
Tip: For parameters for which you can specify a model entity as a value, you can type the entity's name in the parameter box, or drag an entity from the Find window.
-
Transit time – Specify the time it takes for material to pass through the conveyor.
To specify a constant transit time, type a single number in this box. When you specify a constant transit time, all material that enters the conveyor will use the number you specify for the transit time.
To specify a variable transit time, define an equation in this box. For an equation, you can use other model entities, builtins, algebraic operators, or a graphical function.
Note: If you are using a statistical builtin to generate a variable transit time, be sure to generate random numbers in the conveyor's equation. Do not generate random numbers in an external converter and then use the converter to define the transit time. In the later case, the sequence of transit times will not conform to the distribution you have specified for the converter.
-
Sample – Use this parameter to sample the conveyor's transit time whenever the equation you specify equals anything other than zero (0).
To use this parameter, select the Sample check box and then type an equation in the box that appears.
Whenever the sample equation is not equal to zero (0), the current value of the transit time equation will be used for the transit time of material flowing onto the conveyor. If the sample equation is equal to zero (0), the transit time doesn't change. Material will exit the conveyor when the sampled transit time has expired.
If you do not select the Sample check box, units will be assigned to the transit time so that they are calculated as they enter the conveyor.
-
Capacity – Use this parameter to limit the capacity of the conveyor. Inflows per unit of time will not be allowed to cause the magnitude of the conveyor to exceed the capacity value you specify here. To allow an unlimited capacity for the conveyor, set the value to infinity by typingINF (or by pressing option-5 on a Macintosh).
Note: If the conveyor has multiple inflows and there is a Capacity limit set for the conveyor, the inflows are prioritized so that the multiple flows enter the conveyor in their order of priority. For more information about how flows are prioritized, see Flow prioritization.
This parameter is not available if the conveyor's inflow is a conveyor or an oven because, in that case, the flow rate is controlled by the upstream conveyors/ovens.
-
Inflow limit – Use this parameter to limit the inflow into the conveyor. Inflows per unit time will not be allowed to exceed the value you specify here. To allow an unlimited inflow limit for the conveyor, set the value to infinity by typing INF (or by pressing option-5 on a Mac).
This parameter is not available if the conveyor's inflow is a conveyor or an oven because, in that case, the flow rate is controlled by the upstream conveyors/ovens.
Notes: If the Discrete option is selected for the conveyor, the entire inflow limit will flow in one DT.
If the conveyor has multiple inflows and there is an Inflow limit set for the conveyor, the inflows are prioritized so that the multiple flows enter the conveyor in their order of priority. For more information about how flows are prioritized, see Flow prioritization.
-
Arrest – Use this parameter to have the converter stop whenever the equation you specify equals anything other than zero (0).
To use this parameter, select the Arrest check box and then type an equation in the box that appears.
Whenever the arrest equation is not equal to zero (0), the conveyor stops. Inflows and outflows to the conveyor will be set to zero (0). The conveyor starts where it left off when the arrest equation is equal to zero (0).
Note: The Arrest option is disabled when an inflow to the conveyor comes from a conveyor or an oven.
-
Cook time – Specify how long the oven "cooks" a batch before opening its door and releasing the contents. Material exits from the oven when the cook time has expired.
You can specify a constant cook time or a variable cook time.
To specify a constant cook time, type a single number. When the oven closes its door, it uses this number as the cook time for the batch.
To specify a variable cook time, use model entities, builtins, algebraic operators, or a graphical function. The cook time that is calculated as the oven closes its door will be used for the batch.
Note: If you are using a statistical builtin to generate a variable cook time, be sure to generate random numbers in the oven's equation. Do not generate random numbers in an external converter and then use the converter to define the oven time. In the later case, the sequence of cook times will not conform to the distribution you have specified for the converter.
-
Capacity – Specify how much material the oven can hold at once. When the capacity is reached or the fill time has expired (whichever comes first), the oven closes its doors and begins "cooking" its contents.
To specify the oven's capacity, enter a value or an equation. For an equation, you can use required inputs, builtins, algebraic operators, or a graphical function.
Tips: To represent a capacity-constrained situation, select the One at a time option, specify a long fill time, and specify a small capacity.
To represent a processor that takes only the "next" item from the upstream queue, select the One at a time option, select the DT builtin for the fill time, and specify a large capacity.
- Fill time – Specify how long the oven door should remain open during a given cook cycle. To allow an unlimited fill time for the oven, set the value to infinity by typing INF (or by pressing option-5 on a Mac). To set the fill time to DT, specify the DT builtin in this box.
-
Arrest – Use this parameter to have the oven stop whenever the equation you specify equals anything other than zero (0).
To use this parameter, select the Arrest check box and then type an equation in the box that appears.
Whenever the arrest equation is not equal to zero (0), the oven stops. Inflows and outflows to the oven will be set to zero (0). The oven starts where it left off when the arrest equation is equal to zero (0).
-
Leak fraction – This parameter is available if the flow is a leakage flow for a conveyor. The leak fraction is used to determine the leakage flow volume. Whatever enters the conveyor, multiplied by the leakage fraction, exits through the leakage flow.
Define a leakage fraction by using a constant, other model entities, builtins, algebraic operators, or a graphical function. The leakage fraction must be in the 0-1 range. Numbers outside this range are forced to the nearest endpoint.
For Linear leakage flows, the total amount to leak is equal to the inflow*DT*leakage_fraction and this amount is distributed evenly across the leakage zone of the conveyer (each slat leaks this amount divided by the number of slats). The total amount leaked does not change with the length of the leakage zone.
For Exponential leakage flows, the amount that leaks from each slat within the leakage zone is equal to the slat_contents*leakage_fraction, generating an exponential decay in the amount leaked across the leakage zone. The total amount leaked changes with the length of the leakage zone.
To specify the type of leak (Linear or Exponential) and the leak zone for the flow, use the options in the flow's Option section.
Equation
Use this box to specify the initial value or equation for the selected building block. The initial value specified here is used only at the start of a simulation run.
Note: The name and icon for the selected building block appears just above the Equation box.
The method for defining the initial value/equation depends on the type of selected building block. The following general procedures apply to defining equations for to all types of building blocks. For information on defining equations for a specific type of building block, click the appropriate link below.
- To define an equation, type the value or equation directly into the box. You can also paste values and equations that are on the clipboard by using CTRL+V (Windows) or Command-V (Macintosh).
- To include a required input or builtin in the equation, click the input or builtin's name in the appropriate list on the tab, or type the input or builtin name directly into the box. When you start typing, a list appears from which you can select the input or builtin you want to use. There are no required inputs for a stock.
- To include other entities from the model, find the entities you want in the Find window, then drag the entities from the Find window to the Equation box. You can also drag an entity from the model diagram into the Equation box.
- To use a value from a specific conveyor slot or queue element in an equation, use the equation syntax ConveyorOrQueueName[element] (or use ConveyorOrQueueName[arraysubscript][element] if the conveyor or queue is arrayed. For more information, see Using conveyor or queue element values in equations.
- To add operators, click the appropriate operator button or type the symbol for the operator you want.
- To include text comments in the equation, enclose them with {brackets}.
- To add a line break to the equation, use CTRL+ENTER (Windows) or Command-Enter (Macintosh).
Note: You can also generate initial and subsequent values for entities via a link from an Excel or .CSV file by using the data import features. For more information, see Overview: Importing and exporting data.
For stocks, initial values can either be a constant or an algebraic expression that evaluates to a single value.
For conveyors, initial values can either be a constant or an algebraic expression that evaluates to a single value.
Use one of the following methods to define the initial value:
-
Type a single number in the Equation box. The value will be evenly spread over the length of the conveyor.
Note: When the Discrete option is selected, the conveyor will be initialized so that the material flows out in discrete "packets". The number you type will be spread over the conveyor, but stacked in the last DT of each conveyor slot.
-
Type a series of numbers, separated by commas, one for each unit of time in the conveyor's Transit time. Any slots not initialized will default to the last value provided. The first number you type is the first to exit from the conveyor.
Note: When the Discrete is selected, the conveyor will be initialized so that the material flows out in discrete "packets". Otherwise, each initial value you provide will be spread over one time unit within the conveyor.
- Type a single 0 (zero) to represent a queue that is initially empty.
- Type a series of positive numbers, separated by commas, one for each queue slot. The first number you type will be the first to exit from the queue.
Type a single, non-negative number that is not greater than the oven's capacity.
Type a constant or define an algebraic expression that evaluates to a single value. All required inputs must be used in the equation for the flow.
Type a constant or define an algebraic expression that evaluates to a single value. All required inputs must be used in the equation for the converter.
Apply To All
This check box appears if the selected entity has been defined as an arrayed entity.
-
To apply a single equation to all elements in the array, select this check box, and then use the Equation box to define the equation as you would for a non-arrayed entity.
-
To provide a separate equation for each element in the array, clear this check box. If you clear this check box, a table appears in the Equation box where you can provide values/equations for each element/dimension combination.
For more information about specifying equations for arrays, see Creating arrayed entities.
Units
Use the options in this section to assign and manage units of measure.
Note: You cannot assign or change units for an entity whose units are defined by other entities. For example, the unit of measure for a flow attached to a stock is defined by the stock's unit of measure. In this case, the flow's units are displayed in the Units box, but you cannot edit them directly; to change the flow's units, change the stock's units.
- To assign existing units to the selected entity, start typing the name of the units in the Units box and then select the units you want from the drop-down list that appears.
- To assign existing units from a list of existing units, click , choose the appropriate category, and then select the units you want from the list.
- To have the software specify the appropriate units for the selected entity, click , and then choose Suggest units. The software determines the correct units and displays them in the Units box.
- To create new units and assign them to the selected entity, type the name of the new units in the Units box. If you want to further specify or edit the new units, click , and then choose Add to my units to open the Unit Editor dialog box.
- To check units for the selected entity, click , and then choose Check units. The software checks to see if the left- and right-hand sides of the entity equation have consistent units.
If you are enforcing unit consistency, when you click at the bottom of the panel to apply your changes, the software performs a unit consistency check on the equation.
Note: You enforce unit consistency in the model by selecting the Enforce Unit Consistency check box in the Model Preferences dialog box.
For more information, see Assigning units, Creating and deleting unit definitions, and Checking unit consistency.
See Also