Physics 231 Project Outline

David Prawira

Instructor: Professor Clare Yu

 

 

Title: Reactor Design in C++

 

Description:

The program will take inputs of rate equations, raw materials flow rates, temperature and pressure of the inlet flows and reaction and desired conversions. It will then compute the sizes, times of various types of reactors needed to accomplish the reactions to the desired conversion for the inserted raw materials flow rates. It will also calculate the approximate costs of the equipments. Ideally, the program should be able to handle most types of rate equations and most reactors there are in the world. However, it would only make the program too long and the problem too complex therefore I would include the small order rate equations and simple reactors. I would try to include features that make it easy to expand in the future.

 

Preliminary Plan of Classes that the Program will have:

  1. Class Real Functions / Rate Equations
    1. This will contain the base class definition
    2. Class Zero Order, First Order, Second Order, etc will contain definition of derived class with Class Rate Equations as its base class
    3. Hopefully, this will show inheritance
  2. Class CSTR (Continuous Stirred Tank Reactor)
    1. Will contain the calculations needed to get volume and cost for this particular reactor
    2. Will contain virtual functions
  3. Class PFR (Plug Flow Reactor)
    1. Will contain the calculations needed to get volume and cost for this particular reactor
    2. Will contain virtual functions
    3. Will include numerical integration technique
  4. Class Batch (Batch Reactor)
    1. Will contain the calculations needed to get volume and cost for this particular reactor
    2. Will contain virtual functions
  5. To implement polymorphism, I will then include an external function so that in main I could call the external function to get whichever reactors I would like to use.

 

Other features like overloaded operators, templates, throwing and catching exceptions, nested classes and abstract classes will be incorporated into the body of the program everywhere it is possible.