Til hovedinnhold
Norsk English

Jutul

Eksperimentelt Julia-rammeverk for fullstendig differensierbare multifysikk-simulatorer basert på implisitte finit-volum-metoder med automatisk differensiering.

Kontaktperson

Jutul

Julia er et programmeringsspråk med høy ytelse spesielt designet for numerisk og vitenskapelig databehandling, som tilbyr en unik kombinasjon av hastighet og brukervennlighet. Med en syntaks som er både konsis og uttrykksfull, gir Julia forskere, ingeniører og dataforskere mulighet til å effektivt takle komplekse databehandlingsoppgaver og fremme innovasjon i ulike domener.

Jutul ble opprinnelig utviklet som en svært optimalisert testbenk for differensiell programmering, som skulle brukes som et supplement til MRST for å muliggjøre høyytelsestesting av numeriske algoritmer for strømning i porøse medier. Ved å kombinere et høyoptimert bibliotek for automatisk differensiering, som bruker statiske, hardkodede maler for rask sammensetning av lineariserte systemer, med moderne lineære løsere, sikrer Jutul at simulatorer skrevet med Jutul har en ytelse som sammenlignes svært godt med etablerte simulatorer skrevet i kompilerte språk. I tillegg garanterer Jutul at simulatorer er differensierbare og kan levere parameterfølsomhet med høy beregningseffektivitet.

Den primære Jutul.jl-pakken fungerer som en felles infrastruktur for flere simuleringsprosjekter:

  • JutulDarcy.jl er en fullt deriverbar høyytelsessimulator for énfase-, flerfase- og komposisjonell flyt i porøse medier. Den løser massebalanse med Darcy-typer av flukser og inkluderer modeller for relative permeabiliteter, kapillærtrykk og termodynamisk faseoppførsel.
  • Fimbul.jl er en geotermisk simulator som utvider Darcy-strømning med en energi­balanseligning. Varme transporteres ved adveksjon og konduksjon, med modeller for effektiv varmekapasitet, termisk ledningsevne og væskeentalpi.
  • Mocca.jl er en simulator for adsorpsjon og karbonfangstprosesser. Den kobler massebalanse i væske- og gassfaser med modeller for adsorpsjon i faste materialer, basert på enten likevektsisotermer eller kinetiske rate-lover.
  • BattMo.jl er en simulator for batterier og elektrokjemiske systemer. Den løser ionetransport og ladningsbalanse i porøse elektroder ved hjelp av Nernst–Planck-flukser og Butler–Volmer-elektrodekinetikk, og kan også inkludere termisk kobling for å modellere varmeproduksjon og -transport.
  • VOCSim.jl er en simulator for utslipp av metan og flyktige organiske forbindelser (VOC). Den modellerer massetransport mellom væske- og gassfaser under lagring og håndtering av hydrokarboner, inkludert flashing, oppløsning og fordamping basert på termodynamiske og transportmessige lukninger.

Jutul er tilgjengelig for allmennheten under den tillatende MIT-lisensenGitHub og er en registrert Julia-pakke.