The motion of the flying snake Chrysopelea paradisi is characterized by active deformations of the whole body to generate aerodynamic forces necessary for gliding, stabilization, and maneuvering. One active deformation is the expansion of the rib cage to produce a concave ventral surface with the formation of a pair of ventrally-oriented lips. Here, we aim to identify the role of the lips and quantify their effect on the aerodynamic performance of the glider. Our approach is to modify the anatomically accurate cross-section by removing one or both lips and measure the relative change in aerodynamic forces.
Figure: Original and modified geometries of the snake section (oriented at a
The original geometry of the body cross-section of the snake Chrysopelea paradisi is available on FigShare:
Krishnan, Anush; J. Socha, John; P. Vlachos, Pavlos; Barba, Lorena A. (2013): Body cross-section of the flying snake Chrysopelea paradisi. figshare. Dataset. https://doi.org/10.6084/m9.figshare.705877.v1
We used our in-house software, PetIBM (version 0.5.1
), to compute the flow past the original and modified cross-sections of the gliding snake at Reynolds number 3.9.1
) and Azure CLI (version 2.3.1
) to deploy resources on Azure and submit containerized jobs to Azure Batch.
conda env create --name=py37-snakelips-2d --file=environment.yml
conda activate py37-snakelips-2d
Navigate to a simulation directory, e.g., runs/Re2000/both_lips/2k35
:
SNAKELIPS_DIR=$(pwd)
cd runs/Re2000/both_lips/2k35
Copy and update the template credentials.yaml
with your credentials:
cp ${SNAKELIPS_DIR}/misc/template-credentials.yaml config_shipyard/credentials.yaml
# Edit the file with your credentials
Create the geometry of the snake section:
python scripts/create_body.py
Create a directory in your Azure Storage fileshare to save the output of the simulation:
az storage directory create --name snake2d/Re2000/both_lips/2k35 --account-name <your-account-name> --share-name fileshare
Upload input files to Azure Storage:
az storage file upload-batch --source . --destination fileshare/snake2d/Re2000/both_lips/2k35 --account-name <your-account-name>
Deploy resources (1 dedicated Ubuntu-based NC12 instance) on Azure and submit the job with Batch Shipyard:
export SHIPYARD_CONFIGDIR=config_shipyard
shipyard pool add
shipyard jobs add
Once the job has completed, delete the compute resources and download the numerical solution output from Azure Storage:
shipyard pool del
mkdir output
az storage file download-batch --source fileshare/snake2d/Re2000/both_lips/2k35 --destination output --account-name <your-account-name>
Figure: Time-averaged lift (top) and drag (bottom) coefficients at Reynolds numbers
Figure: Time-averaged lift-to-drag ratio at Reynolds numbers
- Olivier Mesnard, & Lorena A. Barba. (2022). Effect of the lips on the gliding performance of the Chrysopelea paradisi snake with 2D PetIBM on Azure (repro-packs).
To reproduce the figures, download the Zenodo archive (4.8 GB), create a conda environment, and execute the misc/process_all.py
script located in the snake-lips-2d-repropacks
folder.
cd snake-lips-2d-repropacks
conda env create --name=py37-snakelips-2d --file=environment.yml
conda activate py37-snakelips-2d
python misc/process_all.py