Skip to content

RickXie43/FortranVortexIdentify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FortranVortexIdentify

This Package aims to identify discrete vortexs from the velocity field data, which is the result of DaVis PIV process.

Quick Start

Run these in terminal. Set INPUTDIR, OUTPUTDIR and CORE_NUM for your data.

#!/bin/bash
#Set INPUTDIR and will create new directory in OUTPUTDIR to save result
INPUTDIR=~/Data/beta_2023_pivdata/cone25_4K/230527_0.4Hz_4K_4s
OUTPUTDIR=.
#Paralleled Thread Number CORE_NUM
CORE_NUM=90
make clean
make DATADIR=$INPUTDIR
mpirun -np $CORE_NUM ./vortex_mpi_cmd $INPUTDIR $OUTPUTDIR

Usage

To compute all vortexs, there are three steps. First, you have to set parameters in parameters.F90. Second, you have to compile the program. And the third is to processing the program.

Since for different original PIV data, different NX_DEF, NY_DEF ( point number in x, y direction) should be set before compiling. The batch processing method is also provided in order to set NX_DEF and NY_DEF automatically, using shell script setnxny.sh .

Set Parameters

  • X_MIN_DEF, X_MAX_DEF, Y_MIN_DEF, Y_MAX_DEF

These 4 parameters determine the range of field, a square area. The Unit is meter. For example, X_MIN_DEF -0.1

  • INTERPOLATIONPOINTS_DEF

The points number between X_MIN_DEF and X_MAX_DEF, and also between Y_MIN_DEF and Y_MAX_DEF. The larger INTERPOLATIONPOINTS_DEF, the more accurate for vortexs position. For example, INTERPOLATIONPOINTS_DEF 2000

  • NX_DEF, NY_DEF

The points number in x and y direction of the original PIV data. The shell script *setnxny.sh can read NX_DEF and NY_DEF from the first line of data, and write into parameters.F90. You can also set by yourself.

  • EFF_RADIUS_DEF

The vortexs out of these range will be deleted. e.g. EFF_RADIUS_DEF 0.1

  • FLITER_BETA_DEF

Delete a ratio of vortexs. Larger to have fewer vortewx. e.g. FLITER_BETA_DEF 1

Compile Program

The program uses Makefile to compile.

To compile using parameters in parameters.F90, run

make clean
make

in terminal.

To set NX_DEF and NY_DEF for specified data, run

make clean
make DATADIR=/directory

in terminal, which can set NX_DEF and NY_DEF in parameters.F90 first and then compiling.

To run single processor version program using main_findvortex.f90, run

make clean
make single_processor

in terminal.

To test program using main_test.f90, run

make clean
make test

in terminal.

Batch Processing

The example is shown in ./batch_processing_example.sh.

#!/bin/bash
#Set INPUTDIR and will create new directory in OUTPUTDIR to save result
INPUTDIR=~/Data/beta_2023_pivdata/cone25_4K/230527_0.4Hz_4K_4s
OUTPUTDIR=.
#Paralleled Thread Number CORE_NUM
CORE_NUM=90
make clean
make DATADIR=$INPUTDIR
mpirun -np $CORE_NUM ./vortex_mpi_cmd $INPUTDIR $OUTPUTDIR

run in terminal.

About

MPI Fortran to identify vortex from PIV data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published