CFDEM中的cleanCFDEMcase函数

在CFDEM的case中的parCFDDEMrun.sh中,有这么一段代码:

#--------------------------------------------------------------------------------#
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
logpath=$casePath
headerText="run_parallel_cfdemSolverPiso_settlingTestMPI_CFDDEM"
logfileName="log_$headerText"
solverName="cfdemSolverPisoNew"
nrProcs="9"
machineFileName="none"   # yourMachinefileName | none
debugMode="off"          # on | off| strict
testHarnessPath="$CFDEM_TEST_HARNESS_PATH"
runOctave="true"
cleanUp="true"
postproc="false"
#--------------------------------------------------------------------------------#

其中的 cleanUp="true" 可以让我们在计算完case之后,通过回车键来删除计算过的内容,或者是通过“Ctrl+C”来关掉进程保存计算结果。在parCFDDEMrun.sh的最后,给出了cleanUp的执行过程为:

#- clean up case
if [ $cleanUp == "true" ]
  then
    keepDEMrestart="false"
    cleanCFDEMcase $casePath/CFD $keepDEMrestart
fi

关于 keepDEMrestart 和 cleanCFDEMcase 的详细内容在 $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/functions.sh 中,相关代码具体如下:

 1 cleanCFDEMcase()
 2 {
 3     #--------------------------------------------------------------------------------#
 4     #- define variables
 5     casepath="$1"
 6     keepDEMrestart="$2"
 7     keepCFDmesh="$3"
 8     #--------------------------------------------------------------------------------#
 9 
10     echo "deleting data at: $casePath ? otherwise press Ctrl-C:\n"
11     read
12     source $WM_PROJECT_DIR/bin/tools/CleanFunctions
13     #CFD
14     cd $casePath/CFD
15     if [[ $keepCFDmesh == true ]]; then
16         echo "keeping CFD mesh files"
17         cp -r constant/polyMesh constant/polyMesh_backup
18         cleanCase
19         mv constant/polyMesh_backup/* constant/polyMesh
20         rm -r constant/polyMesh_backup
21     else
22         echo "deleting CFD mesh files"
23         cleanCase
24     fi
25 
26     #CFDEM
27     rm -r $casePath/CFD/clockData
28     rm -r $casePath/CFD/particleProbes
29     rm -r $casePath/CFD/averageProps/
30     rm -r $casePath/CFD/octave/octave-core
31     rm -r $casePath/CFD/octave/octave-workspace
32     rm -r $casePath/remotePlace
33     rm -r $casePath/CFD/oldProcDirs
34     rm -r $casePath/CFD/tmp.balance
35     rm $casePath/CFD/callgrind.out.*
36     rm -r $casePath/CFD/hpctoolkit-*
37     rm  $casePath/log_*
38     #DEM
39     rm $casePath/DEM/post/*
40     touch $casePath/DEM/post/.gitignore
41     if [[ $keepDEMrestart == true ]]; then
42         echo "keeping DEM restart files"
43     else
44     rm  $casePath/DEM/post/restart/*
45     fi
46     touch $casePath/DEM/post/restart/.gitignore
47     rm  $casePath/DEM/tmp.lammps.variable
48     rm  $casePath/DEM/log*
49     #ParScale
50     rm $casePath/CFD/*.dat
51     rm $casePath/CFD/*.pascal
52     rm $casePath/CFD/*.profile
53     rm -r $casePath/CFD/pascal/0.*
54     rm -r $casePath/CFD/pascal/1
55     rm -r $casePath/CFD/pascal/1.*
56     rm -r $casePath/CFD/pascal/2
57     rm -r $casePath/CFD/pascal/2.*
58     rm -r $casePath/CFD/pascal/3
59     rm -r $casePath/CFD/pascal/3.*
60     rm -r $casePath/CFD/pascal/4
61     rm -r $casePath/CFD/pascal/4.*
62     rm -r $casePath/CFD/pascal/5
63     rm -r $casePath/CFD/pascal/5.*
64     rm -r $casePath/CFD/pascal/6
65     rm -r $casePath/CFD/pascal/6.*
66     rm -r $casePath/CFD/pascal/7
67     rm -r $casePath/CFD/pascal/7.*
68     rm -r $casePath/CFD/pascal/8
69     rm -r $casePath/CFD/pascal/8.*
70     rm -r $casePath/CFD/pascal/9
71     rm -r $casePath/CFD/pascal/9.*
72     rm -r $casePath/CFD/pascal/10
73     rm -r $casePath/CFD/pascal/10.*
74     cd $casePath
75     echo "done"
76 }

我们从上面的41行到44行中可以发现, keepDEMrestart=“true” 的话,就会删除 $casePath/DEM/post/restart/ 路径下面保存的文件,而这些文件则是在in.liggghts文件中通过 restart 命令保存的文件。因此,我们要想在计算完成后,通过回车键来删除这些文件的话,就需要注意下restart文件夹的保存路径。

 

posted @ 2023-07-16 20:43  希望先生  阅读(44)  评论(0编辑  收藏  举报