Skip to content

barbagroup/petibm-rollingpitching

Repository files navigation

[Re] Three-dimensional wake topology and propulsive performance of low-aspect-ratio pitching-rolling plates

License Docker Hub Singularity Hub DOI

  • Olivier Mesnard (The George Washington University)
  • Lorena A. Barba (The George Washington University)

This repository contains a computational replication of the scientific findings published by Li and Dong (Physics of Fluids, 2016). The study was published in ReScience C DOI

References

  • Li, C., & Dong, H. (2016). Three-dimensional wake topology and propulsive performance of low-aspect-ratio pitching-rolling plates. Physics of Fluids, 28(7), 071901.
  • Olivier Mesnard, & Lorena A. Barba. (2021). [Re] Three-dimensional wake topology and propulsive performance of low-aspect-ratio pitching-rolling plates. Rescience C, 7(1), #7. DOI

Contents

  • rescience-rollingpitching: manuscript to be submitted to ReScience C
  • docker: Dockerfiles used to build Docker images (shared on DockerHub)
  • singularity: Singularity recipe files to build images (shared on Singularity Hub)
  • src: PetIBM application source files for the 3D pitching and rolling plate, and Python data-processing package
  • runs: directory with inputs files of the PetIBM simulations (independence and parametric study)

Dependencies

Container images

  • Olivier Mesnard & Lorena A. Barba (2021). [Re] Three-dimensional wake topology and propulsive performance of low-aspect-ratio pitching-rolling plates (container images). DOI

The deposit (4.7GB) contains the Docker and Singularity images used for the replication:

  • petibm-rollingpitching_PetIBM0.5.1-xenial.tar: tar archive of the Docker image mesnardo/petibm-rollingpitching:PetIBM0.5.1-xenial which includes the PetIBM application for the 3D rolling and pitching wing
  • petibm-rollingpitching_PetIBM0.5.1-xenial.sif: Singularity image (build from the Docker image) that was used to run the simulations on the pegasus HPC cluster (at the George Washington University)
  • petibm-rollingpitching_prepost.tar: tar archive of the Docker image mesnardo/petibm-rollingpitching:prepost which contains all tools to pre- and post-process the numerical outputs of the simulations

We used Docker 1.39 (see version info) and Singularity 3.4.2.

Software/Hardware requirements

The following list of libraries and tools should be installed on the host machine to be able to run the Singularity image:

  • CUDA Toolkit 10.1
  • Singularity 3.4+
  • OpenMPI 3.1.4

The NVIDIA AmgX library contained in the Docker image mesnardo/petibm-rollingpitching:PetIBM0.5.1-xenial was compiled with CUDA Toolkit 10.1 to target NVIDIA GPUs with a compute capability of 3.5 (Kepler - Tesla K20, K40), 3.7 (Kepler - Tesla K80), 6.0 (Pascal - Tesla P100), and 7.0 (Volta - Tesla V100).

Note we used NVIDIA V100 GPUs to solve the pressure Poisson system in our simulations; the two other linear systems were solved on CPUs with the PETSc library. If no GPUs are available on the host machine, one should still be able to use the same Docker or Singularity image and solve the Poisson system on CPUs. Otherwise, one should be able to launch and configure an AWS EC2 instance following these instructions.

Hardware configuration and run times

See this README section.

Reproducibility packages

  • Olivier Mesnard & Lorena A. Barba (2021). [Re] Three-dimensional wake topology and propulsive performance of low-aspect-ratio pitching-rolling plates (repro-packs). DOI

Download the Zenodo archive (18.6 GB) with the primary data output from PetIBM.

⚠️ WARNING
Generating secondary data (e.g., 3D vorticity field) requires a machine with more than 16 GB of memory (32 GB is recommended). If you do not have access to such machine, one solution is to launch a t3.2xlarge EC2 instance on AWS and run the Docker container there (see instructions).

Generate all secondary data and figures of the manuscript (~20 minutes):

cd repro-packs
docker run --rm -it -v $(pwd):/postprocessing mesnardo/petibm-rollingpitching:prepost /bin/bash /postprocessing/scripts/generate_all_figures.sh > repro-packs.log 2>&1

LICENSE

Not all content in this repository is open source. The PetIBM application code and Python scripts are shared under a BSD 3-Clause License. But please note that the manuscript text is not open source; we reserve rights to the article content, which will be submitted for publication in a journal. Only fair use applies in this case.