The Neko-TOP library is an extension of the Neko library, which is a high-order spectral element solver. The Neko-TOP library is designed to solve topology optimization problems using an immersed boundary method. The library is written in Fortran and is designed to be used in combination with the Neko library.
Details can be found in the documentation on github pages, https://extremeflow.github.io/neko-top/.
The Neko-TOP library is dependent on the following libraries:
- Fortran 2008
We assume gfortran, useFC
environment variable to override. - MPI
We tested with OpenMPI 3.1. - Neko
Included as a submodule, build automated insetup.sh
. - JSON-Fortran
Included as a submodule, build automated insetup.sh
. - Nek5000
Included as a submodule, build automated insetup.sh
. - CUDA Optional for GPU acceleration in Neko.
The Neko-TOP library is also dependent on the following libraries for testing:
- pFUnit (Built through CMake if unavailable)
To compile the library and all external dependencies, the user can run the
setup.sh
script. This script will download and compile all dependencies and
the Neko-TOP library. The script will also compile all the advanced examples and
run the unit tests if desired.
git clone --recursive https://github.com/ExtremeFlow/Neko-TOP.git neko-top
cd neko-top
./setup.sh
The run.sh script is the main driver for managing example execution. The run
script will construct a temporary folder system in logs
for execution of any
example defined in the examples folder. The can then run a given example or list
of examples by invoking the run script with the name of the example as an
argument.
./run.sh EXAMPLE_NAME
After successful execution of Neko, the results will be moved to the results
folder and the log folder will be cleaned.
The status.sh
script provide a simple way of probing the current status of an
example.