0
$\begingroup$

I'm an engineer and I'm planning to get a bigger toolbox than Excel to solve difficult problems. I started learning Python (as that seems the script language to go for math intense jobs, and runs in the background of many applications) and plan to take a deep look at Sage and Ascend, as those seem to be two good free packages that do different jobs. Ascend especially was written with process engineering in mind.

Right now I pursue this in my spare time.

Now, I look for problems that are not too far from my background - process & environmental engnieering. Possible tasks (that I think lend them selve to numerical solutions):

  • compressible flow through channel
  • flow through networks of pipes (Gas, heating)
  • mass-flow through complex systems with lots of interconnections and chemical/biological reactions
  • thermodynamic cycles
  • sizing heat exchangers

I think in most professional environments this would be done in ASPEN or Aquasim, the company I'm at doesn't (need to) work like that. Note that I'm not looking at CFD or Finite Elements.

Most of these I could get from my work - but without a correct solution to benchmark my calculations. Ideally, I would have a problem and a correct solution, where the problems need some engineering or physics understanding and the ability to translate this into some code (depending on the platform used to solve) - or a Project Euler for engineers!

Where can I find worked examples with results to sharpen my teeth on?

$\endgroup$
  • 1
    $\begingroup$ Hi mart, and welcome to Scicomp! Your question is a bit too broad in scope, as there are many possible process engineering "toy problems" with an analytical (exact) solution. I recommend limiting your question to a specific application of interest to you. Also, have you tried creating your own small sized "toy problem" such that you can find the exact solution analytically and compare it to numerical results? $\endgroup$ – Paul Mar 27 '13 at 14:09
  • $\begingroup$ I'll maybe narrow down my question once I got a proper start. $\endgroup$ – mart Mar 28 '13 at 8:59
6
$\begingroup$

I'm not sure what I have to say here qualifies as an answer, but what I want to say will not fit into a comment, either, so I have decided to take a chance.

An autodidact such as yourself will know himself better than I can infer from reading one question. But in my view, casting about for computational problems to tackle seems bit like putting the cart before the horse. It also seems like a quick way to make the study of computational methods dry and tedious.

I think a better approach is to search for specific applications that interest you. At first, don't dwell much on the computational requirements. But once you find an area that strikes your interest, dig a little deeper and see if the extant computational methods look interesting. If so, it might be worth reproducing an algorithm here or there, using existing tools as your reference.

But even better---make a judgement about whether or not those existing tools have room for improvement. Do you think there's a better way? Perhaps an approach drawn from another application that might map over well? Maybe you read something in a paper, but the author seemed better at writing a journal article than publishing useful code. Or perhaps there is a commercial package whose functionality could be duplicated in open source, and you're just the guy to set the algorithm free...

Nothing will motivate learning new computational skills---mastering Python or Sage, learning the ins an outs of an open-source library, etc., mastering a new mathematical technique---like the need to use it to solve a particular problem that's eating at you. That's where I'd put my stake in the ground and start working on code.

Sure, you may not learn to code as elegantly as someone who sits down and plods through a formal text and works out all of the exercises. It's possible that some of the code you come up with would make a seasoned expert scoff. But there's time to learn the formalities and conventions as you go. You'll be able to tell when it's time to take a break from the creative exploration and sit down with a reference manual for a few hours.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.