A Scipy-Fenics interface for incompressible Navier-Stokes
This python module
dns provides an interface between the FEM toolbox
SciPy in view of simulation and control of incompressible flows. Basically,
FEniCS is used to discretize the incompressible Navier-Stokes equations in space. Then
dns makes the discretized operators available in
SciPy for use in model reduction, simulation, or control and optimization.
dns also contains a solver for the steady state and time dependent problems.
To get started, create the needed subdirectories and run one of the
tests/time_dep_nse_.py files, e.g.
pip install sadptprj_riclyap_adi cd tests mkdir data mkdir results # export PYTHONPATH="$PYTHONPATH:path/to/repo/" # add the repo to the path # pip install dolfin_navier_scipy # or install the module using pip python3 time_dep_nse_expnonl.py
Then, to examine the results, launch
Test Cases and Examples
tests/mini_setup.py: a minimal setup for a steady-state simulation
tests/steadystate_schaefer-turek_2D-1.py: the 2D steady-state cylinder wake benchmark by Schäfer/Turek
tests/steadystate_rotcyl.py: the 2D cylinder wake with a freely rotating cylinder as benchmarked in Richter et al.
tests/time_dep_nse_.py: time integration with Picard and Newton linearization
tests/time_dep_nse_expnonl.py: time integration with explicit treatment of the nonlinearity
tests/time_dep_nse_bcrob.py: time integration of the cylinder wake with boundary controls
tests/time_dep_nse_krylov.py: time integration with iterative solves of the state equations via
tests/time_dep_nse_double_rotcyl_bcrob.py: rotating double cylinder via Robin boundary conditions
- dolfin interface to FEniCS -- tested with
The latter is my home-brew module that includes the submodule
lin_alg_utils with routines for solving the saddle point problem as it arises in the
(v,p) formulation of the NSE.
Note: the branch
lau-included already contains the module
Documentation of the code goes here.
Installation as Module
pip install dolfin_navier_scipy
- catch the case that the datapoints do not extend to the full time range
- enforce explicit specification of the FEM scheme in
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for dolfin_navier_scipy-1.2.0.tar.gz
Hashes for dolfin_navier_scipy-1.2.0-py3-none-any.whl