Problems with ChE Softwares

The available Chemical engineering softwares lag behind the commercial or telecom softwares in the technology used. This is because the creators of the former are by and large the people who are primarily Chemical engineers working in the Chemical engineering field and have varying degree of exposure in writing softwares; whereas the creators of the later are full-time software engineers who are specially trained for writing softwares.

I have worked with Chemical engineering softwares while in college and also in the job and have always felt the huge gap in the usabilities of the two softwares. Later, as I worked in the commercial software industry and got exposure to the latest technologies and design philosophies used while creating commercial software, I started to get a feeling of what it is exactly that is lacking with the Chemical Engineering softwares. While the creators of these softwares are usually good in the domain knowledge, they lack in usability. As a result, these softwares typically have one or more of the following problems:

[P1] User Interface

Most softwares have either unfriendly user interface or no user interface. At worst, there exist programs which take inputs from a text file which has to adhere to certain format, and they write their output in some other text file in their output format. Even with some windows-based programs, finding the most suitable option is difficult. Most iterative programs crash without any clue to the user as to what is happening.

[P2] Printer Unfriendliness

Printer independence has long been achieved in the commercial software; but many programs that the Chemical engineers use typically cannot print well on more than two printers.

[P3] Functionality Focus and I/O Incompatibility

Typically a simulation program will not do design or process control calculations. The end user therefore has to use multiple programs for her diverse needs. The 'io's of these programs are blissfully incompatible with each other. Thus, even if program A has computed all the variables which are to be fed to program B, the user has to manually key in the values into program B.

[P4] Cost

The commercially available Chemical Engineering programs are typically quite expensive. Most small and medium scale industries cannot afford some of the high end products available today.

[P5] Inaccuracy of Results

Many Chemical systems being inherently complex in nature, most programs which are not written for exactly the system in hand can be used only for trend analysis, and that too is trustworthy only when done by people having a good domain knowledge. (You need the experience to have a feel of whether the software considered the azeotropic point correctly or not, for instance.)

[P6] Lack of Support for Newly Available Algorithms

If a good mathematical model or a good solver gets published, the Chemical engineering community cannot start using it till it becomes available in one of the available programs.

[P7] Proprietary Algorithms

Most companies guard some domain knowledge they have from the rest of the world. Naturally, such proprietary models cannot be available in any commercially available software. Sometimes, the models a company develops (probably from plant data) are too specific to its own scenario to be incorporated into any general software even if the company is willing to publish it. As long as tools do not give the ability to plug in their own model, or they do not have the financial muscle to get their own custom software, the companies are helpless about using their own models which they can trust more than anything else.

[P8] Application-specific Language

The very few of the available softwares which give the end user the option to plug in his own modelling equations typically burden her with the task of learning a new language which could be read by the software.

[P9] Configurability

In some softwares, the configurability provided is not good enough for expert users, and in some others, the software requires too much of configuration to baffle a novice or a casual user.

[P10] Resource Intensive

The few softwares which aim at handling wide customer base are huge monolythic softwares, typically supporting thousands of components, hundreds of equipments and tens of solvers. The end user has to install all that even if his need is restricted to seven or eight components.

[P11] Lacking Internet Advantage

Internet has opened various opportunities on business and technology fronts. The available softwares were typically developed in the pre-internet era and cannot use internet to their advantage to the extent it can be used due to their inertia.

While the software technologies developed to handle most of these problems, the solutions did not percolate to the engineering softwares domain, probably because there are few people who have in-depth understanding of the engineering domain and software engineering.

-Ashish
Sept 24, 2000