Tank Blocks
A tank block is used in a PFS diagram to store fluids. A tank can have multiple inputs and/or multiple outputs; however, the inputs and outputs must be a single fluid type.
To configure a tank block, in addition to the common block properties, you will need to describe how the block behaves. The first step is to assign a universal reliability definition (URD) in the Universal Reliability Definition area. The URD uses a model to describe the block's reliability characteristics and may also include a corrective task and/or scheduled tasks.
To assign a URD to a block, you can either select an existing URD or create a new one. Click the URD field and then click the arrow to display the URD wizard. In the wizard, you can click Select Existing URD to display a list of the available URDs. You can also click Create New URD to open the Universal Reliability Definition window; in this window, specify the failure model and any associated tasks, then click OK to create the new URD and apply it to the block.
Once a URD has been assigned to the block, you can view and/or edit its properties from the URD wizard by clicking the View/Edit icon.
You can remove the URD from the block by clicking the Remove icon in the URD wizard.
You can also add, change or edit the components of the URD (i.e., the model, corrective task and/or scheduled tasks) directly from the URD area. Be aware that any changes you make here will apply everywhere that the URD is used.
If no URD is assigned to the block, you can create a new model for the block by clicking the Model field and then clicking the arrow. This opens the Model wizard, which allows you to define a model for the block; this has the effect of automatically creating a new URD that uses the new model and assigning it to the block.
In addition, you will need to specify the following:
-
Operation
-
Set block as failed if selected, indicates that the block is "off" or absent from the system. An X will be displayed on the block to indicate that it is failed. The block will be considered to be failed throughout the entire simulation and no maintenance actions will be performed (i.e., any failure and maintenance properties will be ignored). This option can be used for "what-if" analyses to investigate the impact of a block on system metrics such as throughput, cost, etc. You can also set this option by selecting the block in the diagram and choosing Process Flow > Settings > Set Block as Failed.
When this option is selected, no other properties will be available for the block; note, however, that any properties you have already specified are simply hidden because they are not relevant. The settings will reappear if you clear the Set block as failed option. -
Duty cycle allows you to model situations where the actual usage of a block during system operation is not identical to the usage for which you have data (either from testing or from the field). This can include situations where the item:
-
Does not operate continuously (e.g., a DVD drive that was tested in continuous operation, but in actual use within a computer accumulates only 18 minutes of usage for every hour the computer operates).
-
Is subjected to loads that are greater than or less than the rated loads (e.g., a motor that is rated to operate at 1,000 rpm but is being used at 800 rpm).
-
Is affected by changes in environmental stress (e.g., a laptop computer that is typically used indoors at room temperature, but is being used outdoors in tropical conditions).
-
-
In these cases, continuous operation at the rated load is considered to be a duty cycle of 1. Any other level of usage is expressed as a percentage of the rated load value or operating time. For example, consider the DVD drive mentioned above; its duty cycle value would be 18 min / 60 min = 0.3. A duty cycle value higher than 1 indicates a load in excess of the rated value.
-
Consequential Costs allows you to choose or create models to represent costs that are always associated with the block. Cost per failure uses a cost model, and Downtime rate and Uptime rate use cost per unit time models. If no models are assigned, it is assumed that there are no additional costs.
-
Maintenance Group allows you to specify the maintenance group that the block belongs to.
-
State Change Triggers
-
Enable state change triggers (SCT) allows you to specify the starting state of the block (i.e., off or on) and its state upon repair, then specify events that will activate and/or deactivate the block during simulation. You can choose to activate or deactivate the block when items in specified maintenance groups go down or are restored. The current block does not need to be part of the specified maintenance group to use this functionality. This allows you to model a cold standby configuration (i.e., one where the component cannot fail when in standby) without using a standby container, which may be useful if you are using a parallel or complex configuration, as blocks can be connected only in series in standby containers.
To add a state change trigger, click the Add icon in the Add a State Change Trigger field. The State Change Trigger window will appear, allowing you to define the trigger. Each trigger that you add will then be displayed in the Block Properties window. To edit an existing state change trigger, click the Edit icon for the state change trigger to open the State Change Trigger window.
-
- Throughput
- Units allows you to specify the units used for measuring input/output (mass) and time. For example, you might measure throughput in terms of kilograms per hour.
- Demand allocation
allows you to specify how input is accepted if there are
multiple incoming paths to the block and the amount of
input that they deliver exceeds the block’s capacity,
either as defined by the Throughput
value or as limited by downstream capacities. If all input
can be handled by the block, the selection here is ignored.
To understand the demand allocation types, consider a
block with a capacity of 10 units, receiving inputs A
- 5 units, B - 3 units and C - 2 units. Now assume that
downstream issues have limited the block’s capacity to
5 units.
- If Allocate according to connection priorities is selected, the input will be allocated according to the priorities specified for each connection (i.e., all input will be taken from the highest priority connector until its capacity is reached, then all input will be taken from the next highest priority connector and so on, until the block’s capacity is filled). When this option is selected, you will be able to set priorities by selecting each connector that carries input to the block and using the commands at Process Flow > Selection > Input Priority. The input priority for each connector is shown at the end of the connector caption. In our example, if path A has the top priority, then input will be accepted only from A, because the 5 units it provides fill the block’s capacity. However, if B has the top priority, followed by A, then 3 units will be accepted from B and the remaining 2 units to fill the block’s capacity will be accepted from A.
- If Weighted allocation across paths is selected, the amount of input refused when the block’s capacity is filled will be weighted according to the capacity of each incoming path. The software calculates the total capacity of all paths and then determines the percentage of the total capacity represented by each path. An equal percentage of each path’s capacity will be refused, thereby maintaining the weights of the paths. In our example, the block’s capacity has decreased by 50%, so 50% of each path’s input will be refused. The following amounts will be accepted: A – 2.5 units, B – 1.5 units and C - 1 unit.
- If Allocate equal share to all paths is selected, an equal amount of input will be refused from each of the paths when the block’s capacity is filled. In our example, the block’s capacity has decreased by 5 units, so 5/3 = 1.67 units will be refused from each path. The following amounts will be accepted: A – 3.33 units, B – 1.33 units and C – 0.33 units.
- Allocation
allows you to specify how output is routed if multiple
outgoing paths from the block exist:
- If Allocate according to connection priorities is selected, the output will be allocated according to the priorities specified for each connection (i.e., all output will go to the highest priority connector until its capacity is reached, then all output will go to the next highest priority connector and so on). When this option is selected, you will be able to set priorities by selecting each connector that carries output from the block and using the commands at Process Flow > Selection > Output Priority. The output priority for each connector is shown at the beginning of the connector caption.
- If Weighted++ is selected, the allocation will be weighted according to the maximum output specified for each path (in the section directly below). The software calculates the total capacity of all possible paths and determines the percentage of the total capacity represented by each path, then sends that percentage of the "stream" to each path. Once this allocation is calculated, if a particular path is unable to handle what is allocated to it due to restrictions downstream, that path will handle only as much throughput as the restriction allows. The throughput of the other paths will be adjusted using the maximum output for all the throughput that is left beyond the restricted path.
- If Equal++ is selected, an equal share of output will be allocated to each of the paths as long as the equally allocated output is equal to or less than the total throughput. If the total throughput is greater than what can be achieved by equal allocation, then the system will allocate as much as possible using equal allocation across all the paths, then try to allocate what is left equally into the paths that still have capacity left. This is repeated until all paths have reached maximum capacity or the total throughput has been allocated across the paths.
- If Weighted allocation across paths is selected, the allocation will be weighted according to the maximum output specified for each path (in the section directly below). The software calculates the total capacity of all possible paths and determines the percentage of the total capacity represented by each path, then sends that percentage of the "stream" to each path. Once this allocation is calculated, if a particular path is unable to handle what is allocated to it due to restrictions downstream, that path will handle only as much throughput as the restriction allows. The throughput for the other paths is not changed.
- If Allocate equal share to all paths is selected, an equal share of output will be allocated to each of the paths. If a given path's capacity is reduced, all other paths will be reduced accordingly. For example, in extreme cases, this can lead to zero throughput for all paths if any one path's flow is reduced to zero.
- Maximum capacity defines the maximum amount that the tank block is capable of holding.
- Initial level defines the amount that the tank block is holding prior to the start of simulation.
- If you have selected the Input switch check box, you can specify an Input switch level. If the tank reaches maximum capacity, it will stop accepting input until its level drops to the input switch level.
- If you have selected the Output switch check box, you can specify an Output switch level. This defines the amount that the tank must contain in order to start releasing output.
- Maximum output defines, for each connected path, a maximum amount of output that can be sent to the path.