#partial #tool #solver #differential #differential-equations

russell_pde

Essential tools to solve partial differential equations; not a full-fledged PDE solver

1 unstable release

new 0.1.0 Apr 13, 2025

#1583 in Math

MIT license

2MB
35K SLoC

Russell PDE - Essential tools to solve partial differential equations; not a full-fledged PDE solver

documentation

This crate is part of Russell - Rust Scientific Library

Contents

Introduction

🚧🚧🚧 WORK IN PROGRESS 🚧🚧🚧

This library implements essential tools to solve partial differential equations (PDEs). It does not implement full-fledge PDE solvers for general problems and, hence, this library is quite limited.

A goal is to provide tools to test other crates such as russell_ode and russell_nonlinear because they employ PDE problems as testing platforms.

Currently, simple 1D and 2D finite differences operators are implemented.

Documentation

Installation

This crate depends on some non-rust high-performance libraries. See the main README file for the steps to install these dependencies.

Setting Cargo.toml

Crates.io

👆 Check the crate version and update your Cargo.toml accordingly:

[dependencies]
russell_pde = "*"

Optional features

The following (Rust) features are available:

  • intel_mkl: Use Intel MKL instead of OpenBLAS
  • local_suitesparse: Use a locally compiled version of SuiteSparse
  • with_mumps: Enable the MUMPS solver (locally compiled)

Note that the main README file presents the steps to compile the required libraries according to each feature.

🌟 Examples

This section illustrates how to use russell_pde. See also:

Simple example

TODO

Dependencies

~2.8–4.5MB
~74K SLoC