MikFoil
MikFoil is a Python library designed to automate the repeatable phases of 2D airfoil Computational Fluid Dynamics (CFD). It provides full control over modeling decisions while remaining incredibly easy to use.
Core Capabilities
- Custom Mesher: Generates structured, mapped meshes for any airfoil (using NACA number or
.datfiles) in seconds. Mesh parameters are fully tunable. - Simulation Automation: Automates CFD simulation setup and orchestration using the SU2 solver.
- Batch Processing: Scales seamlessly for large automated batches, mesh independence studies, and validating CFD models against experimental data.
- Postprocessing & Validation: Automates the most common airfoil postprocessing tasks and provides tools for quick result validation.
Prerequisites
MikFoil relies on the SU2 CFD solver for flowfield computations. You must install SU2 to run simulations.
Make sure the SU2 executable is in your system path, or set the SU2_CFD_PATH environment variable.
Installation
pip install mikfoil
Getting Started
A set of 11 Jupyter Notebook tutorials is included to guide you through using the library. You can also run a quick start case:
from mikfoil.case import Case, MeshConfig
from mikfoil.main import execute_case
# Define physical boundary conditions and mesh parameters
case = Case(
airfoil='naca_2412',
aoa=2.0,
mach=0.15,
reynolds=1e6,
mesh_config=MeshConfig(visualise=False),
su2_config='default',
target_y_plus=1.0,
restart=False,
suffix='example'
)
# Execute the full CFD pipeline: meshing, SU2 solver, and post-processing
execute_case(case)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mikfoil-0.1.0.tar.gz.
File metadata
- Download URL: mikfoil-0.1.0.tar.gz
- Upload date:
- Size: 28.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
289667045a706ec62a05d971db101b05f67080ea2c293bfae6c4e4c551ca4f5e
|
|
| MD5 |
810fbe3f0878950bd5bcd5d11776ad0d
|
|
| BLAKE2b-256 |
bd494fef965839b5cce1dc823ba4a9be09897c89041eab6f4566ad93bec70335
|
File details
Details for the file mikfoil-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mikfoil-0.1.0-py3-none-any.whl
- Upload date:
- Size: 40.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
deffb9550d2c23659e770cda0dfb5bf6f677cdc6a960fb9715f3fd12722c957b
|
|
| MD5 |
3c02cbe991e9e3568f4de60d92d50de4
|
|
| BLAKE2b-256 |
927e3cb9deeca3a191634c9026ea50a41013eb9804aeb6a95069b97b83ab1173
|