OpenCalc open souce framework

Discussion in 'Software' started by Steve Hollister, Sep 12, 2019.

  1. Steve Hollister
    Joined: Sep 2001
    Posts: 57
    Likes: 6, Points: 8, Legacy Rep: 82
    Location: Rhode Island

    Steve Hollister Junior Member

    OpenCalc, a (free) framework for creating and integrating software from all independent software developers is nearing a formal release. It has been in development for almost 6 years and I have given 5 technical papers on the subject and created three working (beta) versions seeded with free copies of my Intact Hydrostatics and Stability, Lackenby Hull Variation, Savitsky Planing Hull Resistance, and Holtrop Ship Resistance programs. Anyone can create their own calculations (free or fee) for the system, but the goal is to make all software and data compatible. This is not my framework for sale, but a free and open source framework for download by anyone. Again, what you add to it may be free or for sale.

    OpenCalc splits traditional "Apps" into three parts: batch Code Engines (CE), common VXML data files, and common User Interface Frameworks (UIF). Included with OpenCalc is a free Excel spreadsheet (UIF) with open source macro code that can launch any CE hidden in the background and provide looping, printing, plotting, and contouring. It looks like the calculations are done inside the spreadsheet. Since CEs are standalone, they can also be wrapped together by users to create completely new solutions with no custom programming. In one of my papers, I showed how I wrapped my Lackenby Hull Variation CE with my Hydrostatics CE and my Holtrop resistance CE to search for an optimum solution - all with no custom programming. This recreated the work for a paper I gave to SNAME 20+ years ago(!), but that was in DOS and all of the code was custom and tied together.

    Many programs are islands of calculation that are difficult to learn and to integrate with other code. There is an open source ship motions program called NEMOH, but it's up to you to figure out how to tie it in with your CAD and other software. OpenCalc provides a framework for everyone to add pieces to tie everything together. Common data definitions will evolve that do not have to be manually translated to and from neutral file definitions, like DXF, IGES, and STEP. Mesh definitions can be generalized and OpenCalc will provide open source I/O code for all programming languages. One could create a NURB to mesh generator CE and then add in my hull variation CE and then perhaps a Michlet or NEMOH CE to automatically search for an optimum shape. Users would be able to "wrap" CE together and launch them from the standard spreadsheet UIF front end.

    OpenCalc is the result of my 45+ years of programming software for the marine market with complex programming and a continually changing technological environment. I still have old DOS code sitting on my computer that does not justify conversion to full Windows apps. (Where is my old DOS NURB surface to Michlet data file code?) However, it will be simple for me to turn them into stand-alone batch CEs. I envision a world where anyone can create compatible CEs with the open source programming templates and then upload the code for download - for free or fee. Some refer to this as coopetition, where we all can work together and compete at the same time. However, we need an open framework to get this done, and OpenCalc will be completely free. It's independent of all of my other software development. I plan on turning the underlying TSPA code into a formal open source project that is independently controlled and funded. This is not a method for me to have an advantage over other programmers.

    This work started in early 2014 when I got a call from Rik van Hemmen where we (again) tried to figure out a way to solve the problem of "lost" programs and changing technology. This initiated a connection with SNAME and the start of what was called "Project 114" which later became OpenCalc ( Home - Project114 ) . Over the years, I generalized the concept to all areas of programming and set up the website for Tri-Split Programming Architecture (TSPA) ( ). This site has complete details on how everything works, including a big discussion on how this work fits into the larger world of cloud programming, outsourcing, common data, and "agile" programming. The "Paper Trail" page gives a complete description of how this all evolved and links to all technical papers, including my last one to Compit 19 in Ireland in March.

    A separate website will be set up for OpenCalc and the download will be free for all. I will likely again seed the framework with some of my software for free. The hydrostatics and stability software and the Lackenby Hull Variation software can work with GHS, SHCP, and LFH station definition files. When it's ready to go, I hope to have a "Parting Shot" column in Professional Boatbuilder to announce it. I will also announce it here.

    For programmers interested in getting ready for this framework, all you have to do is to write your code in a batch form like a big subroutine of input and output variables. The open source templates in C/C++, VBA, Java, Python (and FORTRAN and more later) will handle all of the data file I/O using simple API commands like "Get" and "Put." That's all you have to do. The Excel UIF front end will launch the CE with no programming, and anyone can wrap your CE with others to do more complicated calculations. I'm looking forward to the first wrapping of a NURB surface variation CE (I have to dig up my old NURB surface/Lackenby variation code) with a Mesh Creation CE followed by a CFD program. (OpenFOAM as a CE anyone?) Regular "users" will be able to wrap CEs without a large corporation budget.

    Also, I have shown how my ProSurf CAD program can launch independent CEs and my goal is to get all CAD programs to adopt this open standard. If they do so, then you will be able to write an independent CE and have it work stand-alone with the common Excel front end or with any compatible CAD program with no custom programming. Instead of being tied to one CAD program, your code will run on any. You will write a batch CE once and then the open source framework will allow it to be used in many different ways. See both web sites for complete details.
Forum posts represent the experience, opinion, and view of individual users. Boat Design Net does not necessarily endorse nor share the view of each individual post.
When making potentially dangerous or financial decisions, always employ and consult appropriate professionals. Your circumstances or experience may be different.