What is numerical analysis?
Numerical analysis is the branch of mathematics that deals with algorithms for computer models. The basis for a computer model is a set of mathematical equations that describe the process that is modeled. Usually, these equations can not be solved by a computer directly. They first have to be translated (discretized) to a form that can be handled by a computer. Next, a proper method (the solver) must be found to solve the equations.
Many different options exist for both the discretisation and the solver.
Regarding the discretisation of the spatial aspects of the model, the best-known approaches are finite elements, finite differences and finite volumes. The discretisation of the temporal aspects has its own approaches. For example, an explicit method can be used, in which the next time instance is computed directly from the previous one, or an implicit method, which is more complex but often allows a larger time step. And there are things like operator splitting (IMEX, ADI) and adaptive timesteps.
The number of different solvers is huge. Using domain decomposition, the computational domain can be split into parts with different properties to ease the computation. Multigrid approaches speed up a computation by employing multiple scales. There are literally hundreds of methods, each with advantages and disadvantages, depending on the problem at hand.
It is essential to make the right selection of methods from this huge toolbox of numerical analysis. A wrong choice can lead to unnecessarily long runtimes or inaccurate results. And one method can be more efficient for particular hardware (like a GPU) than another. In some cases, a better solver can speed up a computation by a factor of ten or more.
Our expertise in numerical analysis
VORtech provides numerical analysis expertise. Many of our colleagues are trained as a mathematician or have worked intensively with numerical analysis in their PhD-research. They have a broad and up-to-date overview of the techniques that are available. Our experts are constantly in touch with their fellow mathematicians in the Dutch universities, for instance through the Dutch-Flemisch Scientific Computing Society. Also, they are constantly challenged by the large variety of projects at VORtech. One day, they work on fluid flows, the next day on oil reservoirs or on electricity networks. In addition, there is room for research on numerical analysis at VORtech. This led to a new approach for conservative discretisations, developed by two of our colleagues.
Our services in numerical analysis
With our services in numerical analysis we support developers of software for simulations, forecasting and other complex computations.
Usually, these developers are employees of the client and are real experts in their field. But they are not necessarily experts in numerical analysis. That is where we come in. VORtechs numerical analysis experts are not only good at their own field, but they are also capable of a smooth cooperation with people from other fields. They know how to collaborate with the experts at the client to find the right computational approach.
In most cases, we are involved by a client when there is a problem with the algorithms in a computational code. We will first discuss with the client’s experts why they have selected these algorithms. Once we understand the problem well, we propose better approaches. Usually, we also do the programming of these other approaches. This allows us to make small but relevant tweaks to the method as we go. And we know how to make the most of the available hardware. But if the client wants his own developers to do the programming, that is also fine with us. Then our role is more consultative.
Here are few examples from the many projects that we have done:
- A computation of the breeding value of life stock took too long. One of our colleagues developed a different approach for the core of the computation. This made the software run twice as fast.
- The production process of a certain plastic failed frequently. A mathematical model for the production process had already been developed but so far, no one had been able to get useful results from the model. VORtech made a small but essential change to the model, which could then be run to find the source of the production problems. Once the cause had been determined, the process could be modified and it now runs reliably.
- Environmental experts were using an optimisation method to determine the best way to reach certain environmental goals. But their optimisation method tended to produce radically different outcomes for inputs that were almost identical, which was not acceptable. VORtech did an analysis to find the cause of the problems. With a number of changes to the algorithm, the optimisation method is now far more reliable.