My Blog

I'm a DOCTOR!

Well, not quite. I still need to pay off my dues and print and bind 7 copies(!) of the thing. Still, what a great feeling to have it finished. Viva and corrections felt a bit like going back to the bad old days of a one task life, but now it’s done it feels fabulous and I’m greatly looking forward to graduation, which will involve a KILT, no less.

Quite a bit has gone on actually since the last time I blogged but I’ve not really felt like I had the time to post. However, I did a time management course last Wednesday and I’ve worked out that Monday morning is a light year or two from my “Prime Time”, so I thought this might be a good opportunity to write something. Also, a friend just posted a blog and it made me feel guilty about never updating this, so twice the motivation.

So what’s the news? Well, fifthwave is nearly working and version 0.2 was released in time for my IES presentation, which explains a little about it and other things I do on the side. In fact, I might have a link to a pdf version of the presentation just click HERE to get the presentation. There is also a natty intro video to the presentation which is on youtube: I’ll embed it below.

Even with fifthwave coming on-line, there is still a lot of work to do. The primary job of a researcher is the production of papers, and I don’t have any to my name as yet. Thus, all attention is now focused on that. Hopefully fifthwave can give some backbone to one of the papers. The other is starting with a EWTEC submission which is based around the V&V report I did at the start of the job and then I’ll give it a canny twist of a hypothesis, to make it into a proper paper, hopefully. More on that to follow!

Right, lots to do! Need to plan plan plan! Oh, and check this out:

A youtube vid to be added…

Fixing Fifthwave

Ok, so the last two weeks of panic have been fixing something called fifthwave. To understand what fifthwave is, I need to introduce the project it is related to, that is actually supposed to be the most important part of my job. Strangly, this is only the second project I have taken on, but it has spawned a lot of work. Ironically, it is not even my part of the SuperGen project, and it’s doing something I never really wanted to do! Nonetheless, it has now occupied more than 2 years of my time.

What is this mysterious ball and chain, you may well ask? Simple, its modelling the impact of a current on a wave energy device. Now, this is easy to say, but the physics (in particular the numerical modelling challenge of doing this) is quite complicated. It is made exceptionally complicated by the fact that the current will be applied perpendicular to the wave, which means that it must be modelled in 3D. Argh! Add to this the fact that we have no in house code that could cope with this or the resources to produce one and you should be starting to see the challenges involved.

These issues are what have brought about ‘fifthwave’ as I was forced to use the commercial CFD package which is used to teach the students. Now to some extent this is reasonable package for our purposes – it generates waves and currents, it handles floating bodies with 6 degrees of freedom. Unfortunately, this was developed for preliminary investigations into ship dynamics and therefore lacks a great number of diagnostic tools for solving wave energy problems, in particular, testing the quality of the waves generated.

And that is what fifthwave is for – it is Python code that takes a waveform (in 2D) and records various metrics in graphs and reports about that wave form. Those metrics can then be used to do what is know as a convergence study that will inform me about the quality of the grid I am using. Very useful. What went wrong is that fifthwave originally just produced errors against an analytical wave form, but the convergence tests only work on the original data, and that was harder to extract than it might have been. After a two week slog, fifthwave can now output raw data and errors which makes more sense , say, if a wave with no analytical solution is being examined.

Fifthwave can do more too! In the course of developing fifthwave, a delivery system for sending CFD jobs to our compute cluster has also been added. Fifthwave is turning into an interesting little bit of code that might be useful to others (I have plans). If you want to keep an eye on how the development is going, I (used to) publish the state of the issue tracker (ditz, if you’re interested) here. Now I’d better fix the rest of the bugs and start using it for something.

Back in the habit

No, I’m not talking about nun head wear. I’m talking about using this blog effectively by using it at all. So, I thought I would try and update it at least once a week with what is going on, so what is going on?

Well, in the ages it’s been since I last posted anything a few things have happened. Sadly, none of these point to getting a paper out, but never mind. The big things are that I have learnt Python (to a degree) and have coded up a nice little assessment program for comparing a wave generated by starccm+ (but could be any other program) with an analytical wave. Unfortunately, it has taken me a while to get this up and running and I have no significant results from it yet, but the bare bones are there, so hopefully it won’t take too long to get something useful. The problem is that there is such a range of potential tweeking to be done, that it is difficult to assess what variables I should be examining.

The Python is quite neat, in that it also delivers jobs to our compute cluster and then analyses them once they have finished. What’s amazing is how unreliable that process is, not just because of the young code I have written, but because of star and Sun grid engine being rather random with their outcomes. Add that to some interesting practices from the cluster administrator (like restarting the queue every hour) and error catching becomes extremely challenging. Still, I’d like to publish the delivery system if possible – assuming I can get away with GPLing the IP. The bugtracker (ditz) is (was) here if you want to snoop on my progress.

The second big thing relates to the other part of my job which is the SuperGen Marine Energy Consortium Website. Due to a nasty hack attack on the old e107 system, the IT department insisted we cease and desist administering our own websites (e107 was always a bit of a mystery to me, especially with the custom hacks that has been added to it) and get in line by using Drupal. This could have been a big, time consuming job but we lucked in with getting a great young developer names Sean Bedford to port the core content over and re-establish the publication database. A few attractiveness tweeks from yours truly and we were ready to go again in about 3 months, which I though was pretty good considering we were pioneering the system. Only downside with it is that there is no test site, which means that changes must be short and swift. There are many more “Drupally” things I would like to try out, but I can not develop this on the live site, unfortunately.

SuperGen Marine Energy Research Consortium

One, final thing that is taking my time at the moment, is an MSc project that I dreamt up. I have often been trying to get a verification experiment set up for my PhD code. Last year I was trying to get the flume working (no one took it on) and this year I want to make a solitary wave (or soliton) with a hinged wave maker. Now, this has been done before at Marseilles, but with no publication as to how. Traditionally a solitary wave is generated with a piston wavemaker, as a flap is not great at generating the high velocity required towards the bottom of the tank. However, if you raise the floor of the tank, then that error is reduced. This is all a bit pie in the sky at the moment, but I think working up the mathematics would be interesting and generating a soliton with our wave paddles is quite useful. We haven’t been allocated students yet, but even if I don’t get one, I’ll probably do some of this anyway – if I can handle the maths!!!