Welcome to Xcompact3d_toolbox’s documentation!

It is a Python package designed to handle the pre and postprocessing of the high-order Navier-Stokes solver Xcompact3d. It aims to help users and code developers with a set of tools and automated processes.

Xcompact3d Toolbox is still in pre-release, be aware that new features are going to be added to it and the current features may change with no further notice.

The physical and computational parameters are built on top of traitlets, a framework that lets Python classes have attributes with type checking, dynamically calculated default values, and ‘on change’ callbacks. In addition to ipywidgets for an user friendly interface.

Data structure is provided by xarray (see Why xarray?), that introduces labels in the form of dimensions, coordinates and attributes on top of raw NumPy-like arrays, which allows for a more intuitive, more concise, and less error-prone developer experience. It integrates tightly with dask for parallel computing.

Finally, Xcompact3d Toolbox is fully integrated with the new Sandbox Flow Configuration (see fschuch/Xcompact3d). The idea is to easily provide everything that X3d needs from a Jupyter Notebook, like initial conditions, solid geometry, boundary conditions, and the parameters. It makes life easier for beginners, that can run any new flow configuration without worrying about Fortran and 2decomp. For developers, it works as a rapid prototyping tool, to test concepts and then compare results to validate any future Fortran implementations.

Installation

pip install xcompact3d-toolbox

Indices and tables