Skip to content

is a tiny library for topology optimization using Lattice Boltzmann method (LBM).

License

Notifications You must be signed in to change notification settings

PANFACTORY/PANSLBM2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PANSLBM2

A library of Topology Optimization with LBM.

Usage

Setup

Clone source codes into your environment.
Although your environment is allowed Windows, Linux or MacOS, use Windows for example bellow.

git clone https://github.com/PANFACTORY/PANSLBM2.git && cd PANSLBM2

After that, working directory is PANSLBM2/.

2D heatsink

For example, run a program solving 2D steady-state heatsink problem.
Use MinGW with AVX2 and OpenMP.

g++ -mavx -fopenmp -o build/heatsink.exe production/heatsink.cpp
build/heatsink.exe

And results are output in result/.
Of course, you can also use other compilers like Intel C++ Compiler.

3D heatsink

For example, run a program solving 3D steady-state heatsink problem.
Use MinGW with AVX2, OpenMP and MicrosoftMPI.

You have to place two files in your working directory to use MicrosoftMPI.

  • libmsmpi.a
  • msmpi.def

And add or uncomment #define _USE_MPI_DEFINES at 1st line in production/heatsink3D.cpp.
After that, build and execute with these commands.

g++ -mavx -fopenmp -lmsmpi -L . -o build/heatsink3D.exe production/heatsink3D.cpp
mpiexec -n 4 build/heatsink3D.exe 2 2 1

And results are output in result/.
Of course, you can also use other compilers like Intel C++ Compiler and other MPI libraries like Intel MPI.

Dependency

  • AVX2
  • OpenMP
  • MPI

License

MIT