The application of computer programming to chemical engineering process simulation and analysis. Through worked examples and assignments, students develop their skills in process modeling and simulation using a high level programming language. As part of the course, students are expected to design, develop and test their own computer-based process simulators of one or more unit operation common to the field of chemical engineering.

Add to Cart

This part of the project consists of two major tasks: Since the equilibrium stage model for

steady-state distillation is the most applied model in process simulators for distillation columns,

the first task was to create a simulator employing the equilibrium stage model using the java

programming language. A part of the code generated in Part 1 of the project “Physical Property

Database and Temperature-Pressure Flash Calculations” had been utilized especially the

Thermodynamic Models involving the Flashable and TPFlash classes. However, since

these two classes are connected to the other classes in Part 1 of the project, therefore, basically

most of the classes in Part 1 had to be incorporated in Part 2 of this project. In addition to that,

the Newton-Raphson solver, Thomas Algorithm and some numerical derivative routines had to

be used in order to solve for the system of nonlinear equations that resulted from the

implementation of the equilibrium stage model. Principles of object-oriented design were utilized

while designing the simulator.

The second task was to test the simulator for the binary system of Ethanol-Water and the ternary

system of Methanol-Ethanol-Water while making use of text files with feed, operating conditions

and suitable initial guesses that were supplied to us.

Process modeling and simulation are the vital tools for the analysis and detailed study of any chemical process. Realistic process models that utilize the fields of chemistry and physics are essential when dealing with activities such as optimization, design, and control of the associated processes. Simulation helps to develop new processes; thus, reducing capital and time investment. The difficulty in using process models is defining the objectives of the simulation during its formulation. Therefore, using object-oriented programming (OOP) and Java for solving chemical engineering problems such as the modeling of reaction systems is efficient and provides a number of advantages over the conventional methods. 

First, OOP provides enhanced software development productivity. This is because it is modular and offers separation of duties based on an object program development. Furthermore, it is extensible in the sense that the objects can be extended in order to include new behaviors and attributes. This feature is essential in modeling a framework, as the model is able to adapt to different configurations depending on the surrounding environment. The objects are also characterized by reusability across the various applications. These three factors imply that “object-oriented programming provides improved software-development productivity over traditional procedure-based programming techniques”. 

Second, OOP and Java offer improved software sustainability. Taking into account the modular design of Java, a section of the software can be updated. It is significant for a case by which there is a need to alter the system without making large-scale changes. At times, inputs to a unit may need to be altered. An example of such a case is quantitative changes, such as product demands or composition of feed. The simulation tool will prove to be useful because “fine-tuning of the operating conditions in response to such changes is often needed”. 

This report describes the development and implementation of a JAVA-based computer program

to model a common chemical engineering problem. This program was designed to simulate the

operation of distillation column ventures, as well as compare their profitability given a set of

characteristic data. The program exercises the advantages of object-oriented programming

features such as encapsulation, inheritance and polymorphism, as well as an interface to solve a

design problem. The use of files is also employed to facilitate the manipulation and storage of

data for the user required by the program. The implementation of exception handling assures the

program compilation will not be interrupted abruptly, but rather mitigate potential errors as they

occur and allow the program’s execution.

Ridder’s root finding method was chosen to simulate the graphical McCabe-Thiele Method to

determine the theoretical number of trays by finding the intersection of the equilibrium curve and

a horizontal line positioned on either the enriching or stripping line at each step. A series of

validation exercises of every aspect of the program were performed and illustrated in the report

to insure the program correctly represents and solves the problem at hand, as well as any

variations of it.

The JAVA program accurately determines the most profitable venture to be Venture 1 with a

profit of $33 million and five trays. This was compared to the profit of Venture 2 at $27.6

million with four trays, and a loss of $5.9 million for Venture 3 at 11 trays.

You must log in and be a buyer of this download to submit a review.