I was born and raised in Innisfail, a small country town in the far north of the state of Queensland, Australia. Being in the far north, Innisfail was hot and humid where the rainfall each year is measured in meters. The local industry was mostly agriculture with the crops being sugar, banana and papaya.
I started programming when I was in high school (~1989), after our family purchased an Amstrad 464. It had a whopping 64K of memory and used audio cassettes as the storage medium. I recall spending many hours copying lines of basic code from tutorial books only to have the tape get corrupted and lose everything. I’m sure there are a few people out there that have experienced this with tape storage.
My father was a motor mechanic, which meant I was exposed to all thing mechanical during my childhood. My motivation for becoming an engineer was driven by me not wanting to become a motor mechanic. I studied Mechanical Engineering at James Cook University in Townsville, Queensland and was awarded my bachelor’s degree in 1996. I continued on to do a Ph.D. at the same University, completing in 2001. My doctoral thesis titled ’Studies on Modelling Circulation in Sugar Vacuum Pans’ investigated the circulation and heat transfer occurring in sugar crystallization vessels through development of a computational fluid dynamics model of the system. This study involved the use of CFX-4, which included modification and development of various FORTRAN source code subroutines of CFX-4 relating to multiphase flow and boiling. Townsville was also where I met my wife.
After leaving University, I joined the Sugar Research Institute (SRI) located in Mackay, Queensland. I was only at SRI for two years before the impending birth of my first child took me way south to Melbourne, Victoria to be closer to my wife’s family. I joined Australian Trade Development in 2003, the Australian agent for the CFX software (owned by AEA Technology at the time) and FieldView. In this role I managed all technical support in Australasia and South East Asia for more than 50 separate customers, delivered training courses and coordinated marketing and sales. I was also responsible for providing consultation services on a range of CFD related topics. The acquisition of CFX by ANSYS saw me leave Australian Trade Development to join the Commonwealth Science and Industry Research Organisation (CSIRO). At CSIRO I worked in the Minerals division developing numerical models for a range of hydrometallurgical unit processes, involving multiple phases and complex physics.
In 2011, I took the bold step to start Applied CCM as I could see that the needs of new and current users in the field of Computational Continuum Mechanics were not being met by the large commercial providers such as ANSYS and CD-adapco. At the same time I could see a growing interest in open source CFD software such as OpenFOAM®, however, local support for OpenFOAM was lacking. The start of Applied CCM also heralded the partnership with Pointwise, Inc. as Applied CCM became the Pointwise distributor for Australia and New Zealand. Mesh generation is an extremely important part to any CFD simulation, a part that is often not given the attention it needs. Mesh quality is where the CFD analyst has the largest impact on solution quality. A high quality mesh increases the accuracy of the CFD solution and improves convergence relative to a poor quality mesh. Therefore, it’s important for mesh generation software to provide the tools for the CFD analyst to inspect and control the quality of the meshes being generated, Pointwise was the most logical choice.
In 2014, Applied CCM released the first version of Caelus as an alternative to OpenFOAM. The reasons behind the development of Caelus have been discussed in the blog articles here and here. In 2015 Applied CCM Pty Ltd and Applied CCM Canada signed partnership agreements with Celeritas Simulation Technologies LLC for worldwide sales and support of the Suggar++ overset grid assembly software.
- Location: Melbourne, Australia.
- Current position: Managing Director, Applied CCM Pty Ltd.
- Current computer: Lenovo laptop 64-bit Intel i7 CPU with 32 GB RAM (Windows 10), Macbook Air 64-bit Intel i7 CPU and 8 GB RAM (Yosemite), Supermicro workstation dual 64-bit Intel Xeon CPU with 256 GB RAM (Ubuntu 12.04) and 200 64-bit Intel Xeon core cluster with 928 GB RAM (Red Hat 6.7).
- One word that best describes how you work: Determined.
What software or tools do you use every day?
- For emails I use Microsoft Outlook and a web browser I use Google Chrome.
- Pointwise for grid generation.
- Caelus for CFD simulations.
- For report writing, a combination of Latex and Microsoft Word (depending on the client).
- For development:
- For editing I use either Notepad++ or Gedit (depending on operating system). I sit on the fence in the vi versus Emacs
- For code documentation I use Sphinx.
- For version control I use git teamed with Bitbucket.
- For compiling I use gcc on Linux, clang on Mac and MinGW on Windows. Using different compliers is a must for finding those weird coding errors.
What does your workspace look like?
I have a lot of monitors connecting to my various computers. All computers use a common keyboard and mouse via the Synergy software. Occasionally, I have a mouse plague on my desk as Synergy is not fool proof. My desk is usually covered with Journal papers and bits of code, I cleaned it up just for the photo. As a Star Wars fan I have a few nick knacks taking up some desk space.
What do you see are the biggest challenges facing CFD in the next 5 years?
I’m going to nominate two challenges for CFD in the next 5 years.
The first is related to meshing, in particular handling of large meshes. Problem sizes are only getting bigger, helped by improvements in parallel computing and the reduction in hardware costs. The generation of large meshes isn’t the issue, I have generated a 1.2 billion cell mesh using the current version of Pointwise on my workstation. However, meshing is still predominately a serial process. The meshing software generates a single mesh that is further processed, renumbered and decomposed before being used in the flow solver. This approach just isn’t going to work for the billion cell+ meshes of the future. The challenge isn’t going to be meshing in parallel, there are already algorithms that accommodate this. The real challenge is going to be generating a mesh in parallel that can be directly used in the flow solver without the need for further processing.
The second issue is education, or dare I say the lack of it. Since its inception, CFD has become a very powerful tool with improvements in accuracy, robustness and the complexity of problems that can be tackled. The addition of user interfaces to CFD software has made it easier to use, to the point where education (at least in my country) has begun focusing on the interface and not the tool itself. I’m not going to mention the “D” word, but with a push in that direction, I believe there should be more importance on education finding the balance between teaching “how to click the buttons” and “what the buttons actually do”.
What are you currently working on?
The biggest task I’m undertaking at the moment is adding rigid body motion to our overset library that utilizes Suggar++ and works with Caelus. In addition to that I’m undertaking development of improvements to the Volume of Fluid (interFoam) Solver in OpenFOAM for a customer.
What would you say is your meshing specialty?
I’m not sure I have a specialty, however, I do seem to attract problems requiring large (hundreds of million elements) and unusual meshing approaches.
Any tips for our users?
Subscribe to the Pointwise YouTube channel where you will find numerous videos containing very useful information. Aside from that I’ll repeat what others have said, ask questions, we are here to help you get the most out of the software.
What project are you most proud of and why?
Choosing a project I’m proud of is like picking your favorite child, they all have their unique qualities.
It was a difficult choice, but I have one that stands out from the others because of the complexity involved. During my time at CSIRO I got to work on some very challenging problems, the most challenging and rewarding at the same time was modelling the bath dynamics in the HIsmelt reduction vessel for iron production (a copy of the paper can be found here). This model involved multiple phases, with multiple reacting species in various thermodynamic states (solid, liquid and gas). The modelling work was done using a custom version of ANSYS-CFX developed in-conjunction with staff at ANSYS-UK and involved lots of FORTRAN code.
What CFD solver and postprocessor do you use most often?
Being one of the developers of Caelus means it is my go to solver. However, I still run various versions of OpenFOAM when providing support to our customers. For post-processing I share my time between ParaView and FieldView.
Are you reading any interesting technical papers we should know about?
I have a very long reading list. There are two papers that have my attention at the moment:
- “DiRTlib: A Library to Add an Overset Capability to Your Flow Solver”, Ralph W. Noack, 17th AIAA Computational Fluid Dynamics Conference, June 6-9 2006, Toronto, Ontario, Canada.
- “Green-Guass/Weighted-Least-Squares Hybrid Gradient Reconstruction for Arbitrary Polyhedra Unstructured Grids”, E Shima, K Kitamura and T. Haga, AIAA Journal, Vol 51(11), 2013.
Do you plan on attending any conferences or workshops this year?
In September I’ll be attending the Pointwise User Group Meeting in Fort Worth, USA. In October you will find me at the 13th Symposium on Overset Composite Grids and Solution Technology Mukilteo, USA. Closer to home, I’ll be attending the 20th Australasian Fluid Mechanics Conference in Perth, Australia in December.
What do you do outside the world of CFD?
There is a world outside CFD?
Just kidding, when not doing CFD you will find me with the family or renovating the house. The renovations have taken a while, long enough that by the time I finish it will be time to start again.
What is some of the best CFD advice you’ve ever received?
The best advice came during my PhD. I was using a commercial CFD solver and the results were rubbish (non-mass conserving). My supervisor told me “Just because you paid for it, doesn’t mean it will be correct”. I had made the mistake of assuming that money == validation/verification. After undertaking my own validation exercises I was able to prove there was a bug in the software that was the cause for the incorrect results. From that point on I have been on a validation and verification crusade.
If you had to pick a place to have dinner, where would you go?
Melbourne is very multicultural so you can get any type of food you desire. We usually go to a local restaurant (The Dandenong Pavillion) for a burger. If you want some entertainment then you cannot go past The Cuckoo where you get to yodel and partake in some German slap dancing.