Software Consulting

DRG has decades of experience with the development and improvement of numerical software for performing advanced state-of-the-art computer simulations and other types of scientific computations.

 

Our greatest strength is our combined knowledge of physics, advanced numerical methods and software development.  Our developers have a high University Degree. Our affiliation with the Technical University Delft keeps us up-to-date with the latest technologies and numerical developments.

Design/development of numerical software

delaminatie

DRG has decades of experience with the development and improvement of numerical software for performing advanced state-of-the-art computer simulations and other types of scientific computations. Besides educating and supporting users of our in-house developed C++ Software Development Kit Jive, we provide assistance to our clients with the development and improvement of their numerical software.

 

Our target customers are technical universities, research institutes and commercial companies that use – or are planning to use – advanced computer simulations to develop new products or services.

more info

We know physics and simulations

 

Our greatest strength is our combined knowledge of physics, advanced numerical methods and software development.  Our developers have a high University Degree. Our affiliation with the Technical University Delft keeps us up-to-date with the latest technologies and numerical developments.

 

Our expertise:

 

  • extend existing software with new features;
  • improve the performance of existing software thereby using a variety of parallelization strategies;
  • implement advanced numerical models and algorithms;
  • couple two or more computer programs;
  • design and develop tailor-made software from scratch.

 

High performance and parallel computing

 

We are experts in high performance and parallel computing, and in developing software for running large-scale computer simulations.

handshake

Implementing a parallel coupling interface (C)

tassLogo

Designing and implementing a parallel coupling interface between MADYMO and other (structural) finite element packages

TASS international

What was asked

TASS asked DRG to develop a new, parallel interface for coupling their vehicle safety simulation package MADYMO to structural finite element packages. The existing coupling interface did not suffice any more because it did not support parallel computers and it required MADYMO to be linked as a library with the finite element packages.

How we solved it

DRG developed a new library that can couple MADYMO to finite element packages. This library provides full support for parallel computers and allows the coupled programs to run as separate programs. In other words: it is not necessary to create a single executable program. The library comes with a well documented programming interface that can be called from programs written in either C or Fortran.

DRG not only implemented the coupling library, but also helped TASS to convince their commercial partners to invest time in adding support for the library to their finite element packages. In addition, DRG also visited the partners of TASS to provide on-site support for the coupling library.

The new coupling library has made it possible to reduce the runtime of coupled simulations by several factors. It has also simplified the development of MADYMO as there is no need any more to build a special version for running coupled simulations.

CouplingServerMadymo

Software tool for inverse simulations (C/C++)

TUDelfLogo

Develop software tool for running inverse simulations

Technical University Delft – Section Applied Geology

What was asked

The department of Applied Geology at the Delft University of Technology has developed a fast model for simulating sedimentation processes. They wanted to develop a software tool for running inverse simulations. That is, given data obtained from one or more wells, determine the most plausible values for the input parameters of the model. They asked DRG for assistance as they lacked the required knowledge and experience for developing this tool.

How we solved it

DRG has developed a general framework for running inverse simulations. This framework is based on the so-called Reversible Jump Monte Carlo Markov Chain method that has the advantage of generating information about the plausibility of the computed model parameters. Another advantage is that it can also determine the number of model parameters that are needed to get a good match between the output of the model and the data obtained from the wells.

 

The framework has been implemented in such a way that the sedimentation model and the inversion algorithm are only coupled through a small and well-defined interface. This allows the researchers to continue improving their sedimentation model without needing to modify the rest of the source code.

stratSim2D

User defined subroutines (C++)

CelSianLogo

Extend GTM-X with user-defined subroutines

CelSian Glass & Solar BV

What was asked

CelSian Glass & Solar wanted to extend their glass furnace simulation tool GTM-X with support for user-defined subroutines. Performance was an important issue because a mathematical expression must typically be evaluated for many points in large data sets.

How we solved it

DRG implemented a function parser that allows the users of GTM-X to enter complex mathematical expressions in the input file. This approach fulfils the needs of the users while protecting the internal data structures of GTM-X.

To ensure that the run times of GTM-X do not increase significantly, each expression in the input file is converted to an array of byte codes that can be evaluated very efficiently by a special-purpose virtual machine.

GlassOven

Implementing a parallel solver (FORTRAN)

plaxisLogo

Implementing a parallel solver for the geo-engineering software Plaxis

Plaxis BV

What was asked

Plaxis is a finite element package for the analysis of deformation and stability of soil structures in geo-engineering applications such as excavations, foundations, embankments and tunnels. Plaxis incorporates an efficient iterative solver that can cope with the large finite element models that are common in geo-engineering applications.

DRG was asked to develop a new, parallel solver to take full advantage of the latest multi-core computers that are now  easily available.

How we solved it

The new solver is based on the domain decomposition method and uses a very effective two-level pre-conditioner. DRG implemented a special-purpose decomposition algorithm that takes the physical properties of the underlying finite element model into account. This algorithm, which has been developed in collaboration with Delft University of Technology, proved to be essential to obtain good performance.

 

Thanks to the new solver, Plaxis can now take full advantage of multi-core machines. Indeed, the new solver has been observed to be more than eight times faster on machines with eight processor cores. And even on a single core it has shown to be faster because it is able to exploit the physical properties of the problem to be solved.

deformedSoil