At the end of the model execution the Fluid Library blocks dump their statistics to the DB logs.

There are four DB logs:

**DB views to collect statistics from**

- The fluid_storages_log table looks like this:

Here every

Fluid Libraryobject that can hold non-zero amount of fluid saves historical minimum and maximum amount it ever contained, and time-average of the amount throughout the total operating time. Namely, the following blocks write to the table:

TankBulkConveyorFluidSourceAgentToFluidFluidToAgentFluidPickupFluidDropoffMixTankProcessTankThe

FluidSourceblock would record infinity in case it worked in the Infinite capacity mode.The

Pipelineblock does not dump its statistics as, once it gets full, it stays full forever, so the statistics is not meaningful.The numbers in the table are in the default units (kilograms or cubic meters). To obtain the numbers in the units used by the user, you should look up the units in the

fluid_unitstable and perform conversion.

- Here is the fluid_rates_log table:

The table contains the total amount of fluid that has passed through a port of a block, the historical minimum and maximum, and the time-average of the flow rate through the port. These blocks write to the table:

Tank(in, out)Pipeline(in)BulkConveyor(in, out)FluidSource(out)FluidDispose(in)Valve(in)AgentToFluid(out)FluidToAgent(in)FluidPickup(inFluid)FluidDropoff(outFluid)MixTank(in1..in5, out)ProcessTank(in, out)Again, the numbers in the table are in the default rate units (kilograms or cubic meters for the amounts and kilograms / second or cubic meters / second for the rates). To obtain the numbers in the units used by the user, you should look up the units in the

fluid_units_logtable and perform conversion.

- The third table with statistical data is fluid_utilization_log

The meaning of utilization is different for different blocks and means exactly the same as the function utilizationTotal() of the block. Namely:

Tank– the tank average utilization throughout the total operating time, i.e. the average amount divided by the tank capacity. If time has ran to infinity, the instant utilization is used.Pipeline– the average utilization of the pipeline bandwidth throughout the total operating time, i.e., the actual amount passed through the input divided by the maximum amount that could pass through, given the (possibly changing) maximum rate. If time has ran to infinity, the current utilization is returned. If the maximum rate has been set to unlimited even once, zero is assumed.BulkConveyor– the average utilization of the conveyor throughout the total operating time, i.e. the total amount of material that actually passed through the conveyor input divided by the maximum total amount that could pass through, given the (possibly changing) maximum input rate. If time has ran to infinity, the instant utilization is used.Valve– the average utilization of the valve bandwidth throughout the total operating time, i.e. the total amount of fluid that actually passed through the valve divided by the maximum total amount that could pass through, given the (possibly changing) open rate and closing times. If time has ran to infinity, the instant utilization is used. If the open rate has been set to unlimited even once, zero is assumed.

- Finally, the table fluid_units_log contains the units the user used in the model to specify the block parameters:

If the user did not specify units (for example, the amount units in the

FluidSourceare not required if the block works inInfinite capacitymode), the table cell is empty.Please note that the data in the tables

fluid_storages_logandfluid_rates_logare NOT in the user-defined units, but in the default internal units (kilograms or cubic meters for the amounts and kilograms/second or cubic meters/second for the rates), so you may use this table to convert that data into a more user-friendly form.