Skip to content

ifpen/SVEN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SVEN

A simple unsteady Free Vortex Wake lifting-line filament flow solver

SVEN: (S)olver (V)ortex (E)olie(N)nes

SCOPE

The objective of this project is to provide a simple and modular implementation of a Free Vortex Wake (FVW) method with a Lifting Line approach and filament discretization, developed in Python. The focus is on simplicity and accessibility for academic use while leveraging the power of GPUs via CUDA for fast computations.

This code is designed to enable the exploration and testing of different models and aspects of the method, without aiming to offer a complete or highly optimized implementation. The emphasis is on flexibility and ease of adaptation to meet the specific needs of users, whether they are researchers, engineers, or students.

Implemented models

This code implements a vortex-based aerodynamic model using a lifting-line formulation with a filament-discretized free wake. It computes bound circulation along the blade and tracks shed and trailing filaments to capture unsteady aerodynamic effects.

The implementation follows the principles of the Free Vortex Wake method, using the Biot–Savart law and the Kutta–Joukowski theorem to resolve induced velocities and aerodynamic forces.

More information on the implemented models can be found in Le Guern's Thesis.

Dependencies

1. Install CUDA Toolkit

This library requires CUDA for GPU acceleration. To set up CUDA:

  • Download and install the CUDA Toolkit from NVIDIA.
  • Ensure the installed version matches the one specified in environment.yaml (e.g., 11.8.0).

2. Prepare the environment

Run the following command to create the Conda environment:

conda env create -f environment.yaml

3. Set up environment variables for CUDA

After installing CUDA, add it to your system's path. Append the following lines to your shell configuration file (e.g.,~/.bashrc):

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

Then reload your shell:

source ~/.bashrc

4. Activate the environment

conda activate sven

Installation and run

1. Clone the project

git clone

2. Set up the project

python -m pip install -e ./

3. Run an example

If you're running a script from outside its example folder, update any relative paths to geometry files (e.g., ./geometry/flatPlate.foil) if they are not resolving.

python main.py

Authors

Caroline Le Guern, Frédéric Blondel @ IFP Energies nouvelles

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages