diff --git a/Input/CFDACM/TestRestart/SphereJi.acm01 b/Input/CFDACM/TestRestart/SphereJi.acm01 new file mode 100644 index 00000000..78fb3700 --- /dev/null +++ b/Input/CFDACM/TestRestart/SphereJi.acm01 @@ -0,0 +1,180 @@ +! +! -*- input parameter for ACM -*- +! +! -*- mode: f90 -*- + +!====================================== +&DEMOptions +!====================================== + + RestartFlag = F ! restart or not + numPrtcl = 6355 ! total particle number + numPrtclFix = 0 ! total fixed particle number + gravity = 0.00 -70.0 0.00 ! gravity or other constant body forces (if any) + + Prtcl_cs_ratio = 1.0 + CS_Method = 1 ! Contact search method (1: NBS_Munjiza; 2: NBS_Munjiza_Hrchl ) + CF_Type = 4 ! Contact force type (1:DEM_LSD; 2:DEM_nLin; 3:ACM_LSD; 4:ACM_nLin) + PI_Method = 2 ! Integration scheme for translational motion ( 1:FE, 2:AB2, 3:AB3 ) + PRI_Method = 2 ! Integration scheme for rotational motion ( 1:FE, 2:AB2, 3:AB3 ) + + numPrtcl_Type = 1 ! number of particle type + numWall_type = 1 ! number of wall type + + CntctList_Size=10 ! Contact list size, 6 means every particle can contact with 12 neighbour particles/walls in average + CS_numlvls = 0 ! Number of levels in multi-level contact search, 0 means default behavior. + + Wall_max_update_iter= 100 ! Near wall list will be updated no more than every 100 iterations + Wall_neighbor_ratio = 3.00 ! The particle withthin 3*MaxRadius, will be added into the NEAR WALL LIST + + RunName = "JiSedPOF_P" ! Run name + ResultsDir = "./ACM/Results/" ! Result directory + RestartDir = "./ACM/Restart/" ! Restart directory + Cmd_LFile_Freq = 1200 ! Report frequency in the terminal is 500 time step + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Where is the geometry from? 0: Added directly in the program, 1: From NAMELIST "&GeometryMakingParam", 2: From external STL file + GeometrySource =1 + Geom_Dir ="DEMGeom.stl" ! If GeometrySource =2, please give a STL file routine, if not, just ignore it. + +/End of NAMELIST "&DEMOptions" + +!====================================== +&ParticleIBMProperty +!====================================== + + nPartition= 800 + RetractionRatio=0.2 + +/End of NAMELIST "&ParticleIBMProperty" + +!====================================== +&ParticlePhysicalProperty +!====================================== + + Bin_Divided = 1 + Density = 2650 + Diameter = 0.001 + YoungsModulus_P = 5.0E+6 + PoissonRatio_P = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-particle group. + FrictionCoe_s_PP = 0.40 + FrictionCoe_k_PP = 0.40 + RestitutionCoe_n_PP = 0.97 + +/End of NAMELIST "&ParticlePhysicalProperty" + +!====================================== +&WallPhysicalProperty +!====================================== + + YoungsModulus_W = 5.0E+6 + PoissonRatio_W = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-wall group. + FrictionCoe_s_PW = 0.40 + FrictionCoe_k_PW = 0.40 + RestitutionCoe_n_PW = 0.97 + +/End of NAMELIST "&WallPhysicalProperty" + +!====================================== +&GeometryMakingNumPlane +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + nplane= 2 ! number of planes + +/End of NAMELIST "&GeometryMakingNumPlane" + +!====================================== +&GeometryMakingParam +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + ! point1, point2, point3, point4, translational velocity, user_id, wall_Type, bothSide, isInfinite + + user_id = 1 1 + wall_Type = 1 1 + bothSide = F F + IsInfinite= T T + Point1 = 0.0 0.0 0.0, 0.0 0.01 0.0, + Point2 = 0.0 0.0 1.0, 1.0 0.01 0.0, + Point3 = 1.0 0.0 1.0, 1.0 0.01 1.0, + Point4 = 1.0 0.0 0.0, 0.0 0.01 1.0, + TraVel = 0.0 0.0 0.0, 0.0 0.00 0.0, + +/End of NAMELIST "&GeometryMakingParam" + +!====================================== +&PrtclVisuOption +!====================================== + + saveXDMFOnce = T + + save_ID = F + save_Diameter = F + save_UsrMark = F + save_LinVel = F + save_RotVel = F + save_CntctForce = F + + save_Type = F + save_LinAcc = F + save_Theta = F + save_RotAcc = F + save_Torque = F + save_HighSt = F + +/End of NAMELIST "&PrtclVisuOption" + +!====================================== +&ParticleStatisticOption +!====================================== + + nslab = 160 + +/End of NAMELIST "&ParticleStatisticOption" + +!====================================== +&DumpPrtclOptions +!====================================== + + DumpPrtclFlag = F + ResetDumpFlag = T + + yDump = 1.5E-3 + DumpPrtclFreq = 100 !10 + mDumpPrtclSize = 500000 !1000000 + DumpPrtclDir = "./ACM/PrtclDump/" + +/End of NAMELIST "&DumpPrtclOptions" + +!================= +&CFDACMCoupling +!================= + + UpdateACMflag = T + IsAddFluidPressureGradient = T + + ! 0: Explicit,Uhlmann(2005,JCP), 1: Explicit,Kempe(2012,JCP), 2: Semi-implicit,Tschisgale(2017,JCP) + IBM_Scheme = 1 + + icouple = 30 + nForcingExtra= 2 + + Klub_pp = 90 + Klub_pw = 90 + Lub_ratio = 1.0 ! Range of lubrication force divided by grid cell size + Ndt_coll=8.0 ! Number of fluid timesteps per collision + + IsDryColl= T ! Turn off fluid forces for large St collsions + St_Crit = 5.0 ! Critical Stokes numeber + +/End of NAMELIST "&CFDACMCoupling" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestRestart/SphereJi.acm02 b/Input/CFDACM/TestRestart/SphereJi.acm02 new file mode 100644 index 00000000..78fb3700 --- /dev/null +++ b/Input/CFDACM/TestRestart/SphereJi.acm02 @@ -0,0 +1,180 @@ +! +! -*- input parameter for ACM -*- +! +! -*- mode: f90 -*- + +!====================================== +&DEMOptions +!====================================== + + RestartFlag = F ! restart or not + numPrtcl = 6355 ! total particle number + numPrtclFix = 0 ! total fixed particle number + gravity = 0.00 -70.0 0.00 ! gravity or other constant body forces (if any) + + Prtcl_cs_ratio = 1.0 + CS_Method = 1 ! Contact search method (1: NBS_Munjiza; 2: NBS_Munjiza_Hrchl ) + CF_Type = 4 ! Contact force type (1:DEM_LSD; 2:DEM_nLin; 3:ACM_LSD; 4:ACM_nLin) + PI_Method = 2 ! Integration scheme for translational motion ( 1:FE, 2:AB2, 3:AB3 ) + PRI_Method = 2 ! Integration scheme for rotational motion ( 1:FE, 2:AB2, 3:AB3 ) + + numPrtcl_Type = 1 ! number of particle type + numWall_type = 1 ! number of wall type + + CntctList_Size=10 ! Contact list size, 6 means every particle can contact with 12 neighbour particles/walls in average + CS_numlvls = 0 ! Number of levels in multi-level contact search, 0 means default behavior. + + Wall_max_update_iter= 100 ! Near wall list will be updated no more than every 100 iterations + Wall_neighbor_ratio = 3.00 ! The particle withthin 3*MaxRadius, will be added into the NEAR WALL LIST + + RunName = "JiSedPOF_P" ! Run name + ResultsDir = "./ACM/Results/" ! Result directory + RestartDir = "./ACM/Restart/" ! Restart directory + Cmd_LFile_Freq = 1200 ! Report frequency in the terminal is 500 time step + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Where is the geometry from? 0: Added directly in the program, 1: From NAMELIST "&GeometryMakingParam", 2: From external STL file + GeometrySource =1 + Geom_Dir ="DEMGeom.stl" ! If GeometrySource =2, please give a STL file routine, if not, just ignore it. + +/End of NAMELIST "&DEMOptions" + +!====================================== +&ParticleIBMProperty +!====================================== + + nPartition= 800 + RetractionRatio=0.2 + +/End of NAMELIST "&ParticleIBMProperty" + +!====================================== +&ParticlePhysicalProperty +!====================================== + + Bin_Divided = 1 + Density = 2650 + Diameter = 0.001 + YoungsModulus_P = 5.0E+6 + PoissonRatio_P = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-particle group. + FrictionCoe_s_PP = 0.40 + FrictionCoe_k_PP = 0.40 + RestitutionCoe_n_PP = 0.97 + +/End of NAMELIST "&ParticlePhysicalProperty" + +!====================================== +&WallPhysicalProperty +!====================================== + + YoungsModulus_W = 5.0E+6 + PoissonRatio_W = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-wall group. + FrictionCoe_s_PW = 0.40 + FrictionCoe_k_PW = 0.40 + RestitutionCoe_n_PW = 0.97 + +/End of NAMELIST "&WallPhysicalProperty" + +!====================================== +&GeometryMakingNumPlane +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + nplane= 2 ! number of planes + +/End of NAMELIST "&GeometryMakingNumPlane" + +!====================================== +&GeometryMakingParam +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + ! point1, point2, point3, point4, translational velocity, user_id, wall_Type, bothSide, isInfinite + + user_id = 1 1 + wall_Type = 1 1 + bothSide = F F + IsInfinite= T T + Point1 = 0.0 0.0 0.0, 0.0 0.01 0.0, + Point2 = 0.0 0.0 1.0, 1.0 0.01 0.0, + Point3 = 1.0 0.0 1.0, 1.0 0.01 1.0, + Point4 = 1.0 0.0 0.0, 0.0 0.01 1.0, + TraVel = 0.0 0.0 0.0, 0.0 0.00 0.0, + +/End of NAMELIST "&GeometryMakingParam" + +!====================================== +&PrtclVisuOption +!====================================== + + saveXDMFOnce = T + + save_ID = F + save_Diameter = F + save_UsrMark = F + save_LinVel = F + save_RotVel = F + save_CntctForce = F + + save_Type = F + save_LinAcc = F + save_Theta = F + save_RotAcc = F + save_Torque = F + save_HighSt = F + +/End of NAMELIST "&PrtclVisuOption" + +!====================================== +&ParticleStatisticOption +!====================================== + + nslab = 160 + +/End of NAMELIST "&ParticleStatisticOption" + +!====================================== +&DumpPrtclOptions +!====================================== + + DumpPrtclFlag = F + ResetDumpFlag = T + + yDump = 1.5E-3 + DumpPrtclFreq = 100 !10 + mDumpPrtclSize = 500000 !1000000 + DumpPrtclDir = "./ACM/PrtclDump/" + +/End of NAMELIST "&DumpPrtclOptions" + +!================= +&CFDACMCoupling +!================= + + UpdateACMflag = T + IsAddFluidPressureGradient = T + + ! 0: Explicit,Uhlmann(2005,JCP), 1: Explicit,Kempe(2012,JCP), 2: Semi-implicit,Tschisgale(2017,JCP) + IBM_Scheme = 1 + + icouple = 30 + nForcingExtra= 2 + + Klub_pp = 90 + Klub_pw = 90 + Lub_ratio = 1.0 ! Range of lubrication force divided by grid cell size + Ndt_coll=8.0 ! Number of fluid timesteps per collision + + IsDryColl= T ! Turn off fluid forces for large St collsions + St_Crit = 5.0 ! Critical Stokes numeber + +/End of NAMELIST "&CFDACMCoupling" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestRestart/SphereJi.cfd01 b/Input/CFDACM/TestRestart/SphereJi.cfd01 new file mode 100644 index 00000000..07b17d44 --- /dev/null +++ b/Input/CFDACM/TestRestart/SphereJi.cfd01 @@ -0,0 +1,144 @@ +! +! -*- input parameter for Channel flow -*- +! +! -*- mode: f90 -*- + +!=================== +&BasicParam +!=================== + + RestartFlag = F ! Restart or not + IsUxConst= F + ubulk = 0.600 + + ! Flow type (1=Channel, 2=Half channel, 3=Taylor-Green vortex, 4=Isotropic turbulence, 5=Added new) + FlowType = 2 + + ! Mesh options + xlx = 0.06 ! domain length in x-dir + yly = 0.01 ! domain length in y-dir + zlz = 0.04 ! domain length in z-dir + nxc = 960 ! grid point number in x-dir + nyc = 160 ! grid point number in y-dir + nzc = 640 ! grid point number in z-dir + + ! Physical properties + xnu = 1.0E-6 ! kinematic viscosity + gravity =1.0 0.0 0.0 ! Gravity or other constant body forces (if any) + FluidDensity = 1000 ! Fluid density + + ! Time stepping + dtMax= 1.0E-5 ! Maxium time step + iCFL = 2 ! Use CFL condition to change time step dynamically( 1: yes, 2:no ). + CFLc = 1.4 ! CFL parameter + ifirst= 1 ! First iteration + ilast = 10 ! Last iteration + + ! Numerical scheme options + ischeme = 1 ! (1=AB2, 2=RK2, 3=RK3) + IsImplicit= 0 ! (0=full explicit, 1=partial implicit, 2=full implicit ) + FFTW_plan_type = 2 ! (1=FFTW_MEASURE, 2=FFTW_ESTIMATE) + + ! Boundary conditions + ! 0: Periodic + ! -1: NoSlip + ! -2: Slip + ! -3: Convective (ONLY AVAILABLE for x+ and y+) + ! From left to right: + ! x-, x+, y-, y+, z-, z+ + ! And the velocity Bc values will ONLY be used corresponding to the no-slip Bc + ! While at the same time, you are allow to assign a transpiration Bc for uy in y- bottom(uyBcValue(3) dosen't work). + BcOption = 0, 0, -1, -2, 0, 0 + uxBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uyBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uzBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + + ! I/O, Statistics + ivstats = 10 ! time step interval for statistics calculation + saveStat = 10000 ! Output Statistics file frequency + SaveVisu = 50000 ! Output visulizing file frequency + BackupFreq= 50000 ! Output Restarting file frequency + RunName ="JiSedPOF01" ! Run name + ResultsDir="./CFD/Results/" ! Result directory + RestartDir="./CFD/Restart/" ! Restart directory + Cmd_LFile_Freq = 5 ! Report frequency in the terminal + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Decomp2d options + p_row = 4 + p_col = 2 + + ! limited velocity and div + vel_limit = 5.0 + div_limit = 0.2 + +/End of NAMELIST "&BasicParam" + +!=================== +&ubulk_Param +!=================== + + ybulk1= 0.002 + ybulk2= 0.010 + +/End of NAMELIST "&ubulk_Param" + +!================= +&MeshSection +!================= + + nSection = 1 ! yly will be diveded into "nSection" part + +/End of NAMELIST "MeshSection" + +!================= +&MeshOptions +!================= + + SectionLength = 1.0 ! e.g. If nSection=2, and SectionLength=[1,3], yly is further divided into 1/4*yly and 3/4*yly + nycSection = 160 ! sum(nycSection)=nyc + StretType = 0 ! 0:Uniform; 1:Tangent hyperbolic function; 2:Sine/cosine function; 3:Proportional sequence + StretOption = 1 ! 0:bottom; 1:top + SectioncStret = 1.0 ! Stretching parameter. if StretType=0, this parameter doesn't work. + +/End of NAMELIST "MeshOptions" + +!================= +&SpectraOptions +!================= + + clcSpectra1D = F + clcSpectra2D = F + ivSpec = 20 + jForLCS = 12 16 + +/End of NAMELIST "SpectraOptions" + +!================= +&IO_Options +!================= + + iskip = 1 + jskip = 1 + kskip = 1 + + save_ux = F + save_uy = F + save_uz = F + save_wx = F + save_wy = F + save_wz = F + save_wMag = F + save_pr = F + save_Q_vor = F + save_lamda2= F + + WriteHistOld = T + ReadHistOld = T + +/End of NAMELIST "&IO_Options" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestRestart/SphereJi.cfd02 b/Input/CFDACM/TestRestart/SphereJi.cfd02 new file mode 100644 index 00000000..702f6125 --- /dev/null +++ b/Input/CFDACM/TestRestart/SphereJi.cfd02 @@ -0,0 +1,144 @@ +! +! -*- input parameter for Channel flow -*- +! +! -*- mode: f90 -*- + +!=================== +&BasicParam +!=================== + + RestartFlag = F ! Restart or not + IsUxConst= F + ubulk = 0.600 + + ! Flow type (1=Channel, 2=Half channel, 3=Taylor-Green vortex, 4=Isotropic turbulence, 5=Added new) + FlowType = 2 + + ! Mesh options + xlx = 0.06 ! domain length in x-dir + yly = 0.01 ! domain length in y-dir + zlz = 0.04 ! domain length in z-dir + nxc = 960 ! grid point number in x-dir + nyc = 160 ! grid point number in y-dir + nzc = 640 ! grid point number in z-dir + + ! Physical properties + xnu = 1.0E-6 ! kinematic viscosity + gravity =1.0 0.0 0.0 ! Gravity or other constant body forces (if any) + FluidDensity = 1000 ! Fluid density + + ! Time stepping + dtMax= 1.0E-5 ! Maxium time step + iCFL = 2 ! Use CFL condition to change time step dynamically( 1: yes, 2:no ). + CFLc = 1.4 ! CFL parameter + ifirst= 1 ! First iteration + ilast = 160 ! Last iteration + + ! Numerical scheme options + ischeme = 1 ! (1=AB2, 2=RK2, 3=RK3) + IsImplicit= 0 ! (0=full explicit, 1=partial implicit, 2=full implicit ) + FFTW_plan_type = 2 ! (1=FFTW_MEASURE, 2=FFTW_ESTIMATE) + + ! Boundary conditions + ! 0: Periodic + ! -1: NoSlip + ! -2: Slip + ! -3: Convective (ONLY AVAILABLE for x+ and y+) + ! From left to right: + ! x-, x+, y-, y+, z-, z+ + ! And the velocity Bc values will ONLY be used corresponding to the no-slip Bc + ! While at the same time, you are allow to assign a transpiration Bc for uy in y- bottom(uyBcValue(3) dosen't work). + BcOption = 0, 0, -1, -2, 0, 0 + uxBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uyBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uzBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + + ! I/O, Statistics + ivstats = 10 ! time step interval for statistics calculation + saveStat = 10000 ! Output Statistics file frequency + SaveVisu = 50000 ! Output visulizing file frequency + BackupFreq= 80 ! Output Restarting file frequency + RunName ="JiSedPOF02" ! Run name + ResultsDir="./CFD/Results/" ! Result directory + RestartDir="./CFD/Restart/" ! Restart directory + Cmd_LFile_Freq = 5 ! Report frequency in the terminal + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Decomp2d options + p_row = 4 + p_col = 2 + + ! limited velocity and div + vel_limit = 5.0 + div_limit = 0.2 + +/End of NAMELIST "&BasicParam" + +!=================== +&ubulk_Param +!=================== + + ybulk1= 0.002 + ybulk2= 0.010 + +/End of NAMELIST "&ubulk_Param" + +!================= +&MeshSection +!================= + + nSection = 1 ! yly will be diveded into "nSection" part + +/End of NAMELIST "MeshSection" + +!================= +&MeshOptions +!================= + + SectionLength = 1.0 ! e.g. If nSection=2, and SectionLength=[1,3], yly is further divided into 1/4*yly and 3/4*yly + nycSection = 160 ! sum(nycSection)=nyc + StretType = 0 ! 0:Uniform; 1:Tangent hyperbolic function; 2:Sine/cosine function; 3:Proportional sequence + StretOption = 1 ! 0:bottom; 1:top + SectioncStret = 1.0 ! Stretching parameter. if StretType=0, this parameter doesn't work. + +/End of NAMELIST "MeshOptions" + +!================= +&SpectraOptions +!================= + + clcSpectra1D = F + clcSpectra2D = F + ivSpec = 20 + jForLCS = 12 16 + +/End of NAMELIST "SpectraOptions" + +!================= +&IO_Options +!================= + + iskip = 1 + jskip = 1 + kskip = 1 + + save_ux = F + save_uy = F + save_uz = F + save_wx = F + save_wy = F + save_wz = F + save_wMag = F + save_pr = F + save_Q_vor = F + save_lamda2= F + + WriteHistOld = T + ReadHistOld = T + +/End of NAMELIST "&IO_Options" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestRestart/SpheresCoord.Ji b/Input/CFDACM/TestRestart/SpheresCoord.Ji new file mode 100644 index 00000000..df155b41 Binary files /dev/null and b/Input/CFDACM/TestRestart/SpheresCoord.Ji differ diff --git a/Input/CFDACM/TestRestart/runTestCFDACMRestart.sh b/Input/CFDACM/TestRestart/runTestCFDACMRestart.sh new file mode 100644 index 00000000..2c61bf1f --- /dev/null +++ b/Input/CFDACM/TestRestart/runTestCFDACMRestart.sh @@ -0,0 +1,18 @@ +#!/bin/bash +nproc=8 +appName="mpirun" + +cd ../../../ +chmod a+x mymake.sh +./mymake.sh -exe-channelACM -cmp-gcc_MPI -CompileThirdParty-0 -deleteCompileFile-1 -CFD_DEFS_Add -ACM_DEFS_Add -CFDACM_DEFS_Add-DIBMDistributeLinear + +mkdir -p ./ACM/Restart/ 2> /dev/null +cp ./Input/CFDACM/TestRestart/SpheresCoord.Ji ./ACM/Restart/SpheresCoord.dat + +$appName -n $nproc ./channelACM ./Input/CFDACM/TestRestart/SphereJi.cfd01 ./Input/CFDACM/TestRestart/SphereJi.acm01 +rm -rf CFD/Restart/RestartForJiSedPOF020000000000 +rm -rf ACM/Restart/RestartForJiSedPOF_P0000000000 +mv CFD/Restart/RestartForJiSedPOF010000000010 CFD/Restart/RestartForJiSedPOF020000000000 +mv ACM/Restart/RestartForJiSedPOF_P0000000010 ACM/Restart/RestartForJiSedPOF_P0000000000 +$appName -n $nproc ./channelACM ./Input/CFDACM/TestRestart/SphereJi.cfd02 ./Input/CFDACM/TestRestart/SphereJi.acm02 +cp ./CFD/Results/JiSedPOF02.log JiSedPOF02_backup.txt diff --git a/Input/CFDACM/TestScaling/CFDACMStrong.dem b/Input/CFDACM/TestScaling/CFDACMStrong.dem new file mode 100644 index 00000000..e5aca4c0 --- /dev/null +++ b/Input/CFDACM/TestScaling/CFDACMStrong.dem @@ -0,0 +1,179 @@ +! +! -*- input parameter for DEM -*- +! +! -*- mode: f90 -*- + +!====================================== +&DEMOptions +!====================================== + + RestartFlag = T ! restart or not + numPrtclFix = 0 ! total fixed particel number + numPrtcl= 1050624 ! total particle number + dtDEM = 2.0E-6 ! time step + ifirstDEM = 1 ! first time step + ilastDEM = 100000 ! last time step + gravity= 0.000 -9.81 0.0 ! gravity or other constant body forces (if any) + + ! Simulation domain + minpoint = 0.000 0.000 0.000 + maxpoint = 0.384 0.020 0.192 + isPeriodic = T,F,T + + Prtcl_cs_ratio = 1.0 + CS_Method = 1 ! Contact search method (1: NBS_Munjiza; 2: NBS_Munjiza_Hrchl ) + CF_Type = 2 ! Contact force type (1: LSD, 2:nLin) + PI_Method = 3 ! Integration scheme for translational motion ( 1:FE, 2:AB2, 3:AB3) + PRI_Method = 3 ! Integration scheme for rotational motion ( 1:FE, 2:AB2, 3:AB3 ) + + numPrtcl_Type = 1 ! number of particle type + numWall_type = 1 ! number of wall type + + CntctList_Size =6 ! Contact list size, 6 means every particle can contact with 12 neighbour particles/walls in average + CS_numlvls = 0 ! Number of levels in multi-level contact search, 0 means default behavior. + + Wall_max_update_iter = 100 ! Near wall list will be updated no more than every 100 iterations + Wall_neighbor_ratio = 2.00 ! The particle withthin 2*MaxRadius, will be added into the NEAR WALL LIST + + RunName = "Settling" ! Run name + ResultsDir = "./DEM/Results/" ! Result directory + RestartDir = "./DEM/Restart/" ! Restart directory + SaveVisuDEM = 5000 ! Output visulizing file frequency + BackupFreqDEM = 10000 ! Output Restarting file frequency + Cmd_LFile_Freq = 50 ! Report frequency in the terminal is 500 time step + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Where is the geometry from? 0: Added directly in the program, 1: From NAMELIST "&GeometryMakingParam", 2: From external STL file + GeometrySource =1 + Geom_Dir ="DEMGeom.stl" ! If GeometrySource =2, please give a STL file routine, if not, just ignore it. + +/End of NAMELIST "&DEMOptions" + +!====================================== +&ParticlePhysicalProperty +!====================================== + + Bin_Divided = 1 + Density = 2650.0 + Diameter = 1.0E-3 + YoungsModulus_P = 5.0E+6 + PoissonRatio_P = 0.30 + + ! The following coefficinets are set to all the binary physical propertys for particle-particle group. + FrictionCoe_s_PP = 0.10 + FrictionCoe_k_PP = 0.10 + RestitutionCoe_n_PP = 0.30 + +/End of NAMELIST "&ParticlePhysicalProperty" + +!====================================== +&WallPhysicalProperty +!====================================== + + YoungsModulus_W = 5.0E+6 + PoissonRatio_W = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-wall group. + FrictionCoe_s_PW = 0.10 + FrictionCoe_k_PW = 0.10 + RestitutionCoe_n_PW = 0.30 + +/End of NAMELIST "&WallPhysicalProperty" + +!====================================== +&ParticleMakingOption +!====================================== + + ! Making particle domain + MkPrtclMinpoint = 0.000 0.000 0.000 + MkPrtclMaxpoint = 0.384 0.020 0.192 + + Fill_order = "x","z","y" + Distance_Ratio = 1.01 + VelMag = 0.3 + +/End of NAMELIST "&ParticleMakingOption" + +!====================================== +&GeometryMakingNumPlane +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + nplane= 2 ! number of planes + +/End of NAMELIST "&GeometryMakingNumPlane" + +!====================================== +&GeometryMakingParam +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + ! point1, point2, point3, point4, translational velocity, user_id, wall_Type, bothSide, isInfinite + + user_id = 1 1 + wall_Type = 1 1 + bothSide = F F + IsInfinite= T T + Point1 = 0.0 0.0 0.0, 0.0 0.02 0.0, + Point2 = 0.0 0.0 1.0, 1.0 0.02 0.0, + Point3 = 1.0 0.0 1.0, 1.0 0.02 1.0, + Point4 = 1.0 0.0 0.0, 0.0 0.02 1.0, + TraVel = 0.0 0.0 0.0, 0.0 0.00 0.0, + +/End of NAMELIST "&GeometryMakingParam" + +!====================================== +&PrtclDomainDecomp +!====================================== + +! +! Domain decomposition +! +! -*- If read_partition=.TRUE., the Partition informarion will be read from the NAMELIST "&Domain_Partition"; +! -*- If read_partition=.False.,the Domain will be divided equally. +! + row = 4 ! Row partition + col = 2 ! Column partition + pencil = "y" + +/End of NAMELIST "&PrtclDomainDecomp" + +!====================================== +&PrtclVisuOption +!====================================== + + saveXDMFOnce = T + + save_ID = F + save_Diameter = T + save_UsrMark = F + save_LinVel = F + save_RotVel = F + save_CntctForce = F + + save_Type = T + save_LinAcc = F + save_Theta = F + save_RotAcc = F + save_Torque = F + +/End of NAMELIST "&PrtclVisuOption" + +!====================================== +&Domain_Partition +!====================================== + +! +! This part will be read if read_partition=.TRUE. in NAMELIST "&BasicParam" +! + +x_Partition = +y_Partition = +z_Partition = + +/End of NAMELIST "&Domain_Partition" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestScaling/CFDACMStrong098.acm b/Input/CFDACM/TestScaling/CFDACMStrong098.acm new file mode 100644 index 00000000..8eb13662 --- /dev/null +++ b/Input/CFDACM/TestScaling/CFDACMStrong098.acm @@ -0,0 +1,180 @@ +! +! -*- input parameter for ACM -*- +! +! -*- mode: f90 -*- + +!====================================== +&DEMOptions +!====================================== + + RestartFlag = F ! restart or not + numPrtcl = 1050624 ! total particle number + numPrtclFix = 0 ! total fixed particle number + gravity = 0.00 -40.0 0.00 ! gravity or other constant body forces (if any) + + Prtcl_cs_ratio = 1.0 + CS_Method = 1 ! Contact search method (1: NBS_Munjiza; 2: NBS_Munjiza_Hrchl ) + CF_Type = 3 ! Contact force type (1:DEM_LSD; 2:DEM_nLin; 3:ACM_LSD; 4:ACM_nLin) + PI_Method = 2 ! Integration scheme for translational motion ( 1:FE, 2:AB2, 3:AB3 ) + PRI_Method = 2 ! Integration scheme for rotational motion ( 1:FE, 2:AB2, 3:AB3 ) + + numPrtcl_Type = 1 ! number of particle type + numWall_type = 1 ! number of wall type + + CntctList_Size=10 ! Contact list size, 6 means every particle can contact with 12 neighbour particles/walls in average + CS_numlvls = 0 ! Number of levels in multi-level contact search, 0 means default behavior. + + Wall_max_update_iter = 100 ! Near wall list will be updated no more than every 100 iterations + Wall_neighbor_ratio = 3.00 ! The particle withthin 3*MaxRadius, will be added into the NEAR WALL LIST + + RunName = "Scaling_P098" ! Run name + ResultsDir = "./ACM/Results/" ! Result directory + RestartDir = "./ACM/Restart/" ! Restart directory + Cmd_LFile_Freq = 1200 ! Report frequency in the terminal is 500 time step + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Where is the geometry from? 0: Added directly in the program, 1: From NAMELIST "&GeometryMakingParam", 2: From external STL file + GeometrySource =1 + Geom_Dir ="DEMGeom.stl" ! If GeometrySource =2, please give a STL file routine, if not, just ignore it. + +/End of NAMELIST "&DEMOptions" + +!====================================== +&ParticleIBMProperty +!====================================== + + nPartition= 315 + RetractionRatio=0.1 + +/End of NAMELIST "&ParticleIBMProperty" + +!====================================== +&ParticlePhysicalProperty +!====================================== + + Bin_Divided = 1 + Density = 2650.0 + Diameter = 0.001 + YoungsModulus_P = 10.0E+6 + PoissonRatio_P = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-particle group. + FrictionCoe_s_PP = 0.40 + FrictionCoe_k_PP = 0.40 + RestitutionCoe_n_PP = 0.97 + +/End of NAMELIST "&ParticlePhysicalProperty" + +!====================================== +&WallPhysicalProperty +!====================================== + + YoungsModulus_W = 10.0E+6 + PoissonRatio_W = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-wall group. + FrictionCoe_s_PW = 0.40 + FrictionCoe_k_PW = 0.40 + RestitutionCoe_n_PW = 0.97 + +/End of NAMELIST "&WallPhysicalProperty" + +!====================================== +&GeometryMakingNumPlane +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + nplane= 2 ! number of planes + +/End of NAMELIST "&GeometryMakingNumPlane" + +!====================================== +&GeometryMakingParam +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + ! point1, point2, point3, point4, translational velocity, user_id, wall_Type, bothSide, isInfinite + + user_id = 1, 1 + wall_Type = 1, 1 + bothSide = F, F + IsInfinite= T, T + Point1 = 0.0 0.0 0.0, 0.0 0.02 0.0, + Point2 = 0.0 0.0 1.0, 1.0 0.02 0.0, + Point3 = 1.0 0.0 1.0, 1.0 0.02 1.0, + Point4 = 1.0 0.0 0.0, 0.0 0.02 1.0, + TraVel = 0.0 0.0 0.0, 0.0 0.00 0.0, + +/End of NAMELIST "&GeometryMakingParam" + +!====================================== +&PrtclVisuOption +!====================================== + + saveXDMFOnce = T + + save_ID = F + save_Diameter = F + save_UsrMark = F + save_LinVel = F + save_RotVel = F + save_CntctForce = F + + save_Type = F + save_LinAcc = F + save_Theta = F + save_RotAcc = F + save_Torque = F + save_HighSt = F + +/End of NAMELIST "&PrtclVisuOption" + +!====================================== +&ParticleStatisticOption +!====================================== + + nslab = 200 + +/End of NAMELIST "&ParticleStatisticOption" + +!====================================== +&DumpPrtclOptions +!====================================== + + DumpPrtclFlag = F + ResetDumpFlag = T + + yDump = 1.5E-3 + DumpPrtclFreq = 100 !10 + mDumpPrtclSize = 500000 !1000000 + DumpPrtclDir = "./ACM/PrtclDump/" + +/End of NAMELIST "&DumpPrtclOptions" + +!================= +&CFDACMCoupling +!================= + + UpdateACMflag = T + IsAddFluidPressureGradient = F + + ! 0: Explicit,Uhlmann(2005,JCP), 1: Explicit,Kempe(2012,JCP), 2: Semi-implicit,Tschisgale(2017,JCP) + IBM_Scheme = 1 + + icouple = 50 + nForcingExtra= 2 + + Klub_pp = 90.0 + Klub_pw = 90.0 ! 100 + Lub_ratio = 1.0 ! Range of lubrication force divided by grid cell size + Ndt_coll=8.0 ! Number of fluid timesteps per collision + + IsDryColl= T ! Turn off fluid forces for large St collsions + St_Crit = 5.0 ! Critical Stokes numeber + +/End of NAMELIST "&CFDACMCoupling" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestScaling/CFDACMStrong098.cfd b/Input/CFDACM/TestScaling/CFDACMStrong098.cfd new file mode 100644 index 00000000..786e5650 --- /dev/null +++ b/Input/CFDACM/TestScaling/CFDACMStrong098.cfd @@ -0,0 +1,144 @@ +! +! -*- input parameter for Channel flow -*- +! +! -*- mode: f90 -*- + +!=================== +&BasicParam +!=================== + + RestartFlag = F ! Restart or not + IsUxConst= F + ubulk = 0.600 + + ! Flow type (1=Channel, 2=Half channel, 3=Taylor-Green vortex, 4=Isotropic turbulence, 5=Added new) + FlowType = 2 + + ! Mesh options + xlx = 0.384 ! domain length in x-dir + yly = 0.020 ! domain length in y-dir + zlz = 0.192 ! domain length in z-dir + nxc = 3840 ! grid point number in x-dir + nyc = 200 ! grid point number in y-dir + nzc = 1920 ! grid point number in z-dir + + ! Physical properties + xnu = 1.0E-6 ! kinematic viscosity + gravity =0.5 0.0 0.0 ! Gravity or other constant body forces (if any) + FluidDensity = 1000.0 ! Fluid density + + ! Time stepping + dtMax= 1.0E-5 ! Maxium time step + iCFL = 2 ! Use CFL condition to change time step dynamically( 1: yes, 2:no ). + CFLc = 1.4 ! CFL parameter + ifirst= 1 ! First iteration + ilast = 120 ! Last iteration + + ! Numerical scheme options + ischeme = 2 ! (1=AB2, 2=RK2, 3=RK3) + IsImplicit= 0 ! (0=full explicit, 1=partial implicit, 2=full implicit ) + FFTW_plan_type = 1 ! (1=FFTW_MEASURE, 2=FFTW_ESTIMATE) + + ! Boundary conditions + ! 0: Periodic + ! -1: NoSlip + ! -2: Slip + ! -3: Convective (ONLY AVAILABLE for x+ and y+) + ! From left to right: + ! x-, x+, y-, y+, z-, z+ + ! And the velocity Bc values will ONLY be used corresponding to the no-slip Bc + ! While at the same time, you are allow to assign a transpiration Bc for uy in y- bottom(uyBcValue(3) dosen't work). + BcOption = 0, 0, -1, -2, 0, 0 + uxBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uyBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uzBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + + ! I/O, Statistics + ivstats = 200 ! time step interval for statistics calculation + saveStat = 10000 ! Output Statistics file frequency + SaveVisu = 50000 ! Output visulizing file frequency + BackupFreq= 50000 ! Output Restarting file frequency + RunName ="Scaling_098" ! Run name + ResultsDir="./CFD/Results/" ! Result directory + RestartDir="./CFD/Restart/" ! Restart directory + Cmd_LFile_Freq = 5 ! Report frequency in the terminal + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Decomp2d options + p_row = 14 + p_col = 7 + + ! limited velocity and div + vel_limit = 5.0 + div_limit = 0.2 +/End of NAMELIST "&BasicParam" + +!=================== +&ubulk_Param +!=================== + + ubulk = 0.600 + ybulk1= 0.010 + ybulk2= 0.020 + +/End of NAMELIST "&ubulk_Param" + +!================= +&MeshSection +!================= + + nSection = 1 ! yly will be diveded into "nSection" part + +/End of NAMELIST "MeshSection" + +!================= +&MeshOptions +!================= + + SectionLength = 1.0 ! e.g. If nSection=2, and SectionLength=[1,3], yly is further divided into 1/4*yly and 3/4*yly + nycSection = 200 ! sum(nycSection)=nyc + StretType = 0 ! 0:Uniform; 1:Tangent hyperbolic function; 2:Sine/cosine function; 3:Proportional sequence + StretOption = 1 ! 0:bottom; 1:top + SectioncStret = 1.0 ! Stretching parameter. if StretType=0, this parameter doesn't work. + +/End of NAMELIST "MeshOptions" + +!================= +&SpectraOptions +!================= + + clcSpectra1D = F + clcSpectra2D = F + ivSpec = 20 + jForLCS = 12 16 + +/End of NAMELIST "SpectraOptions" + +!================= +&IO_Options +!================= + + iskip = 1 + jskip = 1 + kskip = 1 + + save_ux = F + save_uy = F + save_uz = F + save_wx = F + save_wy = F + save_wz = F + save_wMag = F + save_pr = F + save_Q_vor = F + save_lamda2= F + + WriteHistOld = T + ReadHistOld = T + +/End of NAMELIST "&IO_Options" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestScaling/CFDACMStrong140.acm b/Input/CFDACM/TestScaling/CFDACMStrong140.acm new file mode 100644 index 00000000..d681c1a9 --- /dev/null +++ b/Input/CFDACM/TestScaling/CFDACMStrong140.acm @@ -0,0 +1,180 @@ +! +! -*- input parameter for ACM -*- +! +! -*- mode: f90 -*- + +!====================================== +&DEMOptions +!====================================== + + RestartFlag = F ! restart or not + numPrtcl = 1050624 ! total particle number + numPrtclFix = 0 ! total fixed particle number + gravity = 0.00 -40.0 0.00 ! gravity or other constant body forces (if any) + + Prtcl_cs_ratio = 1.0 + CS_Method = 1 ! Contact search method (1: NBS_Munjiza; 2: NBS_Munjiza_Hrchl ) + CF_Type = 3 ! Contact force type (1:DEM_LSD; 2:DEM_nLin; 3:ACM_LSD; 4:ACM_nLin) + PI_Method = 2 ! Integration scheme for translational motion ( 1:FE, 2:AB2, 3:AB3 ) + PRI_Method = 2 ! Integration scheme for rotational motion ( 1:FE, 2:AB2, 3:AB3 ) + + numPrtcl_Type = 1 ! number of particle type + numWall_type = 1 ! number of wall type + + CntctList_Size=10 ! Contact list size, 6 means every particle can contact with 12 neighbour particles/walls in average + CS_numlvls = 0 ! Number of levels in multi-level contact search, 0 means default behavior. + + Wall_max_update_iter = 100 ! Near wall list will be updated no more than every 100 iterations + Wall_neighbor_ratio = 3.00 ! The particle withthin 3*MaxRadius, will be added into the NEAR WALL LIST + + RunName = "Scaling_P140" ! Run name + ResultsDir = "./ACM/Results/" ! Result directory + RestartDir = "./ACM/Restart/" ! Restart directory + Cmd_LFile_Freq = 1200 ! Report frequency in the terminal is 500 time step + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Where is the geometry from? 0: Added directly in the program, 1: From NAMELIST "&GeometryMakingParam", 2: From external STL file + GeometrySource =1 + Geom_Dir ="DEMGeom.stl" ! If GeometrySource =2, please give a STL file routine, if not, just ignore it. + +/End of NAMELIST "&DEMOptions" + +!====================================== +&ParticleIBMProperty +!====================================== + + nPartition= 315 + RetractionRatio=0.1 + +/End of NAMELIST "&ParticleIBMProperty" + +!====================================== +&ParticlePhysicalProperty +!====================================== + + Bin_Divided = 1 + Density = 2650.0 + Diameter = 0.001 + YoungsModulus_P = 10.0E+6 + PoissonRatio_P = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-particle group. + FrictionCoe_s_PP = 0.40 + FrictionCoe_k_PP = 0.40 + RestitutionCoe_n_PP = 0.97 + +/End of NAMELIST "&ParticlePhysicalProperty" + +!====================================== +&WallPhysicalProperty +!====================================== + + YoungsModulus_W = 10.0E+6 + PoissonRatio_W = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-wall group. + FrictionCoe_s_PW = 0.40 + FrictionCoe_k_PW = 0.40 + RestitutionCoe_n_PW = 0.97 + +/End of NAMELIST "&WallPhysicalProperty" + +!====================================== +&GeometryMakingNumPlane +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + nplane= 2 ! number of planes + +/End of NAMELIST "&GeometryMakingNumPlane" + +!====================================== +&GeometryMakingParam +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + ! point1, point2, point3, point4, translational velocity, user_id, wall_Type, bothSide, isInfinite + + user_id = 1, 1 + wall_Type = 1, 1 + bothSide = F, F + IsInfinite= T, T + Point1 = 0.0 0.0 0.0, 0.0 0.02 0.0, + Point2 = 0.0 0.0 1.0, 1.0 0.02 0.0, + Point3 = 1.0 0.0 1.0, 1.0 0.02 1.0, + Point4 = 1.0 0.0 0.0, 0.0 0.02 1.0, + TraVel = 0.0 0.0 0.0, 0.0 0.00 0.0, + +/End of NAMELIST "&GeometryMakingParam" + +!====================================== +&PrtclVisuOption +!====================================== + + saveXDMFOnce = T + + save_ID = F + save_Diameter = F + save_UsrMark = F + save_LinVel = F + save_RotVel = F + save_CntctForce = F + + save_Type = F + save_LinAcc = F + save_Theta = F + save_RotAcc = F + save_Torque = F + save_HighSt = F + +/End of NAMELIST "&PrtclVisuOption" + +!====================================== +&ParticleStatisticOption +!====================================== + + nslab = 200 + +/End of NAMELIST "&ParticleStatisticOption" + +!====================================== +&DumpPrtclOptions +!====================================== + + DumpPrtclFlag = F + ResetDumpFlag = T + + yDump = 1.5E-3 + DumpPrtclFreq = 100 !10 + mDumpPrtclSize = 500000 !1000000 + DumpPrtclDir = "./ACM/PrtclDump/" + +/End of NAMELIST "&DumpPrtclOptions" + +!================= +&CFDACMCoupling +!================= + + UpdateACMflag = T + IsAddFluidPressureGradient = F + + ! 0: Explicit,Uhlmann(2005,JCP), 1: Explicit,Kempe(2012,JCP), 2: Semi-implicit,Tschisgale(2017,JCP) + IBM_Scheme = 1 + + icouple = 50 + nForcingExtra= 2 + + Klub_pp = 90.0 + Klub_pw = 90.0 ! 100 + Lub_ratio = 1.0 ! Range of lubrication force divided by grid cell size + Ndt_coll=8.0 ! Number of fluid timesteps per collision + + IsDryColl= T ! Turn off fluid forces for large St collsions + St_Crit = 5.0 ! Critical Stokes numeber + +/End of NAMELIST "&CFDACMCoupling" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestScaling/CFDACMStrong140.cfd b/Input/CFDACM/TestScaling/CFDACMStrong140.cfd new file mode 100644 index 00000000..52344443 --- /dev/null +++ b/Input/CFDACM/TestScaling/CFDACMStrong140.cfd @@ -0,0 +1,144 @@ +! +! -*- input parameter for Channel flow -*- +! +! -*- mode: f90 -*- + +!=================== +&BasicParam +!=================== + + RestartFlag = F ! Restart or not + IsUxConst= F + ubulk = 0.600 + + ! Flow type (1=Channel, 2=Half channel, 3=Taylor-Green vortex, 4=Isotropic turbulence, 5=Added new) + FlowType = 2 + + ! Mesh options + xlx = 0.384 ! domain length in x-dir + yly = 0.020 ! domain length in y-dir + zlz = 0.192 ! domain length in z-dir + nxc = 3840 ! grid point number in x-dir + nyc = 200 ! grid point number in y-dir + nzc = 1920 ! grid point number in z-dir + + ! Physical properties + xnu = 1.0E-6 ! kinematic viscosity + gravity =0.5 0.0 0.0 ! Gravity or other constant body forces (if any) + FluidDensity = 1000.0 ! Fluid density + + ! Time stepping + dtMax= 1.0E-5 ! Maxium time step + iCFL = 2 ! Use CFL condition to change time step dynamically( 1: yes, 2:no ). + CFLc = 1.4 ! CFL parameter + ifirst= 1 ! First iteration + ilast = 120 ! Last iteration + + ! Numerical scheme options + ischeme = 2 ! (1=AB2, 2=RK2, 3=RK3) + IsImplicit= 0 ! (0=full explicit, 1=partial implicit, 2=full implicit ) + FFTW_plan_type = 1 ! (1=FFTW_MEASURE, 2=FFTW_ESTIMATE) + + ! Boundary conditions + ! 0: Periodic + ! -1: NoSlip + ! -2: Slip + ! -3: Convective (ONLY AVAILABLE for x+ and y+) + ! From left to right: + ! x-, x+, y-, y+, z-, z+ + ! And the velocity Bc values will ONLY be used corresponding to the no-slip Bc + ! While at the same time, you are allow to assign a transpiration Bc for uy in y- bottom(uyBcValue(3) dosen't work). + BcOption = 0, 0, -1, -2, 0, 0 + uxBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uyBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uzBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + + ! I/O, Statistics + ivstats = 200 ! time step interval for statistics calculation + saveStat = 10000 ! Output Statistics file frequency + SaveVisu = 50000 ! Output visulizing file frequency + BackupFreq= 50000 ! Output Restarting file frequency + RunName ="Scaling_140" ! Run name + ResultsDir="./CFD/Results/" ! Result directory + RestartDir="./CFD/Restart/" ! Restart directory + Cmd_LFile_Freq = 5 ! Report frequency in the terminal + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Decomp2d options + p_row = 14 + p_col = 10 + + ! limited velocity and div + vel_limit = 5.0 + div_limit = 0.2 +/End of NAMELIST "&BasicParam" + +!=================== +&ubulk_Param +!=================== + + ubulk = 0.600 + ybulk1= 0.010 + ybulk2= 0.020 + +/End of NAMELIST "&ubulk_Param" + +!================= +&MeshSection +!================= + + nSection = 1 ! yly will be diveded into "nSection" part + +/End of NAMELIST "MeshSection" + +!================= +&MeshOptions +!================= + + SectionLength = 1.0 ! e.g. If nSection=2, and SectionLength=[1,3], yly is further divided into 1/4*yly and 3/4*yly + nycSection = 200 ! sum(nycSection)=nyc + StretType = 0 ! 0:Uniform; 1:Tangent hyperbolic function; 2:Sine/cosine function; 3:Proportional sequence + StretOption = 1 ! 0:bottom; 1:top + SectioncStret = 1.0 ! Stretching parameter. if StretType=0, this parameter doesn't work. + +/End of NAMELIST "MeshOptions" + +!================= +&SpectraOptions +!================= + + clcSpectra1D = F + clcSpectra2D = F + ivSpec = 20 + jForLCS = 12 16 + +/End of NAMELIST "SpectraOptions" + +!================= +&IO_Options +!================= + + iskip = 1 + jskip = 1 + kskip = 1 + + save_ux = F + save_uy = F + save_uz = F + save_wx = F + save_wy = F + save_wz = F + save_wMag = F + save_pr = F + save_Q_vor = F + save_lamda2= F + + WriteHistOld = T + ReadHistOld = T + +/End of NAMELIST "&IO_Options" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestScaling/CFDACMStrong196.acm b/Input/CFDACM/TestScaling/CFDACMStrong196.acm new file mode 100644 index 00000000..f24bbb8a --- /dev/null +++ b/Input/CFDACM/TestScaling/CFDACMStrong196.acm @@ -0,0 +1,180 @@ +! +! -*- input parameter for ACM -*- +! +! -*- mode: f90 -*- + +!====================================== +&DEMOptions +!====================================== + + RestartFlag = F ! restart or not + numPrtcl = 1050624 ! total particle number + numPrtclFix = 0 ! total fixed particle number + gravity = 0.00 -40.0 0.00 ! gravity or other constant body forces (if any) + + Prtcl_cs_ratio = 1.0 + CS_Method = 1 ! Contact search method (1: NBS_Munjiza; 2: NBS_Munjiza_Hrchl ) + CF_Type = 3 ! Contact force type (1:DEM_LSD; 2:DEM_nLin; 3:ACM_LSD; 4:ACM_nLin) + PI_Method = 2 ! Integration scheme for translational motion ( 1:FE, 2:AB2, 3:AB3 ) + PRI_Method = 2 ! Integration scheme for rotational motion ( 1:FE, 2:AB2, 3:AB3 ) + + numPrtcl_Type = 1 ! number of particle type + numWall_type = 1 ! number of wall type + + CntctList_Size=10 ! Contact list size, 6 means every particle can contact with 12 neighbour particles/walls in average + CS_numlvls = 0 ! Number of levels in multi-level contact search, 0 means default behavior. + + Wall_max_update_iter = 100 ! Near wall list will be updated no more than every 100 iterations + Wall_neighbor_ratio = 3.00 ! The particle withthin 3*MaxRadius, will be added into the NEAR WALL LIST + + RunName = "Scaling_P196" ! Run name + ResultsDir = "./ACM/Results/" ! Result directory + RestartDir = "./ACM/Restart/" ! Restart directory + Cmd_LFile_Freq = 1200 ! Report frequency in the terminal is 500 time step + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Where is the geometry from? 0: Added directly in the program, 1: From NAMELIST "&GeometryMakingParam", 2: From external STL file + GeometrySource =1 + Geom_Dir ="DEMGeom.stl" ! If GeometrySource =2, please give a STL file routine, if not, just ignore it. + +/End of NAMELIST "&DEMOptions" + +!====================================== +&ParticleIBMProperty +!====================================== + + nPartition= 315 + RetractionRatio=0.1 + +/End of NAMELIST "&ParticleIBMProperty" + +!====================================== +&ParticlePhysicalProperty +!====================================== + + Bin_Divided = 1 + Density = 2650.0 + Diameter = 0.001 + YoungsModulus_P = 10.0E+6 + PoissonRatio_P = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-particle group. + FrictionCoe_s_PP = 0.40 + FrictionCoe_k_PP = 0.40 + RestitutionCoe_n_PP = 0.97 + +/End of NAMELIST "&ParticlePhysicalProperty" + +!====================================== +&WallPhysicalProperty +!====================================== + + YoungsModulus_W = 10.0E+6 + PoissonRatio_W = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-wall group. + FrictionCoe_s_PW = 0.40 + FrictionCoe_k_PW = 0.40 + RestitutionCoe_n_PW = 0.97 + +/End of NAMELIST "&WallPhysicalProperty" + +!====================================== +&GeometryMakingNumPlane +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + nplane= 2 ! number of planes + +/End of NAMELIST "&GeometryMakingNumPlane" + +!====================================== +&GeometryMakingParam +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + ! point1, point2, point3, point4, translational velocity, user_id, wall_Type, bothSide, isInfinite + + user_id = 1, 1 + wall_Type = 1, 1 + bothSide = F, F + IsInfinite= T, T + Point1 = 0.0 0.0 0.0, 0.0 0.02 0.0, + Point2 = 0.0 0.0 1.0, 1.0 0.02 0.0, + Point3 = 1.0 0.0 1.0, 1.0 0.02 1.0, + Point4 = 1.0 0.0 0.0, 0.0 0.02 1.0, + TraVel = 0.0 0.0 0.0, 0.0 0.00 0.0, + +/End of NAMELIST "&GeometryMakingParam" + +!====================================== +&PrtclVisuOption +!====================================== + + saveXDMFOnce = T + + save_ID = F + save_Diameter = F + save_UsrMark = F + save_LinVel = F + save_RotVel = F + save_CntctForce = F + + save_Type = F + save_LinAcc = F + save_Theta = F + save_RotAcc = F + save_Torque = F + save_HighSt = F + +/End of NAMELIST "&PrtclVisuOption" + +!====================================== +&ParticleStatisticOption +!====================================== + + nslab = 200 + +/End of NAMELIST "&ParticleStatisticOption" + +!====================================== +&DumpPrtclOptions +!====================================== + + DumpPrtclFlag = F + ResetDumpFlag = T + + yDump = 1.5E-3 + DumpPrtclFreq = 100 !10 + mDumpPrtclSize = 500000 !1000000 + DumpPrtclDir = "./ACM/PrtclDump/" + +/End of NAMELIST "&DumpPrtclOptions" + +!================= +&CFDACMCoupling +!================= + + UpdateACMflag = T + IsAddFluidPressureGradient = F + + ! 0: Explicit,Uhlmann(2005,JCP), 1: Explicit,Kempe(2012,JCP), 2: Semi-implicit,Tschisgale(2017,JCP) + IBM_Scheme = 1 + + icouple = 50 + nForcingExtra= 2 + + Klub_pp = 90.0 + Klub_pw = 90.0 ! 100 + Lub_ratio = 1.0 ! Range of lubrication force divided by grid cell size + Ndt_coll=8.0 ! Number of fluid timesteps per collision + + IsDryColl= T ! Turn off fluid forces for large St collsions + St_Crit = 5.0 ! Critical Stokes numeber + +/End of NAMELIST "&CFDACMCoupling" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestScaling/CFDACMStrong196.cfd b/Input/CFDACM/TestScaling/CFDACMStrong196.cfd new file mode 100644 index 00000000..4232257a --- /dev/null +++ b/Input/CFDACM/TestScaling/CFDACMStrong196.cfd @@ -0,0 +1,144 @@ +! +! -*- input parameter for Channel flow -*- +! +! -*- mode: f90 -*- + +!=================== +&BasicParam +!=================== + + RestartFlag = F ! Restart or not + IsUxConst= F + ubulk = 0.600 + + ! Flow type (1=Channel, 2=Half channel, 3=Taylor-Green vortex, 4=Isotropic turbulence, 5=Added new) + FlowType = 2 + + ! Mesh options + xlx = 0.384 ! domain length in x-dir + yly = 0.020 ! domain length in y-dir + zlz = 0.192 ! domain length in z-dir + nxc = 3840 ! grid point number in x-dir + nyc = 200 ! grid point number in y-dir + nzc = 1920 ! grid point number in z-dir + + ! Physical properties + xnu = 1.0E-6 ! kinematic viscosity + gravity =0.5 0.0 0.0 ! Gravity or other constant body forces (if any) + FluidDensity = 1000.0 ! Fluid density + + ! Time stepping + dtMax= 1.0E-5 ! Maxium time step + iCFL = 2 ! Use CFL condition to change time step dynamically( 1: yes, 2:no ). + CFLc = 1.4 ! CFL parameter + ifirst= 1 ! First iteration + ilast = 120 ! Last iteration + + ! Numerical scheme options + ischeme = 2 ! (1=AB2, 2=RK2, 3=RK3) + IsImplicit= 0 ! (0=full explicit, 1=partial implicit, 2=full implicit ) + FFTW_plan_type = 1 ! (1=FFTW_MEASURE, 2=FFTW_ESTIMATE) + + ! Boundary conditions + ! 0: Periodic + ! -1: NoSlip + ! -2: Slip + ! -3: Convective (ONLY AVAILABLE for x+ and y+) + ! From left to right: + ! x-, x+, y-, y+, z-, z+ + ! And the velocity Bc values will ONLY be used corresponding to the no-slip Bc + ! While at the same time, you are allow to assign a transpiration Bc for uy in y- bottom(uyBcValue(3) dosen't work). + BcOption = 0, 0, -1, -2, 0, 0 + uxBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uyBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uzBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + + ! I/O, Statistics + ivstats = 200 ! time step interval for statistics calculation + saveStat = 10000 ! Output Statistics file frequency + SaveVisu = 50000 ! Output visulizing file frequency + BackupFreq= 50000 ! Output Restarting file frequency + RunName ="Scaling_196" ! Run name + ResultsDir="./CFD/Results/" ! Result directory + RestartDir="./CFD/Restart/" ! Restart directory + Cmd_LFile_Freq = 5 ! Report frequency in the terminal + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Decomp2d options + p_row = 14 + p_col = 14 + + ! limited velocity and div + vel_limit = 5.0 + div_limit = 0.2 +/End of NAMELIST "&BasicParam" + +!=================== +&ubulk_Param +!=================== + + ubulk = 0.600 + ybulk1= 0.010 + ybulk2= 0.020 + +/End of NAMELIST "&ubulk_Param" + +!================= +&MeshSection +!================= + + nSection = 1 ! yly will be diveded into "nSection" part + +/End of NAMELIST "MeshSection" + +!================= +&MeshOptions +!================= + + SectionLength = 1.0 ! e.g. If nSection=2, and SectionLength=[1,3], yly is further divided into 1/4*yly and 3/4*yly + nycSection = 200 ! sum(nycSection)=nyc + StretType = 0 ! 0:Uniform; 1:Tangent hyperbolic function; 2:Sine/cosine function; 3:Proportional sequence + StretOption = 1 ! 0:bottom; 1:top + SectioncStret = 1.0 ! Stretching parameter. if StretType=0, this parameter doesn't work. + +/End of NAMELIST "MeshOptions" + +!================= +&SpectraOptions +!================= + + clcSpectra1D = F + clcSpectra2D = F + ivSpec = 20 + jForLCS = 12 16 + +/End of NAMELIST "SpectraOptions" + +!================= +&IO_Options +!================= + + iskip = 1 + jskip = 1 + kskip = 1 + + save_ux = F + save_uy = F + save_uz = F + save_wx = F + save_wy = F + save_wz = F + save_wMag = F + save_pr = F + save_Q_vor = F + save_lamda2= F + + WriteHistOld = T + ReadHistOld = T + +/End of NAMELIST "&IO_Options" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestScaling/CFDACMStrong280.acm b/Input/CFDACM/TestScaling/CFDACMStrong280.acm new file mode 100644 index 00000000..a58e6e42 --- /dev/null +++ b/Input/CFDACM/TestScaling/CFDACMStrong280.acm @@ -0,0 +1,180 @@ +! +! -*- input parameter for ACM -*- +! +! -*- mode: f90 -*- + +!====================================== +&DEMOptions +!====================================== + + RestartFlag = F ! restart or not + numPrtcl = 1050624 ! total particle number + numPrtclFix = 0 ! total fixed particle number + gravity = 0.00 -40.0 0.00 ! gravity or other constant body forces (if any) + + Prtcl_cs_ratio = 1.0 + CS_Method = 1 ! Contact search method (1: NBS_Munjiza; 2: NBS_Munjiza_Hrchl ) + CF_Type = 3 ! Contact force type (1:DEM_LSD; 2:DEM_nLin; 3:ACM_LSD; 4:ACM_nLin) + PI_Method = 2 ! Integration scheme for translational motion ( 1:FE, 2:AB2, 3:AB3 ) + PRI_Method = 2 ! Integration scheme for rotational motion ( 1:FE, 2:AB2, 3:AB3 ) + + numPrtcl_Type = 1 ! number of particle type + numWall_type = 1 ! number of wall type + + CntctList_Size=10 ! Contact list size, 6 means every particle can contact with 12 neighbour particles/walls in average + CS_numlvls = 0 ! Number of levels in multi-level contact search, 0 means default behavior. + + Wall_max_update_iter = 100 ! Near wall list will be updated no more than every 100 iterations + Wall_neighbor_ratio = 3.00 ! The particle withthin 3*MaxRadius, will be added into the NEAR WALL LIST + + RunName = "Scaling_P280" ! Run name + ResultsDir = "./ACM/Results/" ! Result directory + RestartDir = "./ACM/Restart/" ! Restart directory + Cmd_LFile_Freq = 1200 ! Report frequency in the terminal is 500 time step + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Where is the geometry from? 0: Added directly in the program, 1: From NAMELIST "&GeometryMakingParam", 2: From external STL file + GeometrySource =1 + Geom_Dir ="DEMGeom.stl" ! If GeometrySource =2, please give a STL file routine, if not, just ignore it. + +/End of NAMELIST "&DEMOptions" + +!====================================== +&ParticleIBMProperty +!====================================== + + nPartition= 315 + RetractionRatio=0.1 + +/End of NAMELIST "&ParticleIBMProperty" + +!====================================== +&ParticlePhysicalProperty +!====================================== + + Bin_Divided = 1 + Density = 2650.0 + Diameter = 0.001 + YoungsModulus_P = 10.0E+6 + PoissonRatio_P = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-particle group. + FrictionCoe_s_PP = 0.40 + FrictionCoe_k_PP = 0.40 + RestitutionCoe_n_PP = 0.97 + +/End of NAMELIST "&ParticlePhysicalProperty" + +!====================================== +&WallPhysicalProperty +!====================================== + + YoungsModulus_W = 10.0E+6 + PoissonRatio_W = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-wall group. + FrictionCoe_s_PW = 0.40 + FrictionCoe_k_PW = 0.40 + RestitutionCoe_n_PW = 0.97 + +/End of NAMELIST "&WallPhysicalProperty" + +!====================================== +&GeometryMakingNumPlane +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + nplane= 2 ! number of planes + +/End of NAMELIST "&GeometryMakingNumPlane" + +!====================================== +&GeometryMakingParam +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + ! point1, point2, point3, point4, translational velocity, user_id, wall_Type, bothSide, isInfinite + + user_id = 1, 1 + wall_Type = 1, 1 + bothSide = F, F + IsInfinite= T, T + Point1 = 0.0 0.0 0.0, 0.0 0.02 0.0, + Point2 = 0.0 0.0 1.0, 1.0 0.02 0.0, + Point3 = 1.0 0.0 1.0, 1.0 0.02 1.0, + Point4 = 1.0 0.0 0.0, 0.0 0.02 1.0, + TraVel = 0.0 0.0 0.0, 0.0 0.00 0.0, + +/End of NAMELIST "&GeometryMakingParam" + +!====================================== +&PrtclVisuOption +!====================================== + + saveXDMFOnce = T + + save_ID = F + save_Diameter = F + save_UsrMark = F + save_LinVel = F + save_RotVel = F + save_CntctForce = F + + save_Type = F + save_LinAcc = F + save_Theta = F + save_RotAcc = F + save_Torque = F + save_HighSt = F + +/End of NAMELIST "&PrtclVisuOption" + +!====================================== +&ParticleStatisticOption +!====================================== + + nslab = 200 + +/End of NAMELIST "&ParticleStatisticOption" + +!====================================== +&DumpPrtclOptions +!====================================== + + DumpPrtclFlag = F + ResetDumpFlag = T + + yDump = 1.5E-3 + DumpPrtclFreq = 100 !10 + mDumpPrtclSize = 500000 !1000000 + DumpPrtclDir = "./ACM/PrtclDump/" + +/End of NAMELIST "&DumpPrtclOptions" + +!================= +&CFDACMCoupling +!================= + + UpdateACMflag = T + IsAddFluidPressureGradient = F + + ! 0: Explicit,Uhlmann(2005,JCP), 1: Explicit,Kempe(2012,JCP), 2: Semi-implicit,Tschisgale(2017,JCP) + IBM_Scheme = 1 + + icouple = 50 + nForcingExtra= 2 + + Klub_pp = 90.0 + Klub_pw = 90.0 ! 100 + Lub_ratio = 1.0 ! Range of lubrication force divided by grid cell size + Ndt_coll=8.0 ! Number of fluid timesteps per collision + + IsDryColl= T ! Turn off fluid forces for large St collsions + St_Crit = 5.0 ! Critical Stokes numeber + +/End of NAMELIST "&CFDACMCoupling" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestScaling/CFDACMStrong280.cfd b/Input/CFDACM/TestScaling/CFDACMStrong280.cfd new file mode 100644 index 00000000..15c9df40 --- /dev/null +++ b/Input/CFDACM/TestScaling/CFDACMStrong280.cfd @@ -0,0 +1,144 @@ +! +! -*- input parameter for Channel flow -*- +! +! -*- mode: f90 -*- + +!=================== +&BasicParam +!=================== + + RestartFlag = F ! Restart or not + IsUxConst= F + ubulk = 0.600 + + ! Flow type (1=Channel, 2=Half channel, 3=Taylor-Green vortex, 4=Isotropic turbulence, 5=Added new) + FlowType = 2 + + ! Mesh options + xlx = 0.384 ! domain length in x-dir + yly = 0.020 ! domain length in y-dir + zlz = 0.192 ! domain length in z-dir + nxc = 3840 ! grid point number in x-dir + nyc = 200 ! grid point number in y-dir + nzc = 1920 ! grid point number in z-dir + + ! Physical properties + xnu = 1.0E-6 ! kinematic viscosity + gravity =0.5 0.0 0.0 ! Gravity or other constant body forces (if any) + FluidDensity = 1000.0 ! Fluid density + + ! Time stepping + dtMax= 1.0E-5 ! Maxium time step + iCFL = 2 ! Use CFL condition to change time step dynamically( 1: yes, 2:no ). + CFLc = 1.4 ! CFL parameter + ifirst= 1 ! First iteration + ilast = 120 ! Last iteration + + ! Numerical scheme options + ischeme = 2 ! (1=AB2, 2=RK2, 3=RK3) + IsImplicit= 0 ! (0=full explicit, 1=partial implicit, 2=full implicit ) + FFTW_plan_type = 1 ! (1=FFTW_MEASURE, 2=FFTW_ESTIMATE) + + ! Boundary conditions + ! 0: Periodic + ! -1: NoSlip + ! -2: Slip + ! -3: Convective (ONLY AVAILABLE for x+ and y+) + ! From left to right: + ! x-, x+, y-, y+, z-, z+ + ! And the velocity Bc values will ONLY be used corresponding to the no-slip Bc + ! While at the same time, you are allow to assign a transpiration Bc for uy in y- bottom(uyBcValue(3) dosen't work). + BcOption = 0, 0, -1, -2, 0, 0 + uxBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uyBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uzBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + + ! I/O, Statistics + ivstats = 200 ! time step interval for statistics calculation + saveStat = 10000 ! Output Statistics file frequency + SaveVisu = 50000 ! Output visulizing file frequency + BackupFreq= 50000 ! Output Restarting file frequency + RunName ="Scaling_280" ! Run name + ResultsDir="./CFD/Results/" ! Result directory + RestartDir="./CFD/Restart/" ! Restart directory + Cmd_LFile_Freq = 5 ! Report frequency in the terminal + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Decomp2d options + p_row = 28 + p_col = 10 + + ! limited velocity and div + vel_limit = 5.0 + div_limit = 0.2 +/End of NAMELIST "&BasicParam" + +!=================== +&ubulk_Param +!=================== + + ubulk = 0.600 + ybulk1= 0.010 + ybulk2= 0.020 + +/End of NAMELIST "&ubulk_Param" + +!================= +&MeshSection +!================= + + nSection = 1 ! yly will be diveded into "nSection" part + +/End of NAMELIST "MeshSection" + +!================= +&MeshOptions +!================= + + SectionLength = 1.0 ! e.g. If nSection=2, and SectionLength=[1,3], yly is further divided into 1/4*yly and 3/4*yly + nycSection = 200 ! sum(nycSection)=nyc + StretType = 0 ! 0:Uniform; 1:Tangent hyperbolic function; 2:Sine/cosine function; 3:Proportional sequence + StretOption = 1 ! 0:bottom; 1:top + SectioncStret = 1.0 ! Stretching parameter. if StretType=0, this parameter doesn't work. + +/End of NAMELIST "MeshOptions" + +!================= +&SpectraOptions +!================= + + clcSpectra1D = F + clcSpectra2D = F + ivSpec = 20 + jForLCS = 12 16 + +/End of NAMELIST "SpectraOptions" + +!================= +&IO_Options +!================= + + iskip = 1 + jskip = 1 + kskip = 1 + + save_ux = F + save_uy = F + save_uz = F + save_wx = F + save_wy = F + save_wz = F + save_wMag = F + save_pr = F + save_Q_vor = F + save_lamda2= F + + WriteHistOld = T + ReadHistOld = T + +/End of NAMELIST "&IO_Options" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestScaling/CFDACMStrong336.acm b/Input/CFDACM/TestScaling/CFDACMStrong336.acm new file mode 100644 index 00000000..34e507ef --- /dev/null +++ b/Input/CFDACM/TestScaling/CFDACMStrong336.acm @@ -0,0 +1,180 @@ +! +! -*- input parameter for ACM -*- +! +! -*- mode: f90 -*- + +!====================================== +&DEMOptions +!====================================== + + RestartFlag = F ! restart or not + numPrtcl = 1050624 ! total particle number + numPrtclFix = 0 ! total fixed particle number + gravity = 0.00 -40.0 0.00 ! gravity or other constant body forces (if any) + + Prtcl_cs_ratio = 1.0 + CS_Method = 1 ! Contact search method (1: NBS_Munjiza; 2: NBS_Munjiza_Hrchl ) + CF_Type = 3 ! Contact force type (1:DEM_LSD; 2:DEM_nLin; 3:ACM_LSD; 4:ACM_nLin) + PI_Method = 2 ! Integration scheme for translational motion ( 1:FE, 2:AB2, 3:AB3 ) + PRI_Method = 2 ! Integration scheme for rotational motion ( 1:FE, 2:AB2, 3:AB3 ) + + numPrtcl_Type = 1 ! number of particle type + numWall_type = 1 ! number of wall type + + CntctList_Size=10 ! Contact list size, 6 means every particle can contact with 12 neighbour particles/walls in average + CS_numlvls = 0 ! Number of levels in multi-level contact search, 0 means default behavior. + + Wall_max_update_iter = 100 ! Near wall list will be updated no more than every 100 iterations + Wall_neighbor_ratio = 3.00 ! The particle withthin 3*MaxRadius, will be added into the NEAR WALL LIST + + RunName = "Scaling_P336" ! Run name + ResultsDir = "./ACM/Results/" ! Result directory + RestartDir = "./ACM/Restart/" ! Restart directory + Cmd_LFile_Freq = 1200 ! Report frequency in the terminal is 500 time step + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Where is the geometry from? 0: Added directly in the program, 1: From NAMELIST "&GeometryMakingParam", 2: From external STL file + GeometrySource =1 + Geom_Dir ="DEMGeom.stl" ! If GeometrySource =2, please give a STL file routine, if not, just ignore it. + +/End of NAMELIST "&DEMOptions" + +!====================================== +&ParticleIBMProperty +!====================================== + + nPartition= 315 + RetractionRatio=0.1 + +/End of NAMELIST "&ParticleIBMProperty" + +!====================================== +&ParticlePhysicalProperty +!====================================== + + Bin_Divided = 1 + Density = 2650.0 + Diameter = 0.001 + YoungsModulus_P = 10.0E+6 + PoissonRatio_P = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-particle group. + FrictionCoe_s_PP = 0.40 + FrictionCoe_k_PP = 0.40 + RestitutionCoe_n_PP = 0.97 + +/End of NAMELIST "&ParticlePhysicalProperty" + +!====================================== +&WallPhysicalProperty +!====================================== + + YoungsModulus_W = 10.0E+6 + PoissonRatio_W = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-wall group. + FrictionCoe_s_PW = 0.40 + FrictionCoe_k_PW = 0.40 + RestitutionCoe_n_PW = 0.97 + +/End of NAMELIST "&WallPhysicalProperty" + +!====================================== +&GeometryMakingNumPlane +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + nplane= 2 ! number of planes + +/End of NAMELIST "&GeometryMakingNumPlane" + +!====================================== +&GeometryMakingParam +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + ! point1, point2, point3, point4, translational velocity, user_id, wall_Type, bothSide, isInfinite + + user_id = 1, 1 + wall_Type = 1, 1 + bothSide = F, F + IsInfinite= T, T + Point1 = 0.0 0.0 0.0, 0.0 0.02 0.0, + Point2 = 0.0 0.0 1.0, 1.0 0.02 0.0, + Point3 = 1.0 0.0 1.0, 1.0 0.02 1.0, + Point4 = 1.0 0.0 0.0, 0.0 0.02 1.0, + TraVel = 0.0 0.0 0.0, 0.0 0.00 0.0, + +/End of NAMELIST "&GeometryMakingParam" + +!====================================== +&PrtclVisuOption +!====================================== + + saveXDMFOnce = T + + save_ID = F + save_Diameter = F + save_UsrMark = F + save_LinVel = F + save_RotVel = F + save_CntctForce = F + + save_Type = F + save_LinAcc = F + save_Theta = F + save_RotAcc = F + save_Torque = F + save_HighSt = F + +/End of NAMELIST "&PrtclVisuOption" + +!====================================== +&ParticleStatisticOption +!====================================== + + nslab = 200 + +/End of NAMELIST "&ParticleStatisticOption" + +!====================================== +&DumpPrtclOptions +!====================================== + + DumpPrtclFlag = F + ResetDumpFlag = T + + yDump = 1.5E-3 + DumpPrtclFreq = 100 !10 + mDumpPrtclSize = 500000 !1000000 + DumpPrtclDir = "./ACM/PrtclDump/" + +/End of NAMELIST "&DumpPrtclOptions" + +!================= +&CFDACMCoupling +!================= + + UpdateACMflag = T + IsAddFluidPressureGradient = F + + ! 0: Explicit,Uhlmann(2005,JCP), 1: Explicit,Kempe(2012,JCP), 2: Semi-implicit,Tschisgale(2017,JCP) + IBM_Scheme = 1 + + icouple = 50 + nForcingExtra= 2 + + Klub_pp = 90.0 + Klub_pw = 90.0 ! 100 + Lub_ratio = 1.0 ! Range of lubrication force divided by grid cell size + Ndt_coll=8.0 ! Number of fluid timesteps per collision + + IsDryColl= T ! Turn off fluid forces for large St collsions + St_Crit = 5.0 ! Critical Stokes numeber + +/End of NAMELIST "&CFDACMCoupling" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestScaling/CFDACMStrong336.cfd b/Input/CFDACM/TestScaling/CFDACMStrong336.cfd new file mode 100644 index 00000000..c697403f --- /dev/null +++ b/Input/CFDACM/TestScaling/CFDACMStrong336.cfd @@ -0,0 +1,144 @@ +! +! -*- input parameter for Channel flow -*- +! +! -*- mode: f90 -*- + +!=================== +&BasicParam +!=================== + + RestartFlag = F ! Restart or not + IsUxConst= F + ubulk = 0.600 + + ! Flow type (1=Channel, 2=Half channel, 3=Taylor-Green vortex, 4=Isotropic turbulence, 5=Added new) + FlowType = 2 + + ! Mesh options + xlx = 0.384 ! domain length in x-dir + yly = 0.020 ! domain length in y-dir + zlz = 0.192 ! domain length in z-dir + nxc = 3840 ! grid point number in x-dir + nyc = 200 ! grid point number in y-dir + nzc = 1920 ! grid point number in z-dir + + ! Physical properties + xnu = 1.0E-6 ! kinematic viscosity + gravity =0.5 0.0 0.0 ! Gravity or other constant body forces (if any) + FluidDensity = 1000.0 ! Fluid density + + ! Time stepping + dtMax= 1.0E-5 ! Maxium time step + iCFL = 2 ! Use CFL condition to change time step dynamically( 1: yes, 2:no ). + CFLc = 1.4 ! CFL parameter + ifirst= 1 ! First iteration + ilast = 120 ! Last iteration + + ! Numerical scheme options + ischeme = 2 ! (1=AB2, 2=RK2, 3=RK3) + IsImplicit= 0 ! (0=full explicit, 1=partial implicit, 2=full implicit ) + FFTW_plan_type = 1 ! (1=FFTW_MEASURE, 2=FFTW_ESTIMATE) + + ! Boundary conditions + ! 0: Periodic + ! -1: NoSlip + ! -2: Slip + ! -3: Convective (ONLY AVAILABLE for x+ and y+) + ! From left to right: + ! x-, x+, y-, y+, z-, z+ + ! And the velocity Bc values will ONLY be used corresponding to the no-slip Bc + ! While at the same time, you are allow to assign a transpiration Bc for uy in y- bottom(uyBcValue(3) dosen't work). + BcOption = 0, 0, -1, -2, 0, 0 + uxBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uyBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uzBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + + ! I/O, Statistics + ivstats = 200 ! time step interval for statistics calculation + saveStat = 10000 ! Output Statistics file frequency + SaveVisu = 50000 ! Output visulizing file frequency + BackupFreq= 50000 ! Output Restarting file frequency + RunName ="Scaling_336" ! Run name + ResultsDir="./CFD/Results/" ! Result directory + RestartDir="./CFD/Restart/" ! Restart directory + Cmd_LFile_Freq = 5 ! Report frequency in the terminal + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Decomp2d options + p_row = 28 + p_col = 12 + + ! limited velocity and div + vel_limit = 5.0 + div_limit = 0.2 +/End of NAMELIST "&BasicParam" + +!=================== +&ubulk_Param +!=================== + + ubulk = 0.600 + ybulk1= 0.010 + ybulk2= 0.020 + +/End of NAMELIST "&ubulk_Param" + +!================= +&MeshSection +!================= + + nSection = 1 ! yly will be diveded into "nSection" part + +/End of NAMELIST "MeshSection" + +!================= +&MeshOptions +!================= + + SectionLength = 1.0 ! e.g. If nSection=2, and SectionLength=[1,3], yly is further divided into 1/4*yly and 3/4*yly + nycSection = 200 ! sum(nycSection)=nyc + StretType = 0 ! 0:Uniform; 1:Tangent hyperbolic function; 2:Sine/cosine function; 3:Proportional sequence + StretOption = 1 ! 0:bottom; 1:top + SectioncStret = 1.0 ! Stretching parameter. if StretType=0, this parameter doesn't work. + +/End of NAMELIST "MeshOptions" + +!================= +&SpectraOptions +!================= + + clcSpectra1D = F + clcSpectra2D = F + ivSpec = 20 + jForLCS = 12 16 + +/End of NAMELIST "SpectraOptions" + +!================= +&IO_Options +!================= + + iskip = 1 + jskip = 1 + kskip = 1 + + save_ux = F + save_uy = F + save_uz = F + save_wx = F + save_wy = F + save_wz = F + save_wMag = F + save_pr = F + save_Q_vor = F + save_lamda2= F + + WriteHistOld = T + ReadHistOld = T + +/End of NAMELIST "&IO_Options" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestScaling/CFDACMStrong420.acm b/Input/CFDACM/TestScaling/CFDACMStrong420.acm new file mode 100644 index 00000000..cc7e7ce2 --- /dev/null +++ b/Input/CFDACM/TestScaling/CFDACMStrong420.acm @@ -0,0 +1,180 @@ +! +! -*- input parameter for ACM -*- +! +! -*- mode: f90 -*- + +!====================================== +&DEMOptions +!====================================== + + RestartFlag = F ! restart or not + numPrtcl = 1050624 ! total particle number + numPrtclFix = 0 ! total fixed particle number + gravity = 0.00 -40.0 0.00 ! gravity or other constant body forces (if any) + + Prtcl_cs_ratio = 1.0 + CS_Method = 1 ! Contact search method (1: NBS_Munjiza; 2: NBS_Munjiza_Hrchl ) + CF_Type = 3 ! Contact force type (1:DEM_LSD; 2:DEM_nLin; 3:ACM_LSD; 4:ACM_nLin) + PI_Method = 2 ! Integration scheme for translational motion ( 1:FE, 2:AB2, 3:AB3 ) + PRI_Method = 2 ! Integration scheme for rotational motion ( 1:FE, 2:AB2, 3:AB3 ) + + numPrtcl_Type = 1 ! number of particle type + numWall_type = 1 ! number of wall type + + CntctList_Size=10 ! Contact list size, 6 means every particle can contact with 12 neighbour particles/walls in average + CS_numlvls = 0 ! Number of levels in multi-level contact search, 0 means default behavior. + + Wall_max_update_iter = 100 ! Near wall list will be updated no more than every 100 iterations + Wall_neighbor_ratio = 3.00 ! The particle withthin 3*MaxRadius, will be added into the NEAR WALL LIST + + RunName = "Scaling_P420" ! Run name + ResultsDir = "./ACM/Results/" ! Result directory + RestartDir = "./ACM/Restart/" ! Restart directory + Cmd_LFile_Freq = 1200 ! Report frequency in the terminal is 500 time step + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Where is the geometry from? 0: Added directly in the program, 1: From NAMELIST "&GeometryMakingParam", 2: From external STL file + GeometrySource =1 + Geom_Dir ="DEMGeom.stl" ! If GeometrySource =2, please give a STL file routine, if not, just ignore it. + +/End of NAMELIST "&DEMOptions" + +!====================================== +&ParticleIBMProperty +!====================================== + + nPartition= 315 + RetractionRatio=0.1 + +/End of NAMELIST "&ParticleIBMProperty" + +!====================================== +&ParticlePhysicalProperty +!====================================== + + Bin_Divided = 1 + Density = 2650.0 + Diameter = 0.001 + YoungsModulus_P = 10.0E+6 + PoissonRatio_P = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-particle group. + FrictionCoe_s_PP = 0.40 + FrictionCoe_k_PP = 0.40 + RestitutionCoe_n_PP = 0.97 + +/End of NAMELIST "&ParticlePhysicalProperty" + +!====================================== +&WallPhysicalProperty +!====================================== + + YoungsModulus_W = 10.0E+6 + PoissonRatio_W = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-wall group. + FrictionCoe_s_PW = 0.40 + FrictionCoe_k_PW = 0.40 + RestitutionCoe_n_PW = 0.97 + +/End of NAMELIST "&WallPhysicalProperty" + +!====================================== +&GeometryMakingNumPlane +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + nplane= 2 ! number of planes + +/End of NAMELIST "&GeometryMakingNumPlane" + +!====================================== +&GeometryMakingParam +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + ! point1, point2, point3, point4, translational velocity, user_id, wall_Type, bothSide, isInfinite + + user_id = 1, 1 + wall_Type = 1, 1 + bothSide = F, F + IsInfinite= T, T + Point1 = 0.0 0.0 0.0, 0.0 0.02 0.0, + Point2 = 0.0 0.0 1.0, 1.0 0.02 0.0, + Point3 = 1.0 0.0 1.0, 1.0 0.02 1.0, + Point4 = 1.0 0.0 0.0, 0.0 0.02 1.0, + TraVel = 0.0 0.0 0.0, 0.0 0.00 0.0, + +/End of NAMELIST "&GeometryMakingParam" + +!====================================== +&PrtclVisuOption +!====================================== + + saveXDMFOnce = T + + save_ID = F + save_Diameter = F + save_UsrMark = F + save_LinVel = F + save_RotVel = F + save_CntctForce = F + + save_Type = F + save_LinAcc = F + save_Theta = F + save_RotAcc = F + save_Torque = F + save_HighSt = F + +/End of NAMELIST "&PrtclVisuOption" + +!====================================== +&ParticleStatisticOption +!====================================== + + nslab = 200 + +/End of NAMELIST "&ParticleStatisticOption" + +!====================================== +&DumpPrtclOptions +!====================================== + + DumpPrtclFlag = F + ResetDumpFlag = T + + yDump = 1.5E-3 + DumpPrtclFreq = 100 !10 + mDumpPrtclSize = 500000 !1000000 + DumpPrtclDir = "./ACM/PrtclDump/" + +/End of NAMELIST "&DumpPrtclOptions" + +!================= +&CFDACMCoupling +!================= + + UpdateACMflag = T + IsAddFluidPressureGradient = F + + ! 0: Explicit,Uhlmann(2005,JCP), 1: Explicit,Kempe(2012,JCP), 2: Semi-implicit,Tschisgale(2017,JCP) + IBM_Scheme = 1 + + icouple = 50 + nForcingExtra= 2 + + Klub_pp = 90.0 + Klub_pw = 90.0 ! 100 + Lub_ratio = 1.0 ! Range of lubrication force divided by grid cell size + Ndt_coll=8.0 ! Number of fluid timesteps per collision + + IsDryColl= T ! Turn off fluid forces for large St collsions + St_Crit = 5.0 ! Critical Stokes numeber + +/End of NAMELIST "&CFDACMCoupling" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestScaling/CFDACMStrong420.cfd b/Input/CFDACM/TestScaling/CFDACMStrong420.cfd new file mode 100644 index 00000000..386d45d2 --- /dev/null +++ b/Input/CFDACM/TestScaling/CFDACMStrong420.cfd @@ -0,0 +1,143 @@ +! +! -*- input parameter for Channel flow -*- +! +! -*- mode: f90 -*- + +!=================== +&BasicParam +!=================== + + RestartFlag = F ! Restart or not + IsUxConst= F + ubulk = 0.600 + + ! Flow type (1=Channel, 2=Half channel, 3=Taylor-Green vortex, 4=Isotropic turbulence, 5=Added new) + FlowType = 2 + + ! Mesh options + xlx = 0.384 ! domain length in x-dir + yly = 0.020 ! domain length in y-dir + zlz = 0.192 ! domain length in z-dir + nxc = 3840 ! grid point number in x-dir + nyc = 200 ! grid point number in y-dir + nzc = 1920 ! grid point number in z-dir + + ! Physical properties + xnu = 1.0E-6 ! kinematic viscosity + gravity =0.5 0.0 0.0 ! Gravity or other constant body forces (if any) + FluidDensity = 1000.0 ! Fluid density + + ! Time stepping + dtMax= 1.0E-5 ! Maxium time step + iCFL = 2 ! Use CFL condition to change time step dynamically( 1: yes, 2:no ). + CFLc = 1.4 ! CFL parameter + ifirst= 1 ! First iteration + ilast = 120 ! Last iteration + + ! Numerical scheme options + ischeme = 2 ! (1=AB2, 2=RK2, 3=RK3) + IsImplicit= 0 ! (0=full explicit, 1=partial implicit, 2=full implicit ) + FFTW_plan_type = 1 ! (1=FFTW_MEASURE, 2=FFTW_ESTIMATE) + + ! Boundary conditions + ! 0: Periodic + ! -1: NoSlip + ! -2: Slip + ! -3: Convective (ONLY AVAILABLE for x+ and y+) + ! From left to right: + ! x-, x+, y-, y+, z-, z+ + ! And the velocity Bc values will ONLY be used corresponding to the no-slip Bc + ! While at the same time, you are allow to assign a transpiration Bc for uy in y- bottom(uyBcValue(3) dosen't work). + BcOption = 0, 0, -1, -2, 0, 0 + uxBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uyBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uzBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + + ! I/O, Statistics + ivstats = 200 ! time step interval for statistics calculation + saveStat = 10000 ! Output Statistics file frequency + SaveVisu = 50000 ! Output visulizing file frequency + BackupFreq= 50000 ! Output Restarting file frequency + RunName ="Scaling_420" ! Run name + ResultsDir="./CFD/Results/" ! Result directory + RestartDir="./CFD/Restart/" ! Restart directory + Cmd_LFile_Freq = 5 ! Report frequency in the terminal + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Decomp2d options + p_row = 28 + p_col = 15 + + ! limited velocity and div + vel_limit = 5.0 + div_limit = 0.2 +/End of NAMELIST "&BasicParam" + +!=================== +&ubulk_Param +!=================== + + ybulk1= 0.010 + ybulk2= 0.020 + +/End of NAMELIST "&ubulk_Param" + +!================= +&MeshSection +!================= + + nSection = 1 ! yly will be diveded into "nSection" part + +/End of NAMELIST "MeshSection" + +!================= +&MeshOptions +!================= + + SectionLength = 1.0 ! e.g. If nSection=2, and SectionLength=[1,3], yly is further divided into 1/4*yly and 3/4*yly + nycSection = 200 ! sum(nycSection)=nyc + StretType = 0 ! 0:Uniform; 1:Tangent hyperbolic function; 2:Sine/cosine function; 3:Proportional sequence + StretOption = 1 ! 0:bottom; 1:top + SectioncStret = 1.0 ! Stretching parameter. if StretType=0, this parameter doesn't work. + +/End of NAMELIST "MeshOptions" + +!================= +&SpectraOptions +!================= + + clcSpectra1D = F + clcSpectra2D = F + ivSpec = 20 + jForLCS = 12 16 + +/End of NAMELIST "SpectraOptions" + +!================= +&IO_Options +!================= + + iskip = 1 + jskip = 1 + kskip = 1 + + save_ux = F + save_uy = F + save_uz = F + save_wx = F + save_wy = F + save_wz = F + save_wMag = F + save_pr = F + save_Q_vor = F + save_lamda2= F + + WriteHistOld = T + ReadHistOld = T + +/End of NAMELIST "&IO_Options" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TestScaling/readPrtclPosition.m b/Input/CFDACM/TestScaling/readPrtclPosition.m new file mode 100644 index 00000000..4bb2b5c5 --- /dev/null +++ b/Input/CFDACM/TestScaling/readPrtclPosition.m @@ -0,0 +1,25 @@ +clc;clear; +FileStr='./PartVisuForCFDACMScaling_DEM'; + +real_prec='real*8'; +if(strcmp(real_prec,'real*8')) + real_byte=8; +elseif(strcmp(real_prec,'real*4')) + real_byte=4; +else + error('readVisuFile: real_prec Wrong'); +end + +nPrtcl=1050624; +fid=fopen(FileStr,'r'); +Position=fread(fid,[3,nPrtcl],real_prec); +fclose(fid); + +DataOut=zeros(5,nPrtcl); +DataOut(1:3,:)=Position; +DataOut(4,:)=0.001; +DataOut(5,:)=1.0; + +fid=fopen('SpheresCoord.dat','w'); +fwrite(fid,DataOut,real_prec); +fclose(fid); \ No newline at end of file diff --git a/Input/CFDACM/TestScaling/runCFDACMStrong.sh b/Input/CFDACM/TestScaling/runCFDACMStrong.sh new file mode 100644 index 00000000..0713132e --- /dev/null +++ b/Input/CFDACM/TestScaling/runCFDACMStrong.sh @@ -0,0 +1,29 @@ +#!/bin/bash +cmpStr="gcc" +appStr="mpirun" +p_row=4 +p_col=2 +if [[ -n $1 ]]; then + cmpStr=$1 +fi +if [[ -n $2 ]]; then + appStr=$2 +fi +if [[ -n $3 ]]; then + p_row=$3 +fi +if [[ -n $4 ]]; then + p_col=$4 +fi +let nproc=p_row*p_col + +cd ../../../ +chmod a+x mymake.sh +mkdir -p ./ACM/Restart/ 2> /dev/null + +./mymake.sh -exe-channelACM -cmp-"$cmpStr"_MPI -CompileThirdParty-0 -deleteCompileFile-1 -CFD_DEFS_Add -ACM_DEFS_Add -CFDACM_DEFS_Add +cp ./Input/CFDACM/TestScaling/SpheresCoord.scaling ./ACM/Restart/SpheresCoord.dat +for loop in 098 140 196 280 336 420 +do + $appStr -n $loop ./channelACM ./Input/CFDACM/TestScaling/CFDACMStrong"$loop".cfd ./Input/CFDACM/TestScaling/CFDACMStrong"$loop".acm +done diff --git a/Input/CFDACM/TestScaling/runCFDACMStrong_DEM.sh b/Input/CFDACM/TestScaling/runCFDACMStrong_DEM.sh new file mode 100644 index 00000000..306c0f75 --- /dev/null +++ b/Input/CFDACM/TestScaling/runCFDACMStrong_DEM.sh @@ -0,0 +1,24 @@ +#!/bin/bash +cmpStr="gcc" +appStr="mpirun" +p_row=4 +p_col=2 +if [[ -n $1 ]]; then + cmpStr=$1 +fi +if [[ -n $2 ]]; then + appStr=$2 +fi +if [[ -n $3 ]]; then + p_row=$3 +fi +if [[ -n $4 ]]; then + p_col=$4 +fi +let nproc=p_row*p_col + +cd ../../../ +chmod a+x mymake.sh +./mymake.sh -exe-dem -cmp-"$cmpStr"_MPI -CompileThirdParty-0 -deleteCompileFile-1 -DEM_DEFS_Add +chmod a+x ./dem +$appStr -n $nproc ./dem ./Input/CFDACM/TestScaling/CFDACMStrong.dem $p_row $p_col diff --git a/Input/CFDACM/TwoParticleInShearFlow/SpheresCoord.Case1 b/Input/CFDACM/TwoParticleInShearFlow/SpheresCoord.Case1 new file mode 100644 index 00000000..cf93eb58 Binary files /dev/null and b/Input/CFDACM/TwoParticleInShearFlow/SpheresCoord.Case1 differ diff --git a/Input/CFDACM/TwoParticleInShearFlow/SpheresCoord.Case2 b/Input/CFDACM/TwoParticleInShearFlow/SpheresCoord.Case2 new file mode 100644 index 00000000..1e9436f9 Binary files /dev/null and b/Input/CFDACM/TwoParticleInShearFlow/SpheresCoord.Case2 differ diff --git a/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShear.acm0 b/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShear.acm0 new file mode 100644 index 00000000..3a1739d8 --- /dev/null +++ b/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShear.acm0 @@ -0,0 +1,180 @@ +! +! -*- input parameter for ACM -*- +! +! -*- mode: f90 -*- + +!====================================== +&DEMOptions +!====================================== + + RestartFlag = F ! restart or not + numPrtcl = 2 ! total particle number + numPrtclFix = 0 ! total fixed particle number + gravity = 0.0 0.0 0.0 ! gravity or other constant body forces (if any) + + Prtcl_cs_ratio = 1.0 + CS_Method = 1 ! Contact search method (1: NBS_Munjiza; 2: NBS_Munjiza_Hrchl ) + CF_Type = 4 ! Contact force type (1:DEM_LSD; 2:DEM_nLin; 3:ACM_LSD; 4:ACM_nLin) + PI_Method = 2 ! Integration scheme for translational motion ( 1:FE, 2:AB2, 3:AB3 ) + PRI_Method = 2 ! Integration scheme for rotational motion ( 1:FE, 2:AB2, 3:AB3 ) + + numPrtcl_Type = 1 ! number of particle type + numWall_type = 1 ! number of wall type + + CntctList_Size=10 ! Contact list size, 6 means every particle can contact with 12 neighbour particles/walls in average + CS_numlvls = 0 ! Number of levels in multi-level contact search, 0 means default behavior. + + Wall_max_update_iter = 100 ! Near wall list will be updated no more than every 100 iterations + Wall_neighbor_ratio = 2.00 ! The particle withthin 3*MaxRadius, will be added into the NEAR WALL LIST + + RunName = "TwoPShear" ! Run name + ResultsDir = "./ACM/Results/" ! Result directory + RestartDir = "./ACM/Restart/" ! Restart directory + Cmd_LFile_Freq = 100000 ! Report frequency in the terminal is 500 time step + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Where is the geometry from? 0: Added directly in the program, 1: From NAMELIST "&GeometryMakingParam", 2: From external STL file + GeometrySource =1 + Geom_Dir ="DEMGeom.stl" ! If GeometrySource =2, please give a STL file routine, if not, just ignore it. + +/End of NAMELIST "&DEMOptions" + +!====================================== +&ParticleIBMProperty +!====================================== + + nPartition= 1000 + RetractionRatio=0.2 + +/End of NAMELIST "&ParticleIBMProperty" + +!====================================== +&ParticlePhysicalProperty +!====================================== + + Bin_Divided = 1 + Density = 1000 + Diameter = 0.1 + YoungsModulus_P = 10.0E+6 + PoissonRatio_P = 0.30 + + ! The following coefficinets are set to all the binary physical propertys for particle-particle group. + FrictionCoe_s_PP = 0.40 + FrictionCoe_k_PP = 0.40 + RestitutionCoe_n_PP = 0.97 + +/End of NAMELIST "&ParticlePhysicalProperty" + +!====================================== +&WallPhysicalProperty +!====================================== + + YoungsModulus_W = 10.0E+6 + PoissonRatio_W = 0.30 + + ! The following coefficinets are set to all the binary physical propertys for particle-wall group. + FrictionCoe_s_PW = 0.40 + FrictionCoe_k_PW = 0.40 + RestitutionCoe_n_PW = 0.97 + +/End of NAMELIST "&WallPhysicalProperty" + +!====================================== +&GeometryMakingNumPlane +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + nplane= 2 ! number of planes + +/End of NAMELIST "&GeometryMakingNumPlane" + +!====================================== +&GeometryMakingParam +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + ! point1, point2, point3, point4, translational velocity, user_id, wall_Type, bothSide, isInfinite + + user_id = 1 1 + wall_Type = 1 1 + bothSide = F F + IsInfinite= T T + Point1 = 0.0 0.0 0.0, 0.0 1.0 0.0 + Point2 = 0.0 0.0 1.0, 1.0 1.0 0.0 + Point3 = 1.0 0.0 1.0, 1.0 1.0 1.0 + Point4 = 1.0 0.0 0.0, 0.0 1.0 1.0 + TraVel = 0.0 0.0 0.0, 0.0 0.0 0.0, + +/End of NAMELIST "&GeometryMakingParam" + +!====================================== +&PrtclVisuOption +!====================================== + + saveXDMFOnce = T + + save_ID = F + save_Diameter = F + save_UsrMark = F + save_LinVel = F + save_RotVel = F + save_CntctForce = F + + save_Type = F + save_LinAcc = F + save_Theta = F + save_RotAcc = F + save_Torque = F + save_HighSt = F + +/End of NAMELIST "&PrtclVisuOption" + +!====================================== +&ParticleStatisticOption +!====================================== + + nslab = 180 + +/End of NAMELIST "&ParticleStatisticOption" + +!====================================== +&DumpPrtclOptions +!====================================== + + DumpPrtclFlag = F + ResetDumpFlag = T + + yDump = 1.5E-3 + DumpPrtclFreq = 100 !10 + mDumpPrtclSize = 500000 !1000000 + DumpPrtclDir = "./ACM/PrtclDump/" + +/End of NAMELIST "&DumpPrtclOptions" + +!================= +&CFDACMCoupling +!================= + + UpdateACMflag = T + IsAddFluidPressureGradient = F + + ! 0: Explicit,Uhlmann(2005,JCP), 1: Explicit,Kempe(2012,JCP), 2: Semi-implicit,Tschisgale(2017,JCP) + IBM_Scheme = 1 + + icouple = 120 + nForcingExtra= 2 + + Klub_pp = 90 + Klub_pw = 90 ! 100 + Lub_ratio = 1.0 ! Range of lubrication force divided by grid cell size + Ndt_coll=8.0 ! Number of fluid timesteps per collision + + IsDryColl= T ! Turn off fluid forces for large St collsions + St_Crit = 5.0 ! Critical Stokes numeber + +/End of NAMELIST "&CFDACMCoupling" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShear.acm1 b/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShear.acm1 new file mode 100644 index 00000000..4451c5bd --- /dev/null +++ b/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShear.acm1 @@ -0,0 +1,180 @@ +! +! -*- input parameter for ACM -*- +! +! -*- mode: f90 -*- + +!====================================== +&DEMOptions +!====================================== + + RestartFlag = T ! restart or not + numPrtcl = 2 ! total particle number + numPrtclFix = 0 ! total fixed particle number + gravity = 0.0 0.0 0.0 ! gravity or other constant body forces (if any) + + Prtcl_cs_ratio = 1.0 + CS_Method = 1 ! Contact search method (1: NBS_Munjiza; 2: NBS_Munjiza_Hrchl ) + CF_Type = 4 ! Contact force type (1:DEM_LSD; 2:DEM_nLin; 3:ACM_LSD; 4:ACM_nLin) + PI_Method = 2 ! Integration scheme for translational motion ( 1:FE, 2:AB2, 3:AB3 ) + PRI_Method = 2 ! Integration scheme for rotational motion ( 1:FE, 2:AB2, 3:AB3 ) + + numPrtcl_Type = 1 ! number of particle type + numWall_type = 1 ! number of wall type + + CntctList_Size=10 ! Contact list size, 6 means every particle can contact with 12 neighbour particles/walls in average + CS_numlvls = 0 ! Number of levels in multi-level contact search, 0 means default behavior. + + Wall_max_update_iter = 100 ! Near wall list will be updated no more than every 100 iterations + Wall_neighbor_ratio = 2.00 ! The particle withthin 3*MaxRadius, will be added into the NEAR WALL LIST + + RunName = "TwoPShear" ! Run name + ResultsDir = "./ACM/Results/" ! Result directory + RestartDir = "./ACM/Restart/" ! Restart directory + Cmd_LFile_Freq = 100000 ! Report frequency in the terminal is 500 time step + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Where is the geometry from? 0: Added directly in the program, 1: From NAMELIST "&GeometryMakingParam", 2: From external STL file + GeometrySource =1 + Geom_Dir ="DEMGeom.stl" ! If GeometrySource =2, please give a STL file routine, if not, just ignore it. + +/End of NAMELIST "&DEMOptions" + +!====================================== +&ParticleIBMProperty +!====================================== + + nPartition= 1000 + RetractionRatio=0.2 + +/End of NAMELIST "&ParticleIBMProperty" + +!====================================== +&ParticlePhysicalProperty +!====================================== + + Bin_Divided = 1 + Density = 1000 + Diameter = 0.1 + YoungsModulus_P = 10.0E+6 + PoissonRatio_P = 0.30 + + ! The following coefficinets are set to all the binary physical propertys for particle-particle group. + FrictionCoe_s_PP = 0.40 + FrictionCoe_k_PP = 0.40 + RestitutionCoe_n_PP = 0.97 + +/End of NAMELIST "&ParticlePhysicalProperty" + +!====================================== +&WallPhysicalProperty +!====================================== + + YoungsModulus_W = 10.0E+6 + PoissonRatio_W = 0.30 + + ! The following coefficinets are set to all the binary physical propertys for particle-wall group. + FrictionCoe_s_PW = 0.40 + FrictionCoe_k_PW = 0.40 + RestitutionCoe_n_PW = 0.97 + +/End of NAMELIST "&WallPhysicalProperty" + +!====================================== +&GeometryMakingNumPlane +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + nplane= 2 ! number of planes + +/End of NAMELIST "&GeometryMakingNumPlane" + +!====================================== +&GeometryMakingParam +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + ! point1, point2, point3, point4, translational velocity, user_id, wall_Type, bothSide, isInfinite + + user_id = 1 1 + wall_Type = 1 1 + bothSide = F F + IsInfinite= T T + Point1 = 0.0 0.0 0.0, 0.0 1.0 0.0 + Point2 = 0.0 0.0 1.0, 1.0 1.0 0.0 + Point3 = 1.0 0.0 1.0, 1.0 1.0 1.0 + Point4 = 1.0 0.0 0.0, 0.0 1.0 1.0 + TraVel = 0.0 0.0 0.0, 0.0 0.0 0.0, + +/End of NAMELIST "&GeometryMakingParam" + +!====================================== +&PrtclVisuOption +!====================================== + + saveXDMFOnce = T + + save_ID = F + save_Diameter = F + save_UsrMark = F + save_LinVel = F + save_RotVel = F + save_CntctForce = F + + save_Type = F + save_LinAcc = F + save_Theta = F + save_RotAcc = F + save_Torque = F + save_HighSt = F + +/End of NAMELIST "&PrtclVisuOption" + +!====================================== +&ParticleStatisticOption +!====================================== + + nslab = 180 + +/End of NAMELIST "&ParticleStatisticOption" + +!====================================== +&DumpPrtclOptions +!====================================== + + DumpPrtclFlag = F + ResetDumpFlag = T + + yDump = 1.5E-3 + DumpPrtclFreq = 100 !10 + mDumpPrtclSize = 500000 !1000000 + DumpPrtclDir = "./ACM/PrtclDump/" + +/End of NAMELIST "&DumpPrtclOptions" + +!================= +&CFDACMCoupling +!================= + + UpdateACMflag = T + IsAddFluidPressureGradient = F + + ! 0: Explicit,Uhlmann(2005,JCP), 1: Explicit,Kempe(2012,JCP), 2: Semi-implicit,Tschisgale(2017,JCP) + IBM_Scheme = 1 + + icouple = 120 + nForcingExtra= 2 + + Klub_pp = 90 + Klub_pw = 90 ! 100 + Lub_ratio = 1.0 ! Range of lubrication force divided by grid cell size + Ndt_coll=8.0 ! Number of fluid timesteps per collision + + IsDryColl= T ! Turn off fluid forces for large St collsions + St_Crit = 5.0 ! Critical Stokes numeber + +/End of NAMELIST "&CFDACMCoupling" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase1.cfd0 b/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase1.cfd0 new file mode 100644 index 00000000..bd471763 --- /dev/null +++ b/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase1.cfd0 @@ -0,0 +1,124 @@ +! +! -*- input parameter for Channel flow -*- +! +! -*- mode: f90 -*- + +!=================== +&BasicParam +!=================== + + RestartFlag = F ! Restart or not + IsUxConst= F + ubulk = 0.0 + + ! Flow type (1=Channel, 2=Half channel, 3=Taylor-Green vortex, 4=Isotropic turbulence, 5=Added new) + FlowType = 5 + + ! Mesh options + xlx = 1.0 ! domain length in x-dir + yly = 1.0 ! domain length in y-dir + zlz = 1.0 ! domain length in z-dir + nxc = 180 ! grid point number in x-dir + nyc = 180 ! grid point number in y-dir + nzc = 180 ! grid point number in z-dir + + ! Physical properties + xnu = 0.05 ! kinematic viscosity + gravity =0.0 0.0 0.0 ! Gravity or other constant body forces (if any) + FluidDensity = 1000 ! fluid density + + ! Time stepping + dtMax= 1.0E-3 ! Maxium time step + iCFL = 2 ! Use CFL condition to change time step dynamically( 1: yes, 2:no ). + CFLc = 0.3 ! CFL parameter + ifirst= 1 ! First iteration + ilast = 2000 ! Last iteration + + ! Numerical scheme options + ischeme = 1 ! (1=AB2, 2=RK2, 3=RK3) + IsImplicit= 2 ! (0=full explicit, 1=partial implicit, 2=full implicit ) + FFTW_plan_type = 1 ! (1=FFTW_MEASURE, 2=FFTW_ESTIMATE) + + ! Boundary conditions + ! 0: Periodic + ! -1: NoSlip + ! -2: Slip + ! -3: Convective (ONLY AVAILABLE for x+ and y+) + ! From left to right: + ! x-, x+, y-, y+, z-, z+ + ! And the velocity Bc values will ONLY be used corresponding to the no-slip Bc + ! While at the same time, you are allow to assign a transpiration Bc for uy in y- bottom(uyBcValue(3) dosen't work). + BcOption = 0, 0, -1, -1, 0, 0 + uxBcValue = 0.0, 0.0, -1.0, 1.0, 0.0, 0.0 + uyBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uzBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + + ! I/O, Statistics + ivstats = 10 ! time step interval for statistics calculation + saveStat = 10000 ! Output Statistics file frequency + SaveVisu = 50000 ! Output visulizing file frequency + BackupFreq = 50000 ! Output Restarting file frequency + RunName = "TwoPShearCase01" ! Run name + ResultsDir= "./CFD/Results/" ! Result directory + RestartDir= "./CFD/Restart/" ! Restart directory + Cmd_LFile_Freq = 5 ! Report frequency in the terminal + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Decomp2d options + p_row = 4 + p_col = 2 + + ! limited velocity and div + vel_limit = 5.0 + div_limit = 0.2 + +/End of NAMELIST "&BasicParam" + +!================= +&MeshSection +!================= + + nSection = 1 ! yly will be diveded into "nSection" part + +/End of NAMELIST "MeshSection" + +!================= +&MeshOptions +!================= + + SectionLength = 1.0 ! e.g. If nSection=2, and SectionLength=[1,3], yly is further divided into 1/4*yly and 3/4*yly + nycSection = 180 ! sum(nycSection)=nyc + StretType = 0 ! 0:Uniform; 1:Tangent hyperbolic function; 2:Sine/cosine function; 3:Proportional sequence + StretOption = 1 ! 0:bottom; 1:top + SectioncStret = 1.0 ! Stretching parameter. if StretType=0, this parameter doesn't work. + +/End of NAMELIST "MeshOptions" + +!================= +&IO_Options +!================= + + iskip = 1 + jskip = 1 + kskip = 1 + + save_ux = F + save_uy = F + save_uz = F + save_wx = F + save_wy = F + save_wz = F + save_wMag = F + save_pr = F + save_Q_vor = F + save_lamda2= F + + WriteHistOld = T + ReadHistOld = T + +/End of NAMELIST "&IO_Options" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase1.cfd1 b/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase1.cfd1 new file mode 100644 index 00000000..4291ce92 --- /dev/null +++ b/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase1.cfd1 @@ -0,0 +1,124 @@ +! +! -*- input parameter for Channel flow -*- +! +! -*- mode: f90 -*- + +!=================== +&BasicParam +!=================== + + RestartFlag = T ! Restart or not + IsUxConst= F + ubulk = 0.0 + + ! Flow type (1=Channel, 2=Half channel, 3=Taylor-Green vortex, 4=Isotropic turbulence, 5=Added new) + FlowType = 5 + + ! Mesh options + xlx = 1.0 ! domain length in x-dir + yly = 1.0 ! domain length in y-dir + zlz = 1.0 ! domain length in z-dir + nxc = 180 ! grid point number in x-dir + nyc = 180 ! grid point number in y-dir + nzc = 180 ! grid point number in z-dir + + ! Physical properties + xnu = 0.05 ! kinematic viscosity + gravity =0.0 0.0 0.0 ! Gravity or other constant body forces (if any) + FluidDensity = 1000 ! fluid density + + ! Time stepping + dtMax= 1.0E-3 ! Maxium time step + iCFL = 2 ! Use CFL condition to change time step dynamically( 1: yes, 2:no ). + CFLc = 0.3 ! CFL parameter + ifirst= 2001 ! First iteration + ilast = 18000 ! Last iteration + + ! Numerical scheme options + ischeme = 1 ! (1=AB2, 2=RK2, 3=RK3) + IsImplicit= 2 ! (0=full explicit, 1=partial implicit, 2=full implicit ) + FFTW_plan_type = 1 ! (1=FFTW_MEASURE, 2=FFTW_ESTIMATE) + + ! Boundary conditions + ! 0: Periodic + ! -1: NoSlip + ! -2: Slip + ! -3: Convective (ONLY AVAILABLE for x+ and y+) + ! From left to right: + ! x-, x+, y-, y+, z-, z+ + ! And the velocity Bc values will ONLY be used corresponding to the no-slip Bc + ! While at the same time, you are allow to assign a transpiration Bc for uy in y- bottom(uyBcValue(3) dosen't work). + BcOption = 0, 0, -1, -1, 0, 0 + uxBcValue = 0.0, 0.0, -1.0, 1.0, 0.0, 0.0 + uyBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uzBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + + ! I/O, Statistics + ivstats = 10 ! time step interval for statistics calculation + saveStat = 10000 ! Output Statistics file frequency + SaveVisu = 50000 ! Output visulizing file frequency + BackupFreq = 50000 ! Output Restarting file frequency + RunName = "TwoPShearCase01" ! Run name + ResultsDir= "./CFD/Results/" ! Result directory + RestartDir= "./CFD/Restart/" ! Restart directory + Cmd_LFile_Freq = 5 ! Report frequency in the terminal + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Decomp2d options + p_row = 4 + p_col = 2 + + ! limited velocity and div + vel_limit = 5.0 + div_limit = 0.2 + +/End of NAMELIST "&BasicParam" + +!================= +&MeshSection +!================= + + nSection = 1 ! yly will be diveded into "nSection" part + +/End of NAMELIST "MeshSection" + +!================= +&MeshOptions +!================= + + SectionLength = 1.0 ! e.g. If nSection=2, and SectionLength=[1,3], yly is further divided into 1/4*yly and 3/4*yly + nycSection = 180 ! sum(nycSection)=nyc + StretType = 0 ! 0:Uniform; 1:Tangent hyperbolic function; 2:Sine/cosine function; 3:Proportional sequence + StretOption = 1 ! 0:bottom; 1:top + SectioncStret = 1.0 ! Stretching parameter. if StretType=0, this parameter doesn't work. + +/End of NAMELIST "MeshOptions" + +!================= +&IO_Options +!================= + + iskip = 1 + jskip = 1 + kskip = 1 + + save_ux = F + save_uy = F + save_uz = F + save_wx = F + save_wy = F + save_wz = F + save_wMag = F + save_pr = F + save_Q_vor = F + save_lamda2= F + + WriteHistOld = T + ReadHistOld = T + +/End of NAMELIST "&IO_Options" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase2.cfd0 b/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase2.cfd0 new file mode 100644 index 00000000..45180ccc --- /dev/null +++ b/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase2.cfd0 @@ -0,0 +1,123 @@ +! +! -*- input parameter for Channel flow -*- +! +! -*- mode: f90 -*- + +!=================== +&BasicParam +!=================== + + RestartFlag = F ! Restart or not + IsUxConst= F + ubulk = 0.0 + + ! Flow type (1=Channel, 2=Half channel, 3=Taylor-Green vortex, 4=Isotropic turbulence, 5=Added new) + FlowType = 5 + + ! Mesh options + xlx = 1.0 ! domain length in x-dir + yly = 1.0 ! domain length in y-dir + zlz = 1.0 ! domain length in z-dir + nxc = 180 ! grid point number in x-dir + nyc = 180 ! grid point number in y-dir + nzc = 180 ! grid point number in z-dir + + ! Physical properties + xnu = 0.025 ! kinematic viscosity + gravity =0.0 0.0 0.0 ! Gravity or other constant body forces (if any) + FluidDensity = 1000 ! fluid density + + ! Time stepping + dtMax= 1.5E-3 ! Maxium time step + iCFL = 2 ! Use CFL condition to change time step dynamically( 1: yes, 2:no ). + CFLc = 0.3 ! CFL parameter + ifirst= 1 ! First iteration + ilast = 2000 ! Last iteration + + ! Numerical scheme options + ischeme = 1 ! (1=AB2, 2=RK2, 3=RK3) + IsImplicit= 2 ! (0=full explicit, 1=partial implicit, 2=full implicit ) + FFTW_plan_type = 1 ! (1=FFTW_MEASURE, 2=FFTW_ESTIMATE) + + ! Boundary conditions + ! 0: Periodic + ! -1: NoSlip + ! -2: Slip + ! -3: Convective (ONLY AVAILABLE for x+ and y+) + ! From left to right: + ! x-, x+, y-, y+, z-, z+ + ! And the velocity Bc values will ONLY be used corresponding to the no-slip Bc + ! While at the same time, you are allow to assign a transpiration Bc for uy in y- bottom(uyBcValue(3) dosen't work). + BcOption = 0, 0, -1, -1, 0, 0 + uxBcValue = 0.0, 0.0, -1.0, 1.0, 0.0, 0.0 + uyBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uzBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + + ! I/O, Statistics + ivstats = 10 ! time step interval for statistics calculation + saveStat = 10000 ! Output Statistics file frequency + SaveVisu = 50000 ! Output visulizing file frequency + BackupFreq = 50000 ! Output Restarting file frequency + RunName = "TwoPShearCase02" ! Run name + ResultsDir= "./CFD/Results/" ! Result directory + RestartDir= "./CFD/Restart/" ! Restart directory + Cmd_LFile_Freq = 5 ! Report frequency in the terminal + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Decomp2d options + p_row = 4 + p_col = 2 + + ! limited velocity and div + vel_limit = 5.0 + div_limit = 0.2 +/End of NAMELIST "&BasicParam" + +!================= +&MeshSection +!================= + + nSection = 1 ! yly will be diveded into "nSection" part + +/End of NAMELIST "MeshSection" + +!================= +&MeshOptions +!================= + + SectionLength = 1.0 ! e.g. If nSection=2, and SectionLength=[1,3], yly is further divided into 1/4*yly and 3/4*yly + nycSection = 180 ! sum(nycSection)=nyc + StretType = 0 ! 0:Uniform; 1:Tangent hyperbolic function; 2:Sine/cosine function; 3:Proportional sequence + StretOption = 1 ! 0:bottom; 1:top + SectioncStret = 1.0 ! Stretching parameter. if StretType=0, this parameter doesn't work. + +/End of NAMELIST "MeshOptions" + +!================= +&IO_Options +!================= + + iskip = 1 + jskip = 1 + kskip = 1 + + save_ux = F + save_uy = F + save_uz = F + save_wx = F + save_wy = F + save_wz = F + save_wMag = F + save_pr = F + save_Q_vor = F + save_lamda2= F + + WriteHistOld = T + ReadHistOld = T + +/End of NAMELIST "&IO_Options" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase2.cfd1 b/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase2.cfd1 new file mode 100644 index 00000000..f7db3eb8 --- /dev/null +++ b/Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase2.cfd1 @@ -0,0 +1,123 @@ +! +! -*- input parameter for Channel flow -*- +! +! -*- mode: f90 -*- + +!=================== +&BasicParam +!=================== + + RestartFlag = T ! Restart or not + IsUxConst= F + ubulk = 0.0 + + ! Flow type (1=Channel, 2=Half channel, 3=Taylor-Green vortex, 4=Isotropic turbulence, 5=Added new) + FlowType = 5 + + ! Mesh options + xlx = 1.0 ! domain length in x-dir + yly = 1.0 ! domain length in y-dir + zlz = 1.0 ! domain length in z-dir + nxc = 180 ! grid point number in x-dir + nyc = 180 ! grid point number in y-dir + nzc = 180 ! grid point number in z-dir + + ! Physical properties + xnu = 0.025 ! kinematic viscosity + gravity =0.0 0.0 0.0 ! Gravity or other constant body forces (if any) + FluidDensity = 1000 ! fluid density + + ! Time stepping + dtMax= 1.5E-3 ! Maxium time step + iCFL = 2 ! Use CFL condition to change time step dynamically( 1: yes, 2:no ). + CFLc = 0.3 ! CFL parameter + ifirst= 2001 ! First iteration + ilast = 30000 ! Last iteration + + ! Numerical scheme options + ischeme = 1 ! (1=AB2, 2=RK2, 3=RK3) + IsImplicit= 2 ! (0=full explicit, 1=partial implicit, 2=full implicit ) + FFTW_plan_type = 1 ! (1=FFTW_MEASURE, 2=FFTW_ESTIMATE) + + ! Boundary conditions + ! 0: Periodic + ! -1: NoSlip + ! -2: Slip + ! -3: Convective (ONLY AVAILABLE for x+ and y+) + ! From left to right: + ! x-, x+, y-, y+, z-, z+ + ! And the velocity Bc values will ONLY be used corresponding to the no-slip Bc + ! While at the same time, you are allow to assign a transpiration Bc for uy in y- bottom(uyBcValue(3) dosen't work). + BcOption = 0, 0, -1, -1, 0, 0 + uxBcValue = 0.0, 0.0, -1.0, 1.0, 0.0, 0.0 + uyBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uzBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + + ! I/O, Statistics + ivstats = 10 ! time step interval for statistics calculation + saveStat = 10000 ! Output Statistics file frequency + SaveVisu = 50000 ! Output visulizing file frequency + BackupFreq = 50000 ! Output Restarting file frequency + RunName = "TwoPShearCase02" ! Run name + ResultsDir= "./CFD/Results/" ! Result directory + RestartDir= "./CFD/Restart/" ! Restart directory + Cmd_LFile_Freq = 5 ! Report frequency in the terminal + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Decomp2d options + p_row = 4 + p_col = 2 + + ! limited velocity and div + vel_limit = 5.0 + div_limit = 0.2 +/End of NAMELIST "&BasicParam" + +!================= +&MeshSection +!================= + + nSection = 1 ! yly will be diveded into "nSection" part + +/End of NAMELIST "MeshSection" + +!================= +&MeshOptions +!================= + + SectionLength = 1.0 ! e.g. If nSection=2, and SectionLength=[1,3], yly is further divided into 1/4*yly and 3/4*yly + nycSection = 180 ! sum(nycSection)=nyc + StretType = 0 ! 0:Uniform; 1:Tangent hyperbolic function; 2:Sine/cosine function; 3:Proportional sequence + StretOption = 1 ! 0:bottom; 1:top + SectioncStret = 1.0 ! Stretching parameter. if StretType=0, this parameter doesn't work. + +/End of NAMELIST "MeshOptions" + +!================= +&IO_Options +!================= + + iskip = 1 + jskip = 1 + kskip = 1 + + save_ux = F + save_uy = F + save_uz = F + save_wx = F + save_wy = F + save_wz = F + save_wMag = F + save_pr = F + save_Q_vor = F + save_lamda2= F + + WriteHistOld = T + ReadHistOld = T + +/End of NAMELIST "&IO_Options" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/TwoParticleInShearFlow/runTwoPrtclInShearFlow.sh b/Input/CFDACM/TwoParticleInShearFlow/runTwoPrtclInShearFlow.sh new file mode 100644 index 00000000..a6672c24 --- /dev/null +++ b/Input/CFDACM/TwoParticleInShearFlow/runTwoPrtclInShearFlow.sh @@ -0,0 +1,39 @@ +#!/bin/bash +cmpStr="gcc" +appStr="mpirun" +p_row=4 +p_col=2 +if [[ -n $1 ]]; then + cmpStr=$1 +fi +if [[ -n $2 ]]; then + appStr=$2 +fi +if [[ -n $3 ]]; then + p_row=$3 +fi +if [[ -n $4 ]]; then + p_col=$4 +fi +let nproc=p_row*p_col + +cd ../../../ +chmod a+x mymake.sh +mkdir -p ./ACM/Restart/ 2> /dev/null + +# Re=0.1 +cp ./Input/CFDACM/TwoParticleInShearFlow/SpheresCoord.Case1 ./ACM/Restart/SpheresCoord.dat +./mymake.sh -exe-channelACM -cmp-"$cmpStr"_MPI -CompileThirdParty-0 -deleteCompileFile-1 -CFD_DEFS_Add -ACM_DEFS_Add-DRotateOnly -CFDACM_DEFS_Add-DSeveralSphereInfo +$appStr -n $nproc ./channelACM ./Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase1.cfd0 ./Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShear.acm0 $p_row $p_col + +./mymake.sh -exe-channelACM -cmp-"$cmpStr"_MPI -CompileThirdParty-0 -deleteCompileFile-1 -CFD_DEFS_Add -ACM_DEFS_Add -CFDACM_DEFS_Add-DSeveralSphereInfo +$appStr -n $nproc ./channelACM ./Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase1.cfd1 ./Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShear.acm1 $p_row $p_col + + +# Re=0.2 +cp ./Input/CFDACM/TwoParticleInShearFlow/SpheresCoord.Case2 ./ACM/Restart/SpheresCoord.dat +./mymake.sh -exe-channelACM -cmp-"$cmpStr"_MPI -CompileThirdParty-0 -deleteCompileFile-1 -CFD_DEFS_Add -ACM_DEFS_Add-DRotateOnly -CFDACM_DEFS_Add-DSeveralSphereInfo +$appStr -n $nproc ./channelACM ./Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase2.cfd0 ./Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShear.acm0 $p_row $p_col + +./mymake.sh -exe-channelACM -cmp-"$cmpStr"_MPI -CompileThirdParty-0 -deleteCompileFile-1 -CFD_DEFS_Add -ACM_DEFS_Add -CFDACM_DEFS_Add-DSeveralSphereInfo +$appStr -n $nproc ./channelACM ./Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShearCase2.cfd1 ./Input/CFDACM/TwoParticleInShearFlow/TwoPrtclShear.acm1 $p_row $p_col diff --git a/Input/CFDACM/YousefiJFM2023/Re3000Phi20.acm b/Input/CFDACM/YousefiJFM2023/Re3000Phi20.acm new file mode 100644 index 00000000..af40f6f1 --- /dev/null +++ b/Input/CFDACM/YousefiJFM2023/Re3000Phi20.acm @@ -0,0 +1,180 @@ +! +! -*- input parameter for ACM -*- +! +! -*- mode: f90 -*- + +!====================================== +&DEMOptions +!====================================== + + RestartFlag = F ! restart or not + numPrtcl = 5801 ! total particle number + numPrtclFix = 0 ! total fixed particle number + gravity = 0.0 0.0 0.0 ! gravity or other constant body forces (if any) + + Prtcl_cs_ratio = 1.0 + CS_Method = 1 ! Contact search method (1: NBS_Munjiza; 2: NBS_Munjiza_Hrchl ) + CF_Type = 3 ! Contact force type (1:DEM_LSD; 2:DEM_nLin; 3:ACM_LSD; 4:ACM_nLin) + PI_Method = 2 ! Integration scheme for translational motion ( 1:FE, 2:AB2, 3:AB3 ) + PRI_Method = 2 ! Integration scheme for rotational motion ( 1:FE, 2:AB2, 3:AB3 ) + + numPrtcl_Type = 1 ! number of particle type + numWall_type = 1 ! number of wall type + + CntctList_Size=10 ! Contact list size, 6 means every particle can contact with 12 neighbour particles/walls in average + CS_numlvls = 0 ! Number of levels in multi-level contact search, 0 means default behavior. + + Wall_max_update_iter = 100 ! Near wall list will be updated no more than every 100 iterations + Wall_neighbor_ratio = 3.00 ! The particle withthin 3*MaxRadius, will be added into the NEAR WALL LIST + + RunName = "Re3000Phi20" ! Run name + ResultsDir = "./ACM/YousefiJFM2023/" ! Result directory + RestartDir = "./ACM/Restart/" ! Restart directory + Cmd_LFile_Freq = 1200 ! Report frequency in the terminal is 500 time step + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Where is the geometry from? 0: Added directly in the program, 1: From NAMELIST "&GeometryMakingParam", 2: From external STL file + GeometrySource =1 + Geom_Dir ="DEMGeom.stl" ! If GeometrySource =2, please give a STL file routine, if not, just ignore it. + +/End of NAMELIST "&DEMOptions" + +!====================================== +&ParticleIBMProperty +!====================================== + + nPartition= 765 + RetractionRatio=0.2 + +/End of NAMELIST "&ParticleIBMProperty" + +!====================================== +&ParticlePhysicalProperty +!====================================== + + Bin_Divided = 1 + Density = 1000.0 + Diameter = 1.0 + YoungsModulus_P = 10.0E+6 + PoissonRatio_P = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-particle group. + FrictionCoe_s_PP = 0.00 + FrictionCoe_k_PP = 0.00 + RestitutionCoe_n_PP = 0.97 + +/End of NAMELIST "&ParticlePhysicalProperty" + +!====================================== +&WallPhysicalProperty +!====================================== + + YoungsModulus_W = 10.0E+6 + PoissonRatio_W = 0.300 + + ! The following coefficinets are set to all the binary physical propertys for particle-wall group. + FrictionCoe_s_PW = 0.00 + FrictionCoe_k_PW = 0.00 + RestitutionCoe_n_PW = 0.97 + +/End of NAMELIST "&WallPhysicalProperty" + +!====================================== +&GeometryMakingNumPlane +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + nplane= 2 ! number of planes + +/End of NAMELIST "&GeometryMakingNumPlane" + +!====================================== +&GeometryMakingParam +!====================================== + + ! NOTE here: ONLY if GeometrySource = 1, this Namelist will work !!! + ! point1, point2, point3, point4, translational velocity, user_id, wall_Type, bothSide, isInfinite + + user_id = 1, 1 + wall_Type = 1, 1 + bothSide = F, F + IsInfinite= T, T + Point1 = 0.00 0.0 0.00, 0.00 15.0 0.00, + Point2 = 0.00 0.0 22.5, 45.0 15.0 0.00, + Point3 = 45.0 0.0 22.5, 45.0 15.0 22.5, + Point4 = 45.0 0.0 0.00, 0.00 15.0 22.5, + TraVel = 0.00 0.0 0.00, 0.00 0.00 0.00, + +/End of NAMELIST "&GeometryMakingParam" + +!====================================== +&PrtclVisuOption +!====================================== + + saveXDMFOnce = T + + save_ID = T + save_Diameter = F + save_UsrMark = F + save_LinVel = T + save_RotVel = T + save_CntctForce = F + + save_Type = F + save_LinAcc = F + save_Theta = F + save_RotAcc = F + save_Torque = F + save_HighSt = F + +/End of NAMELIST "&PrtclVisuOption" + +!====================================== +&ParticleStatisticOption +!====================================== + + nslab = 240 + +/End of NAMELIST "&ParticleStatisticOption" + +!====================================== +&DumpPrtclOptions +!====================================== + + DumpPrtclFlag = F + ResetDumpFlag = T + + yDump = 1.5E-3 + DumpPrtclFreq = 100 !10 + mDumpPrtclSize = 500000 !1000000 + DumpPrtclDir = "./ACM/PrtclDump/" + +/End of NAMELIST "&DumpPrtclOptions" + +!================= +&CFDACMCoupling +!================= + + UpdateACMflag = T + IsAddFluidPressureGradient = F + + ! 0: Explicit,Uhlmann(2005,JCP), 1: Explicit,Kempe(2012,JCP), 2: Semi-implicit,Tschisgale(2017,JCP) + IBM_Scheme = 1 + + icouple = 30 + nForcingExtra= 2 + + Klub_pp = 90.0 + Klub_pw = 90.0 ! 100 + Lub_ratio = 1.0 ! Range of lubrication force divided by grid cell size + Ndt_coll=8.0 ! Number of fluid timesteps per collision + + IsDryColl= T ! Turn off fluid forces for large St collsions + St_Crit = 5.0 ! Critical Stokes numeber + +/End of NAMELIST "&CFDACMCoupling" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/YousefiJFM2023/Re3000Phi20.cfd b/Input/CFDACM/YousefiJFM2023/Re3000Phi20.cfd new file mode 100644 index 00000000..6a0dad98 --- /dev/null +++ b/Input/CFDACM/YousefiJFM2023/Re3000Phi20.cfd @@ -0,0 +1,143 @@ +! +! -*- input parameter for Channel flow -*- +! +! -*- mode: f90 -*- + +!=================== +&BasicParam +!=================== + + RestartFlag = F ! Restart or not + IsUxConst= T + ubulk = 1.0 + + ! Flow type (1=Channel, 2=Half channel, 3=Taylor-Green vortex, 4=Isotropic turbulence, 5=Added new) + FlowType = 1 + + ! Mesh options + xlx = 45.0 ! Domain length in x-dir + yly = 15.0 ! Domain length in y-dir + zlz = 22.5 ! Domain length in z-dir + nxc = 720 ! Grid point number in x-dir + nyc = 240 ! Grid point number in y-dir + nzc = 360 ! Grid point number in z-dir + + ! Physical properties + xnu = 0.005 ! Kinematic viscosity + gravity =0.0 0.0 0.0 ! Gravity or other constant body forces (if any) + FluidDensity = 1000.0 ! Fluid density + + ! Time stepping + dtMax= 0.02 ! Maxium time step + iCFL = 2 ! Use CFL condition to change time step dynamically( 1: yes, 2:no ). + CFLc = 1.7 ! CFL parameter + ifirst= 1 ! First iteration + ilast = 100000 ! Last iteration + + ! Numerical scheme options + ischeme = 3 ! (1=AB2, 2=RK2, 3=RK3) + IsImplicit= 0 ! (0=full explicit, 1=partial implicit, 2=full implicit ) + FFTW_plan_type = 1 ! (1=FFTW_MEASURE, 2=FFTW_ESTIMATE) + + ! Boundary conditions + ! 0: Periodic + ! -1: NoSlip + ! -2: Slip + ! -3: Convective (ONLY AVAILABLE for x+ and y+) + ! From left to right: + ! x-, x+, y-, y+, z-, z+ + ! And the velocity Bc values will ONLY be used corresponding to the no-slip Bc + ! While at the same time, you are allow to assign a transpiration Bc for uy in y- bottom(uyBcValue(3) dosen't work). + BcOption = 0, 0, -1, -1, 0, 0 + uxBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uyBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + uzBcValue = 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 + + ! I/O, Statistics + ivstats = 10 ! time step interval for statistics calculation + saveStat = 5000 ! Output Statistics file frequency + SaveVisu = 10000 ! Output visulizing file frequency + BackupFreq= 10000 ! Output Restarting file frequency + RunName ="Re3000Phi20" ! Run name + ResultsDir="./CFD/YousefiJFM2023/" ! Result directory + RestartDir="./CFD/Restart/" ! Restart directory + Cmd_LFile_Freq = 5 ! Report frequency in the terminal + LF_file_lvl = 5 ! Logfile report level + LF_cmdw_lvl = 3 ! Terminal report level + + ! Decomp2d options + p_row = 16 + p_col = 8 + + ! limited velocity and div + vel_limit = 5.0 + div_limit = 0.2 +/End of NAMELIST "&BasicParam" + +!=================== +&ubulk_Param +!=================== + + ybulk1= 0.0 + ybulk2= 15.0 + +/End of NAMELIST "&ubulk_Param" + +!================= +&MeshSection +!================= + + nSection = 1 ! yly will be diveded into "nSection" part + +/End of NAMELIST "MeshSection" + +!================= +&MeshOptions +!================= + + SectionLength = 1.0 ! e.g. If nSection=2, and SectionLength=[1,3], yly is further divided into 1/4*yly and 3/4*yly + nycSection = 240 ! sum(nycSection)=nyc + StretType = 0 ! 0:Uniform; 1:Tangent hyperbolic function; 2:Sine/cosine function; 3:Proportional sequence + StretOption = 1 ! 0:bottom; 1:top + SectioncStret = 1.0 ! Stretching parameter. if StretType=0, this parameter doesn't work. + +/End of NAMELIST "MeshOptions" + +!================= +&SpectraOptions +!================= + + clcSpectra1D = F + clcSpectra2D = F + ivSpec = 20 + jForLCS = 12 16 + +/End of NAMELIST "SpectraOptions" + +!================= +&IO_Options +!================= + + iskip = 1 + jskip = 1 + kskip = 1 + + save_ux = F + save_uy = F + save_uz = F + save_wx = F + save_wy = F + save_wz = F + save_wMag = F + save_pr = F + save_Q_vor = F + save_lamda2= F + + WriteHistOld = T + ReadHistOld = T + +/End of NAMELIST "&IO_Options" + +!===============================! +! -*- input parameters end -*- =! +!===============================! diff --git a/Input/CFDACM/YousefiJFM2023/SpheresCoord.YousefiJFM2023 b/Input/CFDACM/YousefiJFM2023/SpheresCoord.YousefiJFM2023 new file mode 100644 index 00000000..b93554b9 Binary files /dev/null and b/Input/CFDACM/YousefiJFM2023/SpheresCoord.YousefiJFM2023 differ diff --git a/Input/CFDACM/YousefiJFM2023/runYousefi2023.sh b/Input/CFDACM/YousefiJFM2023/runYousefi2023.sh new file mode 100644 index 00000000..9649fa06 --- /dev/null +++ b/Input/CFDACM/YousefiJFM2023/runYousefi2023.sh @@ -0,0 +1,27 @@ +#!/bin/bash +cmpStr="gcc" +appStr="mpirun" +p_row=4 +p_col=2 +if [[ -n $1 ]]; then + cmpStr=$1 +fi +if [[ -n $2 ]]; then + appStr=$2 +fi +if [[ -n $3 ]]; then + p_row=$3 +fi +if [[ -n $4 ]]; then + p_col=$4 +fi +let nproc=p_row*p_col + +cd ../../../ +chmod a+x mymake.sh +mkdir -p ./ACM/Restart/ 2> /dev/null + +#./mymake.sh -exe-channelACM -cmp-"$cmpStr"_MPI -CompileThirdParty-0 -deleteCompileFile-1 -CFD_DEFS_Add -ACM_DEFS_Add -CFDACM_DEFS_Add + +cp -rf ./Input/CFDACM/YousefiJFM2023/SpheresCoord.YousefiJFM2023 ./ACM/Restart/SpheresCoord.dat +$appStr -n $nproc ./channelACM ./Input/CFDACM/YousefiJFM2023/Re3000Phi20.cfd ./Input/CFDACM/YousefiJFM2023/Re3000Phi20.acm $p_row $p_col diff --git a/Input/CFDACM/runCFDACMBenchmark.sh b/Input/CFDACM/runCFDACMBenchmark.sh new file mode 100644 index 00000000..dea503d9 --- /dev/null +++ b/Input/CFDACM/runCFDACMBenchmark.sh @@ -0,0 +1,66 @@ +#!/bin/bash +cmpStr="gcc" +appStr="mpirun" +p_row=4 +p_col=2 +if [[ -n $1 ]]; then + cmpStr=$1 +fi +if [[ -n $2 ]]; then + appStr=$2 +fi +if [[ -n $3 ]]; then + p_row=$3 +fi +if [[ -n $4 ]]; then + p_col=$4 +fi + +#01. Drifting-Kissing-Tumbling +cd ./DriftKissTumble/ +chmod a+x run*.sh +./runDriftKissTumble.sh $cmpStr $appStr $p_row $p_col # 5 5 +cd ../ + +#02. Drag coefficient of flow past isolated sphere +cd ./FlowPastSingleSphere/ +chmod a+x run*.sh +./runFlowPastSphere.sh $cmpStr $appStr $p_row $p_col # 11 10 +cd ../ + +#03. Rebounded angle of Oblique Collision +cd ./ObliqueCollision/ +chmod a+x run*.sh +./runObliqueCollide.sh $cmpStr $appStr $p_row $p_col # 11 10 +cd ../ + +#04. Trajectory of the sphere when normally colliding the wall +cd ./ParticleCollideWall/ +chmod a+x run*.sh +./runPrtclCollideWall.sh $cmpStr $appStr $p_row $p_col # 11 10 +cd ../ + +#05. Trajectory of the sphere when falling +cd ./ParticleFalling/ +chmod a+x run*.sh +./runParticleFalling.sh $cmpStr $appStr $p_row $p_col # 6 6 +cd ../ + +#06. Particle dynamics in linear flow +cd ./ParticleInLinearFlow/ +chmod a+x run*.sh +./runPrtclLinearTschisgaleFig5a.sh $cmpStr $appStr $p_row $p_col # 11 10 +./runPrtclLinearTschisgaleFig5b.sh $cmpStr $appStr $p_row $p_col # 11 10 +cd ../ + +#07. Normal restitution of particle in fluid +cd ./PrtclRestitution/ +chmod a+x run*.sh +./runPrtclRestitution.sh $cmpStr $appStr $p_row $p_col # 11 10 +cd ../ + +#08. Trajectory of two particles in Couttee shear flow at low Reynolds number +cd ./TwoParticleInShearFlow/ +chmod a+x run*.sh +./runTwoPrtclInShearFlow.sh $cmpStr $appStr $p_row $p_col # 9 9 +cd ../