Applied Python

Improving the world, one python statement at a time.

Over the past 10 years, I have been exploring the capabilities of python. While it is excellent for developing stand-alone applications, it is also excellent for wrapping existing codes.

You can wrap existing codes by using:

Some of my Python Projects

Over the years, I have written a number of python projects just for the fun of it. The list below gives a flavor as to some of them.

  • XYmath at https://sourceforge.net/p/xymath/xywiki/Home/ creates and uses curve fits of data
  • Parametric Solutions (parasol), at http://pyparasol.sourceforge.net/ provides a computational environment for scientists and engineers.
  • tk-happy, at http://tk-happy.sourceforge.net/ provides a gui generation tool for tkinter.
  • python2xlw, creates an Excel-compatible plot file to display XY Scatter plots and tabular numerical data without using COM (see https://sourceforge.net/project/showfiles.php?group_id=75779).
  • RefProp7, wraps the NIST fluid properties RefProp7 code
  • TDK, wraps the industry standard TDK nozzle kinetics performance code, TDK.
  • CEA, wraps the NASA Chemical Equilibrium combustion code, CEA.
  • MDOT, wraps the proprietary MDOT optimizer (Micro Design Optimization Tools)
  • POV, wraps the POVRay ray tracing code
  • ELES, wraps the industry standard vehicle modeling code, ELES.
  • Goal, employs the Jack Crenshaw root finder in a nestable form.
  • Carpet, creates carpet plots (x,y dependent with a,b independent)
  • fakeBiggles, to capture biggles plot commands and drive matplotlib
  • corrStates, for scaling fluid properties by the method of corresponding states
  • colebrook, solves the Colebrook equation for fluid friction factor
  • cryptoQuote, for solving crypto-quote puzzles
  • HX, for modeling heat exchangers (cross-flow, counter-flow, parallel-flow, etc.)
  • Integ, general integration scheme for problems involving stop/restart criteria
  • IspServer, is a COM application for delivering specific impulse (Isp) to client apps
  • Pintle, for modeling solid propellant pintle designs (variable throat nozzles).
  • powerbal, for solving pump fed rocket engine power balances of all cycles (gas generator bleed, expander, staged combustion, staged reaction, augmentor)
  • pySinda, for solving steady state 2D thermal problems.
  • TankPressurize, numerically solves regulated tank pressurization requirments for rocket propulsion systems.
  • Excel_wrapper, Word_wrapper, PPT_wrapper are COM drivers for Microsoft Suite applications.

Engineering

This site is primarily an engineering site. It is intended to be a celebration of the many benefits that the python programming language can bring to engineering disciplines.

For an engineer, programming is a means to a real-world end. Python is a language that lends itself to clear, concise syntax and clear concise expressions of engineering intent. It can often look like the pseudo-code with which an engineer might pose a solution.

A novice python programmer can be extremely productive with only a modest grasp of the python language. That same novice programmer can make use of the many highly advanced tool sets that are available in the public domain and can perform at a very high level.

As the programmer advances in python programming ability, the many benefits of hiding complexity in objects can be brought to bear. By moving away from the low-level software implementation issues and into higher levels of modeling abstraction, engineers can think of their python model and their real-world devices in the same terms.

Python... The first choice for Engineers

After writing hundreds of thousands of lines of code in dozens of programming languages, my experience tells me that, if an engineer knows only one programming language, it should be python.

There are many good reasons to learn a second, third, or fourth language, but they are all driven by special needs. In most cases, an engineer needs a reason not to use python.