mirror of
https://github.com/PhasicFlow/phasicFlow.git
synced 2025-07-08 03:07:03 +00:00
.github
DEMSystems
benchmarks
cmake
autoComplete
bashrc
globals.cmake
makeExecutableGlobals.cmake
makeLibraryGlobals.cmake
preReq.cmake
doc
solvers
src
tutorials
utilities
.gitignore
CMakeLists.txt
LICENSE
README.md
phasicFlowConfig.H.in
72 lines
1.9 KiB
Plaintext
72 lines
1.9 KiB
Plaintext
PF_cFlags="--description --help --version"
|
|
AllTimeFolders=
|
|
__getAllTime(){
|
|
files=( $(ls) )
|
|
deleteFiles=(settings caseSetup cleanThisCase VTK runThisCase stl postprocess postProcess)
|
|
declare -A delk
|
|
for del in "${deleteFiles[@]}" ; do delk[$del]=1 ; done
|
|
# Tag items to remove, based on
|
|
for k in "${!files[@]}" ; do
|
|
[ "${delk[${files[$k]}]-}" ] && unset 'files[k]'
|
|
done
|
|
# Compaction
|
|
COMPREPLY=("${files[@]}")
|
|
AllTimeFolders="${files[@]}"
|
|
}
|
|
|
|
__getFields(){
|
|
__getAllTime
|
|
local -A unique_files=()
|
|
|
|
for dir in $AllTimeFolders; do
|
|
# Check if the directory exists
|
|
if [ ! -d "$dir" ]; then
|
|
continue # Skip to the next directory
|
|
fi
|
|
|
|
files_in_dir=$(find "$dir" -maxdepth 1 -type f -printf '%f\n' | sort -u)
|
|
|
|
# Add filenames to the associative array (duplicates will be overwritten)
|
|
while IFS= read -r filename; do
|
|
unique_files["$filename"]=1 # Just the key is important, value can be anything
|
|
done <<< "$files_in_dir"
|
|
|
|
done
|
|
COMPREPLY=("${!unique_files[@]}")
|
|
AllTimeFolders=
|
|
}
|
|
|
|
_pFlowToVTK(){
|
|
if [ "$3" == "--time" ] ; then
|
|
__getAllTime
|
|
elif [ "$3" == "--fields" ]; then
|
|
__getFields
|
|
else
|
|
COMPREPLY=( $(compgen -W "$PF_cFlags --binary --no-geometry --no-particles --out-folder --time --separate-surfaces --fields" -- "$2") )
|
|
fi
|
|
}
|
|
complete -F _pFlowToVTK pFlowToVTK
|
|
|
|
_postprocessPhasicFlow(){
|
|
if [ "$3" == "--time" ]; then
|
|
__getAllTime
|
|
else
|
|
COMPREPLY=( $(compgen -W "$PF_cFlags --out-folder --time --zeroFolder" -- "$2") )
|
|
fi
|
|
}
|
|
complete -F _postprocessPhasicFlow postprocessPhasicFlow
|
|
|
|
complete -W "$PF_cFlags --positionParticles-only --setFields-only --coupling" particlesPhasicFlow
|
|
|
|
complete -W "$PF_cFlags --coupling" geometryPhasicFlow
|
|
|
|
complete -W "$PF_cFlags --coupling" iterateGeometry
|
|
|
|
complete -W "$PF_cFlags" iterateSphereParticles
|
|
|
|
complete -W "$PF_cFlags" sphereGranFlow
|
|
|
|
complete -W "$PF_cFlags" grainGranFlow
|
|
|
|
complete -W "$PF_cFlags" checkPhasicFlow
|