Skip to content

positroncascade/BES

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BES

Basic Euler Solver, a lightweight, multi-threaded, three-dimensional unstructured finite volume code to solve the Euler equations. More information at the project page.

BES uses OpenMP, Eigen, AMGCL and Boost. It is released under version 3 of the GNU General Public License.

Getting Started

Before deciding to compile the code, you can check out the binaries for Windows 64 bit or Linux 64 bit.

If you want to compile, you just need to have the source file for Boost somewhere on your machine. Some header-only libraries from Boost is used in AMGCL, hence the dependency. The required Eigen and AMGCL libraries are provided in BES include directory, so no action is needed for that.

Prerequisites

You can download Boost here. Boost v1.66.0 was used in the development of BES.

MinGW-w64 v4.3.3 with gcc v7.2.0 was used in the development for windows. For Linux, Ubuntu v16.04 LTS was used with g++ v5.4.0.

You might also need Gmsh for meshing the test cases and your own cases in future. The results can be viewed with Paraview.

Installing

The compilation of BES is from a simple makefile, Automake or Autoconf was not used. As such, you will need to manually input some options into the makefile.

First, enter your OS in line 2 of the makefile. For Windows:

OS = WINDOWS

For Linux:

OS = LINUX

Second, enter the path to Boost in your machine in line 36 of the makefile:

BOOST = path/to/boost

We are good to go! For Windows, we can compile in parallel with N threads by:

mingw32-make -j N

For Linux:

make -j N

The binary will be created in the bin folder. You can add it to your path if you desire.

Running BES

We will go through an example with a two-dimensional NACA0012 test case. Starting from the BES folder, we navigate to the case folder:

cd test\twoDimNacaAirfoil

The Gmsh .geo files are provided in the test cases. You will need to create the mesh youself, i.e.

gmsh nacaAirfoil.geo -2

Then you can configure the case in the .besi file. For example, if you want to change the freestream Mach number, you can change the FREESTREAM_MACH option in nacaAirfoil.besi:

FREESTREAM_MACH = 0.5,0.05

This will set the freestream Mach to be 0.5 in the x-direction and 0.05 in the y-direction. Also, ensure that the mesh file is correctly named in the MESH_FILE option. The results will be written in the folder named in the OUTPUT_FOLDER option. The folder must be created before running the case or else BES will not output the results. Remember to save, and we can run BES now. We give our input file as the one and only argument to the program:

BES nacaAirfoil.besi

Now sit back and relax! Once done, you can view the results in the output folder with Paraview or any other viewer that can open .vtk files.

Authors

License

This project is licensed under version 3 of the GNU General Public License - see the LICENSE file for details.

About

Basic Euler Solver

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 96.8%
  • Cuda 1.3%
  • C 0.6%
  • CMake 0.5%
  • Python 0.4%
  • GLSL 0.2%
  • Other 0.2%