Vortexje is open-source computational fluid dynamics (CFD) software. It implements the source-doublet panel method for potential flow, with the following features:
- Modern C++ API, easily integrated with other simulation environments;
- Gmsh file I/O;
- Optional wake convection;
- Wake-body and wake-wake interaction.
License
The library is licensed under the terms of the GNU GPL v2. For commercial use licenses are available from Baayen & Heinz GmbH.
Documentation
A preprint of a paper introducing Vortexje is available online at arxiv.org/abs/1210.6956.
API documentation is available online.
Support
Baayen & Heinz GmbH offers troubleshooting, customization and integration services.
Example
The following example code generates source, doublet, and pressure distributions on a NACA0012 airfoil with 5.0 degrees angle of attack and 30 m/s airspeed.
#include <vortexje/solver.hpp>
using namespace std;
using namespace Eigen;
using namespace Vortexje;
int
main (int argc, char **argv)
{
// Load meshes:
Mesh nolift_mesh;
// Create wing:
Mesh wing_mesh(string("naca0012.msh"));
Vector3d location(0, 0, 0);
Vector3d chord_direction(1, 0, 0);
Vector3d top_direction(0, 1, 0);
Vector3d span_direction(0, 0, 1);
Wing wing(wing_mesh, location,
chord_direction, top_direction, span_direction);
// Prescribe angle of attack:
double alpha = 5.0 / 180.0 * M_PI;
wing.rotate(span_direction, -alpha);
// Create mesh collection:
Collection collection(string("test-wing"), nolift_mesh);
collection.add_wing(&wing);
// Set up solver:
Solver solver("test-wing-log");
solver.add_collection(collection);
solver.set_freestream_velocity(Vector3d(30, 0, 0));
solver.set_fluid_density(1.2);
// Run simulation:
double t = 0.0;
double dt = 0.01;
int step_number = 0;
solver.initialize_wakes(dt);
while (t < 60) {
solver.update_coefficients(dt);
solver.log_coefficients(step_number);
solver.update_wakes(dt);
t += dt;
step_number++;
}
// Done:
return 0;
}
Software Requirements
Vortexje uses Eigen for linear algebra.
Source Code
The latest source code is available through the Git version control system:
git clone git://git.baayen-heinz.com/Vortexje.git
The repository can also be viewed on-line at git.baayen-heinz.com.

