Treffer: scikit-finite-diff, a new tool for PDE solving

Title:
scikit-finite-diff, a new tool for PDE solving
Contributors:
LabOratoire proCédés énergIe bâtimEnt (LOCIE), Université Savoie Mont Blanc (USMB Université de Savoie Université de Chambéry )-Centre National de la Recherche Scientifique (CNRS), Laboratoire d'hydrodynamique (LadHyX), École polytechnique (X), Institut Polytechnique de Paris (IP Paris)-Institut Polytechnique de Paris (IP Paris)-Centre National de la Recherche Scientifique (CNRS), ANR-16-CE06-0011,FRAISE,Films Ruisselants Absorbants à Instabilités de Surface : Exploration(2016)
Source:
ISSN: 2475-9066 ; Journal of Open Source Software ; https://hal.science/hal-02404312 ; Journal of Open Source Software, 2019, 4 (38), pp.1356. ⟨10.21105/joss.01356⟩.
Publisher Information:
CCSD
Open Journals
Publication Year:
2019
Document Type:
Fachzeitschrift article in journal/newspaper
Language:
English
DOI:
10.21105/joss.01356
Accession Number:
edsbas.F46FDC53
Database:
BASE

Weitere Informationen

International audience ; Scikit-FDiff is a new tool for Partial Differential Equation (PDE) solving, written in purePython, that focuses on reducing the time between the development of the mathematicalmodel and the numerical solving.It allows easy and automated finite difference discretization, thanks to symbolic processing(using the SymPy library (Meurer et al., 2017)) which can deal with systems of multi-dimensional partial differential equations and complex boundary conditions.Using finite differences, and the method of lines, Scikit-FDiff allows for the transforma-tion of the original PDE into an Ordinary Differential Equation (ODE), providing fastcomputation of the temporal evolution vector and the Jacobian matrix. The latter ispre-computed in a symbolic way and is sparse by nature. An efficient vectorization al-lows one to formulate the numerical system in such a way as to facilitate the numericalsolver work, even for complex multi-dimensional coupled cases. Systems can be evaluatedwith as few computational resources as possible, enabling the use of implicit and explicitsolvers at a reasonable cost.Scikit-FDiff stands out in comparison to other competitors, such as the FEniCS Project,Clawpack, or the Dedalus Project, in terms of its simplicity. Despite the fact that Scikit-FDiff uses a relatively simple method (finite-differences), which allows one to code in away which is close to the mathematical model, it is able to solve real-world problems. Itis however less suited than other packages for building specialized solvers.Scikit-FDiff also contains several classic ODE solver implementations (some of which havebeen made available from dedicated python libraries), including the backward and forwardEuler scheme, Crank-Nicolson, and explicit Runge-Kutta. More complex approaches, likethe improved Rosenbrock-Wanner schemes (Rang, 2015) up to the 6th order, are alsoavailable in Scikit-FDiff. The time-step is managed by a built-in error computation,which ensures the accuracy of the solution.The main goal of this ...