The Dune Python Module

In this paper we present the new Dune-Python module which provides Python bindings for the Dune core, which is a C++ environment for solving partial differential equations. The aim of this new module is to firstly provide the general infrastructure for exporting realizations of statically polymorphi...

Full description

Saved in:
Bibliographic Details
Main Authors Dedner, Andreas, Nolte, Martin
Format Journal Article
LanguageEnglish
Published 13.07.2018
Subjects
Online AccessGet full text
DOI10.48550/arxiv.1807.05252

Cover

Abstract In this paper we present the new Dune-Python module which provides Python bindings for the Dune core, which is a C++ environment for solving partial differential equations. The aim of this new module is to firstly provide the general infrastructure for exporting realizations of statically polymorphic interfaces based on just-in-time compilation and secondly to provide bindings for the central interfaces of the dune core modules. In the first release we focus on the grid interface. Our aim is to only introduce a thin layer when passing objects into Python which can be removed when the object is passed back into a C++ algorithm. Thus no efficiency is lost and little additional code maintenance cost is incurred. To make the transition for Dune users to the Python environment straightforward the Python classes provide a very similar interface to their C++ counterparts. In addition, vectorized versions of many interfaces allow for more efficient code on the Python side. The infrastructure for exporting these interfaces and the resulting bindings for a Dune grid are explained in detail in this paper for both experienced Dune users and others interested in a flexible Python environment for implementing grid based schemes for solving partial differential equations.
AbstractList In this paper we present the new Dune-Python module which provides Python bindings for the Dune core, which is a C++ environment for solving partial differential equations. The aim of this new module is to firstly provide the general infrastructure for exporting realizations of statically polymorphic interfaces based on just-in-time compilation and secondly to provide bindings for the central interfaces of the dune core modules. In the first release we focus on the grid interface. Our aim is to only introduce a thin layer when passing objects into Python which can be removed when the object is passed back into a C++ algorithm. Thus no efficiency is lost and little additional code maintenance cost is incurred. To make the transition for Dune users to the Python environment straightforward the Python classes provide a very similar interface to their C++ counterparts. In addition, vectorized versions of many interfaces allow for more efficient code on the Python side. The infrastructure for exporting these interfaces and the resulting bindings for a Dune grid are explained in detail in this paper for both experienced Dune users and others interested in a flexible Python environment for implementing grid based schemes for solving partial differential equations.
Author Dedner, Andreas
Nolte, Martin
Author_xml – sequence: 1
  givenname: Andreas
  surname: Dedner
  fullname: Dedner, Andreas
– sequence: 2
  givenname: Martin
  surname: Nolte
  fullname: Nolte, Martin
BackLink https://doi.org/10.48550/arXiv.1807.05252$$DView paper in arXiv
BookMark eNrjYmDJy89LZWCQNDTQM7EwNTXQTyyqyCzTM7QwMNczMDUyNeJkEAvJSFVwKc1LVQioLMnIz1PwzU8pzUnlYWBNS8wpTuWF0twM8m6uIc4eumAT4guKMnMTiyrjQSbFg00yJqwCANyjKFc
ContentType Journal Article
Copyright http://arxiv.org/licenses/nonexclusive-distrib/1.0
Copyright_xml – notice: http://arxiv.org/licenses/nonexclusive-distrib/1.0
DBID AKY
GOX
DOI 10.48550/arxiv.1807.05252
DatabaseName arXiv Computer Science
arXiv.org
DatabaseTitleList
Database_xml – sequence: 1
  dbid: GOX
  name: arXiv.org
  url: http://arxiv.org/find
  sourceTypes: Open Access Repository
DeliveryMethod fulltext_linktorsrc
ExternalDocumentID 1807_05252
GroupedDBID AKY
GOX
ID FETCH-arxiv_primary_1807_052523
IEDL.DBID GOX
IngestDate Tue Jul 22 22:00:07 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-arxiv_primary_1807_052523
OpenAccessLink https://arxiv.org/abs/1807.05252
ParticipantIDs arxiv_primary_1807_05252
PublicationCentury 2000
PublicationDate 2018-07-13
PublicationDateYYYYMMDD 2018-07-13
PublicationDate_xml – month: 07
  year: 2018
  text: 2018-07-13
  day: 13
PublicationDecade 2010
PublicationYear 2018
Score 3.3259025
SecondaryResourceType preprint
Snippet In this paper we present the new Dune-Python module which provides Python bindings for the Dune core, which is a C++ environment for solving partial...
SourceID arxiv
SourceType Open Access Repository
SubjectTerms Computer Science - Mathematical Software
Title The Dune Python Module
URI https://arxiv.org/abs/1807.05252
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwY2BQsUxKtjRJTQN1S4xMdE3M0ix1LU0SDXQTgYklzSLNwDQ1BbQb2dfPzCPUxCvCNIKJQQG2FyaxqCKzDHI-cFKxvqEF-GBNI1NgIcsMbCiANvP6R0AmJ8FHcUHVI9QB25hgIaRKwk2QgR_aulNwhESHEANTap4IgxgwKhSADcVUhYBK0E59Bd_8lNKcVFEGeTfXEGcPXbBJ8QWQYx_iQZbEgy0xFmNgAXbOUyUYFNKMElNSTYHJOjk1zcQwzSgJ2OOyNDNNSbE0NU1LNkuRZJDAZYoUbilpBi5gxWwBGkM0NJZhYCkpKk2VBVZ-JUly4BAAAC5NXK8
linkProvider Cornell University
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=The+Dune+Python+Module&rft.au=Dedner%2C+Andreas&rft.au=Nolte%2C+Martin&rft.date=2018-07-13&rft_id=info:doi/10.48550%2Farxiv.1807.05252&rft.externalDocID=1807_05252