No, it's not about marijuana: I'm making my own process simulator using the Mathcad/Prode Physical Properties (PPP) combination. Yes, I'm probably crazy, but I have some reasons for attempting this project.
The primary need
For several years I've considered possible ways to incorporate my reactor models (see my book) into a process simulator. If I were still employed by a company that provides access to an expensive, high powered process simulator, I could probably find a way to add my reactor models to that simulator. For example, Nguyen  was able to create a Mathcad module and link it into Chemcad. Chemcad is a very excellent simulator, but it is still expensive for my situation. I can lease it during the life of a consulting project and pass that cost on to my customer, but the cost of developing the user reactor models without a consulting contract is an obstacle. The same could be said for all of the popular simulators.
Low cost simulators
I have searched for other less expensive simulators. The DWSIM Cape-Open compliant package is free, so the price is right. However, it doesn't appear to have a large compound physical property database. I believe it has the capability to add another Cape-Open database, but that doesn't appeal to me: I've already done that once with Prode Properties. Also, it is written in Visual Basic.Net which is another minus for me.
Another option is PD-PLUS by Deerhaven Technical Software. I downloaded the free trial and I loved it. It costs about $2000 for a perpetual license which is acceptable to me. However, its Calculator Block for adding new unit operations uses in-line Fortran. I've a lot of experience (in another era) with Fortran, so that is also acceptable. The problem is that the in-line Fortran doesn't allow functions or subroutines. My models would be extremely difficult to write without that capability.
My process simulation background
The first process simulation program that I used was the DuPont in-house program, CPES. In it's day, it was a very powerful program. It was extremely flexible because you essentially wrote Fortran programs but you used canned CPES functions for the unit operations. I liked this concept because it gave me full control of the program and I could make energy and material balances for envelopes that would help me speed up recycle computations. The main shortcoming was it lacked extensive physical property models and data. DuPont hadn't ventured into the petroleum world at that time, so CPES used mainly Van Laar models with infinite dilution activity coefficients, often adjusted to data when simulating an existing system. When I left DuPont, they were about to replace CPES with commercial programs.
My next job was with Phillips Petroleum Co. They too had an in-house program called HMBS. I never used it extensively because Phillips also started using Aspen and Hysys. I used both of those programs for my conceptual process development work.
When I first obtained PPP and linked it to Mathcad, I said that I didn't intend to use it to develop a process simulator. However, as I have gained experience with the Mathcad/PPP combination, I see that it might not be too difficult to develop a full flowsheet in this manner. The core of any simulator is the physical properties data and property models. PPP provides not only those items, it adds routines such as flashes, compression and expansion, and staged column separation. With PPP, I have a major fraction of the work already done.
Of course the obvious advantage is that my reactor models don't need to be ported to another program. Instead, I just need to modify them to take advantage of PPP where it makes sense.
Another advantage, to me anyway, is that I get to return to the complete flexibility that I experienced with CPES.
The program I am contemplating will not appeal to engineers who have only been exposed to click and drag Windows GUI's for simulators. However, my experience with PD-PLUS, which does not have graphical input, reminded me how much I liked the old school method.
The program will not have the automatic tearing algorithms, but I became pretty adept at figuring out which streams to use as tear streams (see note 1) when I was using CPES. The large simulation packages may also use equation based methods for convergence instead of the sequential modular method I will be using.
The program won't produce a process flow diagram (PFD), but somehow we survived without those in the past. I can produce a simple diagram that shows the connectivity and stream numbers for the small process configurations that I will usually encounter.
I anticipate that I will be able to develop additional reactor models for gas/liquid reactors and other special reactors that aren't included in traditional simulators. Granted, Aspen Custom Modeler can do all of that, but at a hefty price. My Mathcad/PPP combination is about $2000, the same as PD-PLUS but with extra reactor capability.
The process of creating this simulation capability should present some interesting learning experiences for me. I will pass those on to you in this blog.
 Nguyen, A.B. “Embedding OLE Objects into a CHEMCAD Process Simulation to Extend Modeling Versatility.” U. of Alabama in Huntsville (2007). A Master of Science thesis available from the UA library.
(1) A tear stream is one selected for converging in a recycle loop. You guess its initial composition and flow rate, etc. and then compute the rest of the loop. When you return to the tear stream, its new values are checked for convergence to the assumed values and then it is updated by some algorithm before the next iteration of the loop.