Numerieke wiskunde

Numerieke wiskunde is de basistechniek voor het rekenen aan allerlei verschijnselen uit bijvoorbeeld de fysica of chemie. Het biedt methodes om wiskundige vergelijkingen te vertalen naar een vorm die voor een computer hanteerbaar is. De keuzes die in die vertaling gemaakt worden bepalen de snelheid en nauwkeurigheid van de berekening. VORtech biedt kennis en ervaring op dit gebied.

Wat is numerieke wiskunde?

Numerieke wiskunde is de tak van de wiskunde die zich bezig houdt met algoritmen om wiskundige modellen met een computer door te rekenen. Zo’n wiskundig model bestaat uit een aantal vergelijkingen die het gemodelleerde proces beschrijven. Die vergelijkingen kunnen meestal niet rechtstreeks door een computer opgelost worden. Daarvoor moeten de vergelijkingen vertaald (gediscretiseerd) worden naar een vorm die wel op een computer past. Vervolgens moet een handige methode (de solver) gevonden worden om die vergelijkingen op te lossen.

Zowel bij het discretiseren als bij het kiezen van een solver kunnen heel veel keuzes gemaakt worden.

Voor het discretiseren van de ruimtelijke aspecten van het proces gaat het in de praktijk vaak over een eindige elementen methode, een eindige differentie methode of een eindige volume methode. Het discretiseren van de tijdsaspecten kan ook op allerlei manieren. Daarbij kan gekozen worden voor een expliciete methode, waarbij elke volgende tijdstap rechtstreeks uit de vorige kan worden berekend, of een impliciete methode, die complexer is. Verder kan er gebruik gemaakt worden van operator splitting (IMEX, ADI) en adaptieve tijdstapkeuze.

Ook bij de solvers is het aantal keuzes enorm. Er kan domeindecompositie gebruikt worden om het door te rekenen gebied op te splitsen in delen met verschillende eigenschappen. Of een multigrid methode waarbij het probleem wordt doorgerekend door een combinatie van verschillende schaalniveaus. Zo zijn er vele honderden varianten die allemaal voor- en nadelen hebben en stuk voor stuk al dan niet toepasbaar zijn in een bepaalde situatie.

Het is van het grootste belang om de juiste keuzes te maken uit de gereedschapskist van de numerieke wiskunde. Een verkeerde keuze kan leiden tot onnodig lange rekentijden of tot onnauwkeurige antwoorden. Ook kan de ene methode beter geschikt zijn voor een bepaalde hardware (bijvoorbeeld een GPU) dan een andere. Een betere solver kan een berekening soms tien keer of meer versnellen.

Onze expertise op het gebied van numerieke wiskunde

VORtech levert expertise op het gebied van numerieke wiskunde. Veel van onze collega’s zijn opgeleid als wiskundige of hebben tijdens hun promotieonderzoek intensief met numerieke wiskunde gewerkt. Ze beschikken over een breed en actueel overzicht van de beschikbare technieken. Enerzijds vanwege de nauwe banden die VORtech onderhoudt met vakgenoten bij Nederlandse universiteiten (onder meer via de Werkgemeenschap Scientific Computing). Anderzijds doordat ze voortdurend worden uitgedaagd door de vele verschillende projecten waaraan ze werken. Soms werken ze aan het doorrekenen van waterstromen, dan weer aan het vinden van olie of het investeren in elektriciteitsnetwerken. Tenslotte gebeurt er binnen VORtech ook onderzoek op het gebied van numerieke wiskunde. Zo hebben VORtechers een nieuwe aanpak van behoudende discretisaties ontwikkeld.

Onze dienstverlening rondom numerieke wiskunde

Met onze dienstverlening op het gebied van numerieke wiskunde ondersteunen we ontwikkelaars van programmatuur voor simulaties, voorspellingen of andere complexe berekeningen.

Vaak zijn die ontwikkelaars in dienst van de klant en door hun ervaring een echte expert op het gebied van hun toepassing. Maar ze zijn niet noodzakelijk experts op het gebied van numerieke wiskunde. Dat is dan ook precies wat we kunnen aanvullen. De numeriek wiskundigen van VORtech zijn niet alleen goed in hun eigen vak, maar zijn ook in staat om op soepele manier samen te werken met mensen uit andere vakgebieden. Dat stelt ze in staat om samen met de experts van de klant de beste rekenmethode te vinden.

De meest voorkomende situatie is dat onze klant een rekenprogramma heeft waarin een numerieke aanpak wordt gebruikt die niet optimaal is. We zullen dan eerst achterhalen waarom deze aanpak gekozen is en voorstellen doen voor een betere aanpak. Meestal programmeren we die dan ook zelf omdat we dan tijdens de ontwikkeling nog detailkeuzes kunnen maken die soms een belangrijk verschil kunnen maken. Bovendien zijn we er bedreven in om de beschikbare hardware optimaal te gebruiken. Maar soms willen de experts bij de klant het programmeren zelf doen. Dan zullen we vooral een begeleidende rol hebben.

Een paar voorbeelden

Een kleine greep uit de grote hoeveelheid projecten waar we aan gewerkt hebben:

  • Een berekening van de fokwaarde van dieren duurde te lang. Een van onze collega’s heeft een andere benadering ontwikkeld voor de kern van die berekening. Daarmee werd die berekening twee keer zo snel.
  • Een productieproces voor kunststof faalde steeds weer. Er was al een wiskundige beschrijving van het proces opgesteld, maar daar kwamen de bedrijfsexperts niet verder mee. VORtech heeft de wiskundige beschrijving verbeterd en vervolgens de oorzaak van de problemen gevonden. Toen dat inzicht er eenmaal was, kon het productieproces snel aangepast worden waardoor het nu betrouwbaar draait.
  • Milieudeskundigen gebruikten een optimalisatiemethode om een optimale inzet van maatregelen te bepalen om bepaalde milieudoelstellingen te bereiken. Alleen gaf die optimalisatiemethode soms heel andere antwoorden als de invoer een klein beetje veranderde. VORtech heeft een analyse uitgevoerd van het probleem en een verklaring gevonden voor het gedrag. Door aanpassingen kon de optimalisatiemethode veel robuuster gemaakt worden.

Wilt u meer weten?

We publiceren regelmatig blog posts over wiskunde. Als u vragen heeft of eens vrijblijvend wilt verkennen wat we voor u zouden kunnen doen, neem dan gerust contact met ons op.

Geïnteresseerd?
Als u denkt dat de wiskundige consultants van VORtech u kunnen helpen, aarzel dan niet om contact met ons op te nemen voor een vrijblijvende kennismaking.
Neem contact op