Language for Bearing Program

  • Thread starter bigaggie
  • Start date
  • #1
40
0
So, my company has quite a few old programs for calculating solutions to bearings, annular seals, etc. The calculations are iterative in nature, and none of these old programs are really integrated together, which is problematic. Plus they're in Fortran (or something else), and don't run on our newer computers. So I would like to reprogram some of them to run on 64 bit Windows machines. But I'm not sure what language to use for something like this. We'd like to package them together into a software suite that we can distribute among our engineering group. I know some Python, and I think I could do it in Python relatively quickly, but is this really something that Python's suitable for? Should we be looking at C (or one of its variants)?
 

Answers and Replies

  • #2
harborsparrow
Gold Member
613
155
C#.NET would be a reasonable choice.
 
  • #3
AlephZero
Science Advisor
Homework Helper
7,002
295
If the company is paying for the job, Microsoft Visual Studio supports Fortran (but not in the free VS Express versions). All the languages are integrated with each other, so if you want to leave your Fortran code untouched and add a graphical user interface in a different language, you can.

I agree the .NET framework would be a reasonable choice for any new code. Use whichever language is easiest to translate your old code into (which probably means "old school" C, rather than C++ or C#).

There used to be a very good fortran-to-C conversion program, called, unimaginatively, f2c. I don't know if it's still around or supported though. Try Google.
 
  • #4
999
69
EDIT: If you can package up the Fortran code as a DLL, you could use the existing code from another language like Python. I don't have any practical experience with this, though. Otherwise...

Python with numpy would be a good choice.

http://www.numpy.org/

There are several Python distributions for windows that probably have all you need, like Anaconda, Canopy, WinPython, and Portable Python.

http://code.google.com/p/winpython/
http://continuum.io/downloads
https://www.enthought.com/products/canopy/
http://portablepython.com/

I use WinPython. The default install is just a directory, with no registry changes. It's only as invasive as you want it to be. But Portable Python may be even more convenient in this way since it's meant to be run off a USB stick.

And here's a site with many pre-compiled scientific Python modules for windows:

http://www.lfd.uci.edu/~gohlke/pythonlibs/

With numpy, you want to try to convert an iterative solution to a vectorized solution. Usually this is very straightforward, but some cases may take some thought. In the case where only an iterative solution will work, I've found Cython fairly easy to use for massive speedups without having to write C by hand:

http://cython.org/
 
Last edited:
  • #7
40
0
Thanks for the help guys. Looks like we'll have to find a co-op or something (we're a bunch of mech engineers).
 

Related Threads on Language for Bearing Program

  • Last Post
Replies
2
Views
567
Replies
14
Views
8K
D
Replies
11
Views
2K
  • Last Post
Replies
10
Views
5K
  • Last Post
Replies
2
Views
940
Replies
5
Views
2K
Replies
2
Views
24K
Replies
5
Views
3K
Replies
13
Views
23K
Top