This is a brief article in the sense of popular science to introduce one of my fields of interest.
Introduction to CFD
Computational Fluid Dynamics, commonly referred to by the acronym CFD, is a simulation technique that uses numerical methods and algorithms to solve and analyze problems that involve fluid flows. Even if one trusts in Moore's law and hopes that the number of transistors that can be placed inexpensively on an integrated circuit will be doubled approximately every two years, the simulation of fluid flows will be a challenge for decades. The simulation of the interaction of liquids and gases with surfaces defined by boundary conditions etc. requires so much computing performance and memory resources that simplifications in the models are part of the daily business. Even clusters of high performance computers have only very limited capacities concerning CFG computations.
Nevertheless, CFD has grown from a mathematical and engineering curiosity to become an essential tool in for example the development of aerospace propulsion, weather prediction and the simulation of wind tunnels.
To performe this simulation the spatial domain has to be discretized into small cells to form a volume mesh or grid. In general there are two major types of approaches how to proceed: One uses turbulence models, the other the direct numerical simulation. In the case of a direct numerical simulation it is now the goal to use a model based on the fundamental equations of motion like the Navier-Stokes Equation and then to apply a suitable approach to solve it. It is possible to solve such models directly, e.g. based on the Navier-Stokes equations for laminar flows and for turbulent flows, when all of the relevant length scales can be resolved by the used grid. For a real turbulent flow this is in general impossible, even using todays massively parallel computers, because the range of length scales appropriate to the problem is too large.
If this is the case one may switch to a turbulence model, which means a trade-off between accuracy and speed of computation. The accuracy is decreased because in opposite to the direct numerical simulation that captures all scales of motion, the turbulence model tries to capture only some aspects of the fluid interaction, and for example in large eddy simulations one concentrates - as the name suggests - on large eddy structures in a flow.
Introduction to FEM
A lot of CFD simulations are based on partial differential equations (PDE) like the Navier-Stokes-Equation. So the task is to solve these equations numerically, which means finding approximate solutions of PDEs. There are a couple of methods to choose from, for example the finite element method, the finite volume method or spectral methods. The finite volume method (FVM) is conservative, which means that all conservation laws are automatically fulfilled. That is one reason why FVM is popular for approximation transport phenomena in CFD contexts. The finite element methods are very popular because of their wide range of application areas. They can be used to simulate CFD problems as well as mechanical problems like e.g. stress simulation. Last but not least there are spectral methods and adapted variants like the spectral element method. Spectral methods perform a high accuracy if the problem is very regular, which means e.g. that the geometry is quite easy and smooth.
For a general overview these methods have much in common, in detail of course they differ a lot. First of all the first step for nearly all methods, FEM, FVM and Spectral Elements Method is to build a mesh of the domain. Of course this is no problem in one dimension but in two and especially in three dimensions it might be a hard task. If the mesh is built it might be necessary to refine and unrefine it during the simulation and beyond this may the mesh itself should move.
When it comes to solving the equation one has to handle huge sets of data. Why is there so much data to deal with? Let us think of a unit cube of one meter. We assume that we want to discretize the cube by a mesh in the size of 1cm to allow us to grasp phenomena of a small size. So we would have to use 100 degrees of freedom per space dimension, so 100 times 100 times 100 ... we end up with one billion (1000000) degrees of freedom. Therefor one needs very efficient algorithms and is very keen on parallel computer architectures like multi-core or multi-processor. That is for example one of the points where computer science and mathematics go hand in hand.
Finally we want to see our results and that means visualization. That is not as easy as it may sound. Think about it! You have got results of a heat flow in three space dimensions with one billion data points. There are various ways to visualize this data, and performance is again a task. Would you give all the data to your graphic card using for example OpenGL or would you find it a better idea to use filters or synopses? Of course there are already a lot of good tools available but there are as well a lot of aspects to think about. Because of the interdisciplinary character of these simulations it is always interesting how different people with different backgrounds like computer scientists, engineers and mathematicians address these questions.
Modelling and Simulation of Ecology Systems using FEM
I have done some research concerning nonlinear partial integro-differential equations. These equations can be used to model systems with delay effects. Common examples might be ecology systems in an environment with a limited carrying capacity or viscoelasticity. This includes e.g. models with stress applied to a viscoelastic material. It is possible to simulate creep with such models. Creep is the tendency of a solid material to slowly move or deform permanently under the influence of stresses.
The modelling and simulation of ecology systems is a nice field to combine approaches more related to computer science like for example agent based models with equation based models. To give an example: If one uses a model that is based on partial differential equations the model will provide information about the density of a population in a given area. Even if the area is in a way discretized by an FEM-Mesh the result will be a continuous model for the area and the population. Thinking of bacteria, blood cells or krill it is a very good approach. Thinking of the Siberian tiger this will not make sense in all models. Depending on what you would like to simulate the density of such a rare species won't lead you anywhere. But if we consider the interaction of whales and krill it might make sense to combine the different worlds.
A spatial population model based on a nonlinear partial integro-differential equation
A spatial population model with a delay term is modelled by this Nonlinear Partial Integro-Differential Equation.
We call u the density of a population simulated over an environment with a limited carrying capacity and a memory or delay effect. The domain is a kind of square island. The reproduction rate is quite high but not unrealistic thinking e.g. of the European Rabbit with one doe having an offspring of about thirty young rabbits a year. The Figure illustrates the behavior of the solution. The initial condition are four peaks, a little bit later the population density starts to spread on the domain. Later on the effect of the high population at the beginning takes place and the density falls at the initial peak regions. After some ups and downs the density u becomes very smooth over the whole domain with a time changing amplitude.