The Dune Python Module

07/13/2018
by   Andreas Dedner, et al.
0

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.

READ FULL TEXT

page 18

page 20

page 21

page 29

research
09/25/2020

Extendible and Efficient Python Framework for Solving Evolution Equations with Stabilized Discontinuous Galerkin Method

This paper discusses a Python interface for the recently published DUNE-...
research
10/01/2018

Multiscale finite element calculations in Python using SfePy

SfePy (Simple finite elements in Python) is a software for solving vario...
research
12/06/2021

AIMpy: A Python code to solve Schrödinger-like equations with the asymptotic iteration method

This paper is dedicated to present an open-source program so-called AIMp...
research
08/13/2023

Py-Tetrad and RPy-Tetrad: A New Python Interface with R Support for Tetrad Causal Search

We give novel Python and R interfaces for the (Java) Tetrad project for ...
research
08/19/2021

Svar: A Tiny C++ Header Brings Unified Interface for Multiple programming Languages

There are numerous types of programming languages developed in the last ...
research
05/15/2023

Exponential Integrators for Phase-Field Equations using Pseudo-spectral Methods: A Python Implementation

In this paper, we implement exponential integrators, specifically Integr...
research
10/02/2019

Modernizing Titan2D, a Parallel AMR Geophysical Flow Code to Support Multiple Rheologies and Extendability

In this work, we report on strategies and results of our initial approac...

Please sign up or login with your details

Forgot password? Click here to reset