Products
LIBPF (LIBrary for Process Flowsheeting) is a C++ library of objects and methods that make it easier to prototype, implement and deploy process models. For greater flexibility, LIBPF is licensed in modules, in this way each customer can purchase only what is required; at the moment there are ten available modules:
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
|---|
Each specific product is put together using one or more modules. As a non-exhaustive sampling of the applications, we present four products built with LIBPF:
- Text-based batch data processing;
- Desktop application: special purpose process simulator;
- On-line soft-sensor;
- Laboratory Information management System (LIMS) post-processing.
Text-based batch data processing
This is the simplest possible application built with LIBPF; probably not the most modern architecture, but still very useful in a number of environments.
In situations where live data (process measurements, averages, historical data) from the plant control system or from the Enterprise Resource Planning (ERP) software are available as text files, LIBPF can be used to create a text-based data processing tool.
The LIBPF application can read in the text files, process the live data and write the results of the processing to other text files. These in turn can be read in by the external software and forwarded to whatever successive elaboration.
For an application of this type, only the calculation kernel, i.e. the LIBPF CORE module is required.
A typical application of LIBPF is to distribute special purpose process simulators, capable of modeling just a fixed number of process configurations or maybe just a specific equipment for detailed design. Such are for example all the demos in the process library. To configure a LIBPF application for desktop use, besides the calculation kernel (LIBPF CORE) you need a user interface (LIBPF UI module) and a database interface to communicate between the kernel and the user interface (currently LIBPF ODBC and LIBPF SQLITE are available). For Windows as a target, the typical configuration is then: LIBPF CORE, LIBPF UI and LIBPF ODBC). Soft sensors or inferentials can be considered as the simplest on-line application of models: they are based on models that can replace real, physical sensors with virtual, calculated results; they are usually classified as either model-driven (based on first principle models based on the physical and chemical laws that underlie the physical processes) or data-driven (based on some manipulation of the raw data). A typical LIBPF application is a first-principle, model-driven soft-sensor that calculates certain properties for a material stream. For such an application you will need the calculation kernel (LIBPF CORE) plus a module for connectivity to the process control system: either LIBPF OPC based on the Classic OPC interface, or LIBPF OPCUA based on the more recent, object-oriented OPC Unified Architecture. As Classic OPC is more widespread at the moment, probably the best combination is LIBPF CORE and LIBPF OPC. The Laboratory Information management System (LIMS) collects the raw data generated in the laboratories. There is a number of elaborations that can be done on the raw lab data to make the best out of them, including validation, aggregation, consistency checks, mass balances around a reactive step etc etc. LIBPF is ideally suited to create such an application. As there will very likely be a heterogeneous user population (process engineers, analysts, managers), a simple, lightweight, zero-install web-based client will be the best user interface for interacting with the solution. The required LIBPF modules will be: the calculation kernel (LIBPF CORE), a database interface to communicate with a central relational database (LIBPF ODBC), and the Web server interface (LIBPF WWW).Desktop application: special purpose process simulator
![]()
![]()
On-line soft-sensor
LIMS post-processing







