mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
added liquid FB tutorial
This commit is contained in:
@ -0,0 +1,259 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object couplingProperties;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//===========================================================================//
|
||||
// sub-models & settings
|
||||
|
||||
syncMode false;
|
||||
modelType "A";
|
||||
couplingInterval 100;
|
||||
voidFractionModel divided;
|
||||
locateModel engine;
|
||||
meshMotionModel noMeshMotion;
|
||||
regionModel allRegion;
|
||||
IOModel basicIO;
|
||||
probeModel off;//particleProbe;
|
||||
dataExchangeModel twoWayMPI;
|
||||
averagingModel dense;
|
||||
clockModel standardClock;
|
||||
smoothingModel constDiffSmoothing;//off;
|
||||
//useDDTvoidfraction;
|
||||
|
||||
forceModels
|
||||
(
|
||||
gradPForce//Smooth
|
||||
viscForce
|
||||
Archimedes
|
||||
BeetstraDrag
|
||||
//DiFeliceDrag
|
||||
//KochHillDrag
|
||||
//GidaspowDrag
|
||||
//SchillerNaumannDrag
|
||||
virtualMassForce
|
||||
MeiLift
|
||||
ParmarBassetForce
|
||||
dSauter
|
||||
);
|
||||
|
||||
getParticleDensities true;
|
||||
getParticleAngVels true;
|
||||
|
||||
momCoupleModels
|
||||
(
|
||||
implicitCouple
|
||||
);
|
||||
|
||||
turbulenceModelType "turbulenceProperties";
|
||||
|
||||
//===========================================================================//
|
||||
// sub-model properties
|
||||
|
||||
particleProbeProps
|
||||
{
|
||||
particleIDsToSample (0 1000 2000 3000 4000 5000);
|
||||
verboseToFile;
|
||||
verbose;
|
||||
printEvery 500;
|
||||
sampleAll;
|
||||
probeDebug;
|
||||
includePosition;
|
||||
writePrecision 4;
|
||||
}
|
||||
|
||||
ParmarBassetForceProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
useUs true;
|
||||
interpolation true;
|
||||
nIntegral 20;
|
||||
discretisationOrder 1;
|
||||
smoothingModel constDiffAndTemporalSmoothing;
|
||||
|
||||
constDiffAndTemporalSmoothingProps
|
||||
{
|
||||
lowerLimit 1e-8;
|
||||
upperLimit 1e8;
|
||||
smoothingLength 0.0015; // dp
|
||||
smoothingStrength 0.01; // timescale = dt/gamma
|
||||
correctBoundary true;
|
||||
}
|
||||
}
|
||||
|
||||
BeetstraDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
voidfractionFieldName "voidfraction";
|
||||
interpolation true;
|
||||
verbose false;
|
||||
polydisperse false;
|
||||
implForceDEM true;
|
||||
dSauterFieldName "voidfraction";
|
||||
suppressProbe true;
|
||||
}
|
||||
|
||||
DiFeliceDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
voidfractionFieldName "voidfraction";
|
||||
interpolation true;
|
||||
verbose false;
|
||||
implForceDEM true;
|
||||
}
|
||||
|
||||
KochHillDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
voidfractionFieldName "voidfraction";
|
||||
interpolation true;
|
||||
verbose false;
|
||||
implForceDEM true;
|
||||
}
|
||||
|
||||
GidaspowDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
voidfractionFieldName "voidfraction";
|
||||
interpolation true;
|
||||
verbose false;
|
||||
implForceDEM true;
|
||||
phi 1.0;
|
||||
}
|
||||
|
||||
SchillerNaumannDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
voidfractionFieldName "voidfraction";
|
||||
interpolation true;
|
||||
verbose false;
|
||||
implForceDEM true;
|
||||
}
|
||||
|
||||
virtualMassForceProps
|
||||
{
|
||||
velFieldName "U";
|
||||
voidfractionFieldName "voidfraction";
|
||||
granVelFieldName "Us";
|
||||
phiFieldName "phi";
|
||||
useUs true;
|
||||
useFelderhof true;
|
||||
interpolation true;
|
||||
smoothingModel constDiffAndTemporalSmoothing;
|
||||
|
||||
constDiffAndTemporalSmoothingProps
|
||||
{
|
||||
lowerLimit 1e-8;
|
||||
upperLimit 1e8;
|
||||
smoothingLength 0.0015; // dp
|
||||
smoothingStrength 0.01; // timescale = dt/gamma
|
||||
correctBoundary true;
|
||||
}
|
||||
}
|
||||
|
||||
MeiLiftProps
|
||||
{
|
||||
velFieldName "U";
|
||||
useShearInduced true;
|
||||
useSpinInduced true;
|
||||
combineShearSpin false;
|
||||
interpolation true;
|
||||
verbose false;
|
||||
}
|
||||
|
||||
dSauterProps
|
||||
{
|
||||
}
|
||||
|
||||
ArchimedesProps
|
||||
{
|
||||
gravityFieldName "g";
|
||||
treatForceDEM true; // needed for models "A" or "Bfull"
|
||||
}
|
||||
|
||||
gradPForceProps
|
||||
{
|
||||
pFieldName "p";
|
||||
voidfractionFieldName "voidfraction";
|
||||
velocityFieldName "U";
|
||||
interpolation true;
|
||||
}
|
||||
|
||||
gradPForceSmoothProps
|
||||
{
|
||||
pFieldName "p";
|
||||
voidfractionFieldName "voidfraction";
|
||||
velocityFieldName "U";
|
||||
smoothingModel "temporalSmoothing";
|
||||
temporalSmoothingProps
|
||||
{
|
||||
lowerLimit 1e-8;
|
||||
upperLimit 1e8;
|
||||
refField "p";
|
||||
gamma 0.01; // timescale = dt/gamma
|
||||
}
|
||||
}
|
||||
|
||||
viscForceProps
|
||||
{
|
||||
velocityFieldName "U";
|
||||
interpolation true;
|
||||
}
|
||||
|
||||
constDiffSmoothingProps
|
||||
{
|
||||
lowerLimit 1e-8;
|
||||
upperLimit 1e8;
|
||||
smoothingLength 0.0015; //dp
|
||||
}
|
||||
|
||||
engineProps
|
||||
{
|
||||
treeSearch true;
|
||||
}
|
||||
|
||||
dividedProps
|
||||
{
|
||||
alphaMin 0.01;
|
||||
scaleUpVol 1.0;
|
||||
}
|
||||
|
||||
twoWayMPIProps
|
||||
{
|
||||
liggghtsPath "../DEM/in.liggghts_run";
|
||||
}
|
||||
|
||||
implicitCoupleProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
22
tutorials/cfdemSolverPiso/round_liquid_FB/CFD/constant/g
Normal file
22
tutorials/cfdemSolverPiso/round_liquid_FB/CFD/constant/g
Normal file
@ -0,0 +1,22 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class uniformDimensionedVectorField;
|
||||
location "constant";
|
||||
object g;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -2 0 0 0 0];
|
||||
value ( 0 0 -9.81);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,43 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object liggghtsCommands;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
liggghtsCommandModels
|
||||
(
|
||||
runLiggghts
|
||||
writeLiggghts
|
||||
);
|
||||
// ************************************************************************* //
|
||||
|
||||
/*runLiggghtsProps
|
||||
{
|
||||
preNo false;
|
||||
}*/
|
||||
|
||||
writeLiggghtsProps
|
||||
{
|
||||
writeLast on;
|
||||
writeName "post/restart/liggghts.restartCFDEM";
|
||||
overwrite on;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,23 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object transportProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
transportModel Newtonian;
|
||||
|
||||
nu nu [ 0 2 -1 0 0 0 0 ] 1.00708e-06;
|
||||
|
||||
}
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,31 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object turbulenceProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
simulationType laminar;
|
||||
/*
|
||||
simulationType RAS;
|
||||
|
||||
RAS
|
||||
{
|
||||
RASModel kEpsilon;
|
||||
|
||||
turbulence on;
|
||||
|
||||
printCoeffs on;
|
||||
} */
|
||||
|
||||
// ************************************************************************* //
|
||||
39
tutorials/cfdemSolverPiso/round_liquid_FB/CFD/org.0/Ksl
Normal file
39
tutorials/cfdemSolverPiso/round_liquid_FB/CFD/org.0/Ksl
Normal file
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object Ksl;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -3 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
40
tutorials/cfdemSolverPiso/round_liquid_FB/CFD/org.0/U
Normal file
40
tutorials/cfdemSolverPiso/round_liquid_FB/CFD/org.0/U
Normal file
@ -0,0 +1,40 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.x |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volVectorField;
|
||||
location "0";
|
||||
object U;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform (0 0 0.142);
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type slip;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
39
tutorials/cfdemSolverPiso/round_liquid_FB/CFD/org.0/Us
Normal file
39
tutorials/cfdemSolverPiso/round_liquid_FB/CFD/org.0/Us
Normal file
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volVectorField;
|
||||
location "0";
|
||||
object Us;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
40
tutorials/cfdemSolverPiso/round_liquid_FB/CFD/org.0/p
Normal file
40
tutorials/cfdemSolverPiso/round_liquid_FB/CFD/org.0/p
Normal file
@ -0,0 +1,40 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 4.x |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object p;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 2 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 0;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
37
tutorials/cfdemSolverPiso/round_liquid_FB/CFD/org.0/rho
Normal file
37
tutorials/cfdemSolverPiso/round_liquid_FB/CFD/org.0/rho
Normal file
@ -0,0 +1,37 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object rho;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -3 0 0 0 0 0];
|
||||
|
||||
internalField uniform 998.20413;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,37 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
object sSmoothField;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 0 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,37 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volVectorField;
|
||||
object vSmoothField;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 0 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,40 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class volScalarField;
|
||||
location "0";
|
||||
object voidfraction;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,57 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application pisoFoam;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 25;
|
||||
|
||||
deltaT 0.001;
|
||||
|
||||
writeControl adjustableRunTime;
|
||||
|
||||
writeInterval 0.1;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression uncompressed;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable yes;
|
||||
|
||||
adjustTimeStep no;
|
||||
|
||||
maxCo 0.1;
|
||||
|
||||
|
||||
functions
|
||||
{
|
||||
|
||||
}
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,117 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application pisoFoam;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 0.1;//0.01;
|
||||
|
||||
deltaT 0.001;
|
||||
|
||||
writeControl adjustableRunTime;
|
||||
|
||||
writeInterval 0.001;//0.01;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression uncompressed;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable yes;
|
||||
|
||||
adjustTimeStep no;
|
||||
|
||||
maxCo 0.1;
|
||||
|
||||
libs ("libOpenFOAM.so" "libgroovyBC.so");
|
||||
|
||||
functions
|
||||
{
|
||||
|
||||
probes
|
||||
{
|
||||
type probes;
|
||||
// Where to load it from
|
||||
functionObjectLibs ( "libsampling.so" );
|
||||
// Name of the directory for probe data
|
||||
name probes;
|
||||
probeLocations
|
||||
(
|
||||
(0 0 0.0001)
|
||||
(0 0 0.0026)
|
||||
(0 0 0.0051)
|
||||
(0 0 0.0076)
|
||||
(0 0 0.0101)
|
||||
(0 0 0.0126)
|
||||
(0 0 0.0151)
|
||||
(0 0 0.0176)
|
||||
(0 0 0.0201)
|
||||
(0 0 0.0226)
|
||||
(0 0 0.0251)
|
||||
(0 0 0.0276)
|
||||
(0 0 0.0301)
|
||||
(0 0 0.0326)
|
||||
(0 0 0.0351)
|
||||
(0 0 0.0375)
|
||||
(0 0 0.0401)
|
||||
(0 0 0.0426)
|
||||
(0 0 0.0451)
|
||||
(0 0 0.0476)
|
||||
(0 0 0.0529)
|
||||
);
|
||||
|
||||
// Fields to be probed
|
||||
fields ( p U voidfraction volAverage_voidfraction);
|
||||
|
||||
// Write at same frequency as fields
|
||||
writeControl timeStep;//outputTime;
|
||||
writeInterval 1;
|
||||
}
|
||||
|
||||
/*pressureDrop
|
||||
{
|
||||
type patchAverage;
|
||||
functionObjectLibs
|
||||
(
|
||||
"libsimpleFunctionObjects.so"
|
||||
);
|
||||
verbose true;
|
||||
patches
|
||||
(
|
||||
inlet
|
||||
outlet
|
||||
);
|
||||
fields
|
||||
(
|
||||
p
|
||||
);
|
||||
factor 1;
|
||||
}*/
|
||||
}
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,86 @@
|
||||
/*-------------------------------*- C++ -*---------------------------------*\
|
||||
| ========= |
|
||||
| \\ / OpenFOAM |
|
||||
| \\ / |
|
||||
| \\ / The Open Source CFD Toolbox |
|
||||
| \\/ http://www.OpenFOAM.org |
|
||||
\*-------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
note "mesh decomposition control dictionary";
|
||||
location "system";
|
||||
object decomposeParDict;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
numberOfSubdomains 16;
|
||||
|
||||
//- Keep owner and neighbour on same processor for faces in zones:
|
||||
// preserveFaceZones (heater solid1 solid3);
|
||||
|
||||
//method scotch;
|
||||
// method hierarchical;
|
||||
method simple;
|
||||
// method metis;
|
||||
// method manual;
|
||||
|
||||
simpleCoeffs
|
||||
{
|
||||
n (2 2 4);
|
||||
delta 0.001;
|
||||
}
|
||||
|
||||
hierarchicalCoeffs
|
||||
{
|
||||
n (2 1 1);
|
||||
delta 0.001;
|
||||
order xyz;
|
||||
}
|
||||
|
||||
metisCoeffs
|
||||
{
|
||||
/*
|
||||
processorWeights
|
||||
(
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
);
|
||||
*/
|
||||
}
|
||||
|
||||
scotchCoeffs
|
||||
{
|
||||
//processorWeights
|
||||
//(
|
||||
// 1
|
||||
// 1
|
||||
// 1
|
||||
// 1
|
||||
//);
|
||||
//writeGraph true;
|
||||
//strategy "b";
|
||||
}
|
||||
|
||||
manualCoeffs
|
||||
{
|
||||
dataFile "decompositionData";
|
||||
}
|
||||
|
||||
|
||||
//// Is the case distributed
|
||||
//distributed yes;
|
||||
//// Per slave (so nProcs-1 entries) the directory above the case.
|
||||
//roots
|
||||
//(
|
||||
// "/tmp"
|
||||
// "/tmp"
|
||||
//);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,81 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSchemes;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default Euler;
|
||||
}
|
||||
|
||||
d2dt2Schemes
|
||||
{
|
||||
default Euler;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
grad(p) cellLimited Gauss linear 1;
|
||||
grad(U) Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
div(phi,U) Gauss limitedLinearV 1;
|
||||
div(phi,k) Gauss limitedLinear 1;
|
||||
div(phi,epsilon) Gauss limitedLinear 1;
|
||||
div(phi,R) Gauss limitedLinear 1;
|
||||
div(R) Gauss linear;
|
||||
div(phi,nuTilda) Gauss limitedLinear 1;
|
||||
div((viscousTerm*dev(grad(U).T()))) Gauss linear;
|
||||
div((nu*dev(grad(U).T()))) Gauss linear;
|
||||
div((nuEff*dev(grad(U).T()))) Gauss linear;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default Gauss linear corrected;
|
||||
laplacian(viscousTerm,U) Gauss linear corrected;
|
||||
laplacian(nu,U) Gauss linear corrected;
|
||||
laplacian(nuEff,U) Gauss linear corrected;
|
||||
laplacian((1|A(U)),p) Gauss linear corrected;
|
||||
laplacian((voidfraction2|A(U)),p) Gauss linear corrected;
|
||||
laplacian(DkEff,k) Gauss linear corrected;
|
||||
laplacian(DepsilonEff,epsilon) Gauss linear corrected;
|
||||
laplacian(DREff,R) Gauss linear corrected;
|
||||
laplacian(DnuTildaEff,nuTilda) Gauss linear corrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
interpolate(U) linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default corrected;
|
||||
}
|
||||
|
||||
fluxRequired
|
||||
{
|
||||
default no;
|
||||
p ;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,84 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "system";
|
||||
object fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
"(p)"
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner
|
||||
{
|
||||
preconditioner GAMG;
|
||||
tolerance 1e-8;
|
||||
relTol 0;
|
||||
smoother GaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration on;
|
||||
nCellsInCoarsestLevel 100;
|
||||
agglomerator faceAreaPair;
|
||||
mergeLevels 1;
|
||||
}
|
||||
tolerance 1e-8;
|
||||
relTol 0.01;
|
||||
maxIter 100;
|
||||
}
|
||||
|
||||
pFinal
|
||||
{
|
||||
solver GAMG;
|
||||
tolerance 1e-8;
|
||||
relTol 0;
|
||||
smoother GaussSeidel;
|
||||
nPreSweeps 0;
|
||||
nPostSweeps 2;
|
||||
nFinestSweeps 2;
|
||||
cacheAgglomeration on;
|
||||
nCellsInCoarsestLevel 100;
|
||||
agglomerator faceAreaPair;
|
||||
mergeLevels 1;
|
||||
}
|
||||
|
||||
"(U|k|epsilon|R|nuTilda)"
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother GaussSeidel;
|
||||
tolerance 1e-8;
|
||||
relTol 0.0;
|
||||
nSweeps 1;
|
||||
}
|
||||
|
||||
"(voidfraction|Us|Ksl|dSmoothing|UsNext|voidfractionNext|sSmoothField|vSmoothField|UrelSmooth)"
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-5;
|
||||
relTol 0;
|
||||
}
|
||||
}
|
||||
|
||||
PISO
|
||||
{
|
||||
nCorrectors 3;
|
||||
nNonOrthogonalCorrectors 1;
|
||||
pRefPoint (0 0.025 0);
|
||||
pRefValue 0;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,64 @@
|
||||
# Pour granular particles into a cylinder, then induce flow
|
||||
echo both
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
processors 4 4 1
|
||||
|
||||
boundary f f f
|
||||
newton off
|
||||
units si
|
||||
|
||||
region reg block -0.03 0.03 -0.03 0.03 0 2.0 units box
|
||||
create_box 1 reg
|
||||
|
||||
neighbor 0.0005 bin #0.0003
|
||||
neigh_modify delay 0
|
||||
|
||||
# Material properties required for granular pair styles
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e6
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.45
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.8
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.5
|
||||
|
||||
# walls
|
||||
fix mesh all mesh/surface file mesh/walls.stl type 1 move 0 0 0
|
||||
fix walls all wall/gran model hertz tangential history mesh n_meshes 1 meshes mesh
|
||||
fix bottom all wall/gran model hertz tangential history primitive type 1 zplane 0
|
||||
fix top all wall/gran model hertz tangential history primitive type 1 zplane 2
|
||||
|
||||
# pair style
|
||||
pair_style gran model hertz tangential history
|
||||
pair_coeff * *
|
||||
|
||||
# timestep, gravity
|
||||
timestep 1e-5
|
||||
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||
|
||||
# particle distributions and insertion
|
||||
region bc cylinder z 0.0 0.0 0.0285 0 0.6 units box #insertion region
|
||||
include in.particleSizeDistribution
|
||||
fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0 0 0 insert_every 10000 overlapcheck yes all_in yes mass_in_region 0.87 region bc
|
||||
|
||||
# apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere
|
||||
|
||||
# screen output
|
||||
compute rke all erotate/sphere
|
||||
thermo_style custom step atoms ke c_rke vol
|
||||
thermo 1000
|
||||
|
||||
# insert the first particles so that dump is not empty
|
||||
run 1
|
||||
dump dmp all custom 1000 ../DEM/post/dump*.liggghts_init id type x y z vx vy vz fx fy fz omegax omegay omegaz radius
|
||||
|
||||
# run for some steps
|
||||
label run
|
||||
run 10000
|
||||
|
||||
# repeat until kinetic energy is below treshold
|
||||
variable kinEn equal ke
|
||||
if "${kinEn} > 0.00001" then "jump SELF run"
|
||||
|
||||
# write restart file
|
||||
write_restart post/restart/liggghts.restart
|
||||
@ -0,0 +1,55 @@
|
||||
# Pour granular particles into a cylinder, then induce flow
|
||||
log ../DEM/log.liggghts
|
||||
thermo_log ../DEM/post/thermo.txt
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary f f f
|
||||
newton off
|
||||
|
||||
units si
|
||||
processors 4 4 1
|
||||
|
||||
# read the restart file
|
||||
read_restart ../DEM/post/restart/liggghts.restart
|
||||
|
||||
neighbor 0.0005 bin #0.0003
|
||||
neigh_modify delay 0
|
||||
|
||||
# Material properties required for granular pair styles
|
||||
fix m1 all property/global youngsModulus peratomtype 5.e6
|
||||
fix m2 all property/global poissonsRatio peratomtype 0.45
|
||||
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.3
|
||||
fix m4 all property/global coefficientFriction peratomtypepair 1 0.05
|
||||
|
||||
# walls
|
||||
fix mesh all mesh/surface file ../mesh/walls.stl type 1 move 0 0 0
|
||||
fix walls all wall/gran model hertz tangential history mesh n_meshes 1 meshes mesh
|
||||
fix bottom all wall/gran model hertz tangential history primitive type 1 zplane 0
|
||||
fix top all wall/gran model hertz tangential history primitive type 1 zplane 2
|
||||
|
||||
# pair style
|
||||
pair_style gran model hertz tangential history
|
||||
pair_coeff * *
|
||||
|
||||
# timestep, gravity
|
||||
timestep 1e-5
|
||||
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||
|
||||
# cfd coupling
|
||||
fix cfd all couple/cfd couple_every 100 mpi
|
||||
fix cfd2 all couple/cfd/force/implicit
|
||||
|
||||
# apply nve integration to all particles that are inserted as single particles
|
||||
fix integr all nve/sphere
|
||||
|
||||
# screen output
|
||||
compute rke all erotate/sphere
|
||||
thermo_style custom step atoms ke c_rke vol
|
||||
thermo 10
|
||||
|
||||
dump dmp all custom 50000 ../DEM/post/dump*.liggghts_run id type x y z vx vy vz fx fy fz radius omegax omegay omegaz
|
||||
|
||||
run 1
|
||||
@ -0,0 +1,59 @@
|
||||
# Particle size distribution for LIGGGHTS
|
||||
|
||||
# normal distribution
|
||||
# mean radius = 0.000775 m
|
||||
# standard deviation = 0.000080 m
|
||||
# density = 2575 kg/m3
|
||||
|
||||
fix pts1 all particletemplate/sphere 10007 atom_type 1 density constant 2575 radius constant 0.000540
|
||||
fix pts2 all particletemplate/sphere 10009 atom_type 1 density constant 2575 radius constant 0.000549
|
||||
fix pts3 all particletemplate/sphere 10037 atom_type 1 density constant 2575 radius constant 0.000559
|
||||
fix pts4 all particletemplate/sphere 10039 atom_type 1 density constant 2575 radius constant 0.000569
|
||||
fix pts5 all particletemplate/sphere 10061 atom_type 1 density constant 2575 radius constant 0.000578
|
||||
fix pts6 all particletemplate/sphere 10067 atom_type 1 density constant 2575 radius constant 0.000588
|
||||
fix pts7 all particletemplate/sphere 10069 atom_type 1 density constant 2575 radius constant 0.000597
|
||||
fix pts8 all particletemplate/sphere 10079 atom_type 1 density constant 2575 radius constant 0.000607
|
||||
fix pts9 all particletemplate/sphere 10091 atom_type 1 density constant 2575 radius constant 0.000617
|
||||
fix pts10 all particletemplate/sphere 10093 atom_type 1 density constant 2575 radius constant 0.000626
|
||||
fix pts11 all particletemplate/sphere 10099 atom_type 1 density constant 2575 radius constant 0.000636
|
||||
fix pts12 all particletemplate/sphere 10103 atom_type 1 density constant 2575 radius constant 0.000645
|
||||
fix pts13 all particletemplate/sphere 10111 atom_type 1 density constant 2575 radius constant 0.000655
|
||||
fix pts14 all particletemplate/sphere 10133 atom_type 1 density constant 2575 radius constant 0.000665
|
||||
fix pts15 all particletemplate/sphere 10139 atom_type 1 density constant 2575 radius constant 0.000674
|
||||
fix pts16 all particletemplate/sphere 10141 atom_type 1 density constant 2575 radius constant 0.000684
|
||||
fix pts17 all particletemplate/sphere 10151 atom_type 1 density constant 2575 radius constant 0.000693
|
||||
fix pts18 all particletemplate/sphere 10159 atom_type 1 density constant 2575 radius constant 0.000703
|
||||
fix pts19 all particletemplate/sphere 10163 atom_type 1 density constant 2575 radius constant 0.000713
|
||||
fix pts20 all particletemplate/sphere 10169 atom_type 1 density constant 2575 radius constant 0.000722
|
||||
fix pts21 all particletemplate/sphere 10177 atom_type 1 density constant 2575 radius constant 0.000732
|
||||
fix pts22 all particletemplate/sphere 10181 atom_type 1 density constant 2575 radius constant 0.000741
|
||||
fix pts23 all particletemplate/sphere 10193 atom_type 1 density constant 2575 radius constant 0.000751
|
||||
fix pts24 all particletemplate/sphere 10211 atom_type 1 density constant 2575 radius constant 0.000761
|
||||
fix pts25 all particletemplate/sphere 10223 atom_type 1 density constant 2575 radius constant 0.000770
|
||||
fix pts26 all particletemplate/sphere 10243 atom_type 1 density constant 2575 radius constant 0.000780
|
||||
fix pts27 all particletemplate/sphere 10247 atom_type 1 density constant 2575 radius constant 0.000789
|
||||
fix pts28 all particletemplate/sphere 10253 atom_type 1 density constant 2575 radius constant 0.000799
|
||||
fix pts29 all particletemplate/sphere 10259 atom_type 1 density constant 2575 radius constant 0.000809
|
||||
fix pts30 all particletemplate/sphere 10267 atom_type 1 density constant 2575 radius constant 0.000818
|
||||
fix pts31 all particletemplate/sphere 10271 atom_type 1 density constant 2575 radius constant 0.000828
|
||||
fix pts32 all particletemplate/sphere 10273 atom_type 1 density constant 2575 radius constant 0.000837
|
||||
fix pts33 all particletemplate/sphere 10289 atom_type 1 density constant 2575 radius constant 0.000847
|
||||
fix pts34 all particletemplate/sphere 10301 atom_type 1 density constant 2575 radius constant 0.000857
|
||||
fix pts35 all particletemplate/sphere 10303 atom_type 1 density constant 2575 radius constant 0.000866
|
||||
fix pts36 all particletemplate/sphere 10313 atom_type 1 density constant 2575 radius constant 0.000876
|
||||
fix pts37 all particletemplate/sphere 10321 atom_type 1 density constant 2575 radius constant 0.000885
|
||||
fix pts38 all particletemplate/sphere 10331 atom_type 1 density constant 2575 radius constant 0.000895
|
||||
fix pts39 all particletemplate/sphere 10333 atom_type 1 density constant 2575 radius constant 0.000905
|
||||
fix pts40 all particletemplate/sphere 10337 atom_type 1 density constant 2575 radius constant 0.000914
|
||||
fix pts41 all particletemplate/sphere 10343 atom_type 1 density constant 2575 radius constant 0.000924
|
||||
fix pts42 all particletemplate/sphere 10357 atom_type 1 density constant 2575 radius constant 0.000933
|
||||
fix pts43 all particletemplate/sphere 10369 atom_type 1 density constant 2575 radius constant 0.000943
|
||||
fix pts44 all particletemplate/sphere 10391 atom_type 1 density constant 2575 radius constant 0.000953
|
||||
fix pts45 all particletemplate/sphere 10399 atom_type 1 density constant 2575 radius constant 0.000962
|
||||
fix pts46 all particletemplate/sphere 10427 atom_type 1 density constant 2575 radius constant 0.000972
|
||||
fix pts47 all particletemplate/sphere 10429 atom_type 1 density constant 2575 radius constant 0.000981
|
||||
fix pts48 all particletemplate/sphere 10433 atom_type 1 density constant 2575 radius constant 0.000991
|
||||
fix pts49 all particletemplate/sphere 10453 atom_type 1 density constant 2575 radius constant 0.001001
|
||||
fix pts50 all particletemplate/sphere 10457 atom_type 1 density constant 2575 radius constant 0.001010
|
||||
|
||||
fix pdd1 all particledistribution/discrete 10459 50 pts1 0.000637 pts2 0.000900 pts3 0.001254 pts4 0.001721 pts5 0.002329 pts6 0.003106 pts7 0.004084 pts8 0.005292 pts9 0.006760 pts10 0.008512 pts11 0.010564 pts12 0.012923 pts13 0.015584 pts14 0.018524 pts15 0.021703 pts16 0.025064 pts17 0.028532 pts18 0.032016 pts19 0.035412 pts20 0.038607 pts21 0.041490 pts22 0.043949 pts23 0.045890 pts24 0.047231 pts25 0.047916 pts26 0.047916 pts27 0.047231 pts28 0.045890 pts29 0.043949 pts30 0.041490 pts31 0.038607 pts32 0.035412 pts33 0.032016 pts34 0.028532 pts35 0.025064 pts36 0.021703 pts37 0.018524 pts38 0.015584 pts39 0.012923 pts40 0.010564 pts41 0.008512 pts42 0.006760 pts43 0.005292 pts44 0.004084 pts45 0.003106 pts46 0.002329 pts47 0.001721 pts48 0.001254 pts49 0.000900 pts50 0.000637
|
||||
241362
tutorials/cfdemSolverPiso/round_liquid_FB/DEM/mesh/walls.stl
Normal file
241362
tutorials/cfdemSolverPiso/round_liquid_FB/DEM/mesh/walls.stl
Normal file
File diff suppressed because it is too large
Load Diff
18
tutorials/cfdemSolverPiso/round_liquid_FB/doc/README.txt
Normal file
18
tutorials/cfdemSolverPiso/round_liquid_FB/doc/README.txt
Normal file
@ -0,0 +1,18 @@
|
||||
#===================================================================#
|
||||
# small_hearth
|
||||
# Tim MJ Nijssen - Oktober 2021
|
||||
#===================================================================#
|
||||
|
||||
This tutorial case provides a demonstration of the extended liquid-solid coupling by Nijssen et al. (2020). The case represents a liquid-solid fluidised bed pellet softening reactor, as described by Nijssen et al. (2021).
|
||||
|
||||
#===================================================================#
|
||||
|
||||
The following scripts are available in the /scripts directory:
|
||||
|
||||
- cleanCase.sh: Cleans the case directory from all previous output. Prompts the user whether to remove LIGGGHTS restart files, CFD mesh files and result directories
|
||||
- runAllPar.sh: Runs LIGGGHTS initialisation if no previous restart file is found, then performs a coupled run according to the start and end times set in CFD/system.controlDict. Afterwards, the case is reconstructed and results moved to a separate directory.
|
||||
|
||||
#===================================================================#
|
||||
|
||||
T.M.J. Nijssen, J.A.M. Kuipers, J. van der Stel, A.T. Adema, K.A. Buist. Complete liquid-solid momentum coupling for unresolved CFD-DEM simulations. International Journal of Multiphase Flow, 2020.
|
||||
T.M.J. Nijssen, O.J.I. Kramer, P.J. de Moel, J. Rahman, J.P. Kroon, P. Berhanu, E.S. Boek, K.A. Buist, J.P. van der Hoek, J.T. Padding, J.A.M. Kuipers. Experimental and numerical insights into heterogeneous liquid-solid behaviour in drinking water softening reactors. Chemical Engineering Science: X, 2021.
|
||||
46
tutorials/cfdemSolverPiso/round_liquid_FB/runSettings.sh
Normal file
46
tutorials/cfdemSolverPiso/round_liquid_FB/runSettings.sh
Normal file
@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# run settings for case
|
||||
# Tim MJ Nijssen - May 2018
|
||||
#===================================================================#
|
||||
|
||||
#- decide what run settings to use
|
||||
if [ -z "$1" ]; then
|
||||
#- ask runtype if not specified
|
||||
echo "Please specify runtype (DEM/CFDDEM):"
|
||||
read runType
|
||||
else
|
||||
#- use specified type
|
||||
runType=$1
|
||||
fi
|
||||
|
||||
#- check runType
|
||||
if [ "$runType" == DEM ] || [ "$runType" == CFDDEM ]; then
|
||||
echo "Running settings for $runType"
|
||||
else
|
||||
echo "Error: invalid runType"
|
||||
read
|
||||
fi
|
||||
|
||||
if [ "$runType" == DEM ]; then
|
||||
#- DEM run settings
|
||||
nrProcs="16"
|
||||
runTitle="DEMrun"
|
||||
headerText="$runTitle"
|
||||
logfileName="log_DEM"
|
||||
solverName="in.liggghts_init"
|
||||
machineFileName="none" # yourMachinefileName | none
|
||||
debugMode="off"
|
||||
fi
|
||||
|
||||
if [ "$runType" == CFDDEM ]; then
|
||||
#- CFDDEM run settings
|
||||
nrProcs="16"
|
||||
headerText="$runTitle"
|
||||
logfileName="log_CFDDEM"
|
||||
solverName="cfdemSolverPiso"
|
||||
machineFileName="none" # yourMachinefileName | none
|
||||
debugMode="off" # on | off| strict
|
||||
testHarnessPath="$CFDEM_TEST_HARNESS_PATH"
|
||||
fi
|
||||
@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# construct mesh
|
||||
#===================================================================#
|
||||
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- run settings file
|
||||
scriptPath="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
. $scriptPath/scriptSettings.sh $1
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
cd $casePath/CFD
|
||||
|
||||
# blockmesh
|
||||
if [ -f "$casePath/CFD/constant/polyMesh/blockMeshDict" ]; then
|
||||
echo "Meshing with blockMesh"
|
||||
blockMesh
|
||||
fi
|
||||
# snappyhexmesh
|
||||
if [ -f "$casePath/CFD/system/snappyHexMeshDict" ]; then
|
||||
echo "Meshing with snappyHexMesh"
|
||||
surfaceFeatureExtract
|
||||
decomposePar
|
||||
mpirun -np $nrProcs snappyHexMesh -overwrite -parallel
|
||||
reconstructParMesh -constant -mergeTol 1e-6
|
||||
rm -r processor*
|
||||
fi
|
||||
|
||||
# UNV to foam
|
||||
if ls $casePath/CFD/constant/polyMesh/*.unv 1> /dev/null 2>&1; then
|
||||
echo "Meshing with ideasUnvToFoam"
|
||||
ideasUnvToFoam $casePath/CFD/constant/polyMesh/*.unv
|
||||
fi
|
||||
|
||||
cd $currentPath
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
101
tutorials/cfdemSolverPiso/round_liquid_FB/scripts/cleanCase.sh
Executable file
101
tutorials/cfdemSolverPiso/round_liquid_FB/scripts/cleanCase.sh
Executable file
@ -0,0 +1,101 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# clean script for case
|
||||
# Tim MJ Nijssen - September 2021
|
||||
# Based on: Christoph Goniva - Feb. 2011
|
||||
#===================================================================#
|
||||
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- run settings file
|
||||
scriptPath="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
. $scriptPath/scriptSettings.sh $1
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
#- clean up case
|
||||
rm -r $casePath/*~
|
||||
rm -r $casePath/#*#
|
||||
rm -r $casePath/DEM/*~
|
||||
rm -r $casePath/DEM/#*#
|
||||
rm -r $casePath/CFD/*~
|
||||
rm -r $casePath/CFD/#*#
|
||||
rm -r $casePath/*.e*
|
||||
rm -r $casePath/*.o*
|
||||
|
||||
rm -r $casePath/log*
|
||||
|
||||
rm -r $casePath/CFD/0*
|
||||
rm -r $casePath/CFD/1*
|
||||
rm -r $casePath/CFD/2*
|
||||
rm -r $casePath/CFD/3*
|
||||
rm -r $casePath/CFD/4*
|
||||
rm -r $casePath/CFD/5*
|
||||
rm -r $casePath/CFD/6*
|
||||
rm -r $casePath/CFD/7*
|
||||
rm -r $casePath/CFD/8*
|
||||
rm -r $casePath/CFD/9*
|
||||
|
||||
rm -r $casePath/CFD/log*
|
||||
|
||||
rm -r $casePath/CFD/org.0/*~
|
||||
rm -r $casePath/CFD/constant/*~
|
||||
rm -r $casePath/CFD/system/*~
|
||||
rm -r $casePath/DEM/*~
|
||||
|
||||
rm -r $casePath/CFD/processor*
|
||||
rm -r $casePath/CFD/clockData
|
||||
rm -r $casePath/CFD/VTK
|
||||
rm -r $casePath/CFD/particleProbes
|
||||
rm -r $casePath/CFD/postProcessing
|
||||
|
||||
rm -r $casePath/DEM/log*
|
||||
rm -r $casePath/DEM/post/dump*
|
||||
rm -r $casePath/DEM/post/*.vtk
|
||||
rm -r $casePath/DEM/post/*.txt
|
||||
|
||||
#- liggghts restart
|
||||
if [ -f "$casePath/DEM/post/restart/liggghts.restart" ]; then
|
||||
echo -n "Clean LIGGGHTS restart file(s)? (y/N)? "
|
||||
read -t 10 answer
|
||||
if echo "$answer" | grep -iq "^y" ;then
|
||||
rm -r $casePath/DEM/post/restart/*
|
||||
fi
|
||||
fi
|
||||
|
||||
#- CFD mesh
|
||||
if [ -f "$casePath/CFD/constant/polyMesh/points" ]; then
|
||||
echo -n "Clean CFD mesh? (y/N)? "
|
||||
read -t 10 answer
|
||||
if echo "$answer" | grep -iq "^y" ;then
|
||||
|
||||
rm -r $casePath/CFD/constant/extendedFeatureEdgeMesh
|
||||
rm $casePath/CFD/constant/triSurface/*.eMesh
|
||||
rm $casePath/CFD/constant/polyMesh/boundary
|
||||
rm $casePath/CFD/constant/polyMesh/faces
|
||||
rm $casePath/CFD/constant/polyMesh/neighbour
|
||||
rm $casePath/CFD/constant/polyMesh/owner
|
||||
rm $casePath/CFD/constant/polyMesh/points
|
||||
fi
|
||||
fi
|
||||
|
||||
#- results
|
||||
if ls $casePath/results* 1> /dev/null 2>&1; then
|
||||
echo -n "Clean results? (y/N)? "
|
||||
read -t 10 answer
|
||||
if echo "$answer" | grep -iq "^y" ;then
|
||||
rm -r $casePath/results*
|
||||
fi
|
||||
fi
|
||||
|
||||
#- function objects
|
||||
if [ -d "$casePath/CFD/dynamicCode" ]; then
|
||||
echo -n "Clean dynamicCode? (y/N)? "
|
||||
read -t 10 answer
|
||||
if echo "$answer" | grep -iq "^y" ;then
|
||||
rm -r $casePath/CFD/dynamicCode
|
||||
fi
|
||||
fi
|
||||
|
||||
cd $currentPath
|
||||
|
||||
|
||||
77
tutorials/cfdemSolverPiso/round_liquid_FB/scripts/postRunAllPar.sh
Executable file
77
tutorials/cfdemSolverPiso/round_liquid_FB/scripts/postRunAllPar.sh
Executable file
@ -0,0 +1,77 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# post-run script for case
|
||||
# Tim MJ Nijssen - September 2021
|
||||
#===================================================================#
|
||||
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- run settings file
|
||||
scriptPath="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
. $scriptPath/scriptSettings.sh $1
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
#- make results directories
|
||||
dateTime=$(date +%y%m%d_%H%M%S)
|
||||
resultsPath="$casePath"/results_"$runTitle"_"$dateTime"
|
||||
mkdir $resultsPath
|
||||
mkdir $resultsPath/DEM
|
||||
mkdir $resultsPath/DEM/dump_run
|
||||
mkdir $resultsPath/CFD
|
||||
mkdir $resultsPath/log
|
||||
mkdir $resultsPath/VTK
|
||||
|
||||
#- reconstruct and convert CFD data
|
||||
cd $casePath/CFD
|
||||
reconstructPar -noLagrangian
|
||||
foamToVTK
|
||||
|
||||
#- move CFD files
|
||||
mv $casePath/CFD/0* $resultsPath/CFD/
|
||||
mv $casePath/CFD/1* $resultsPath/CFD/
|
||||
mv $casePath/CFD/2* $resultsPath/CFD/
|
||||
mv $casePath/CFD/3* $resultsPath/CFD/
|
||||
mv $casePath/CFD/4* $resultsPath/CFD/
|
||||
mv $casePath/CFD/5* $resultsPath/CFD/
|
||||
mv $casePath/CFD/6* $resultsPath/CFD/
|
||||
mv $casePath/CFD/7* $resultsPath/CFD/
|
||||
mv $casePath/CFD/8* $resultsPath/CFD/
|
||||
mv $casePath/CFD/9* $resultsPath/CFD/
|
||||
mv $casePath/CFD/particleProbes* $resultsPath/CFD/
|
||||
mv $casePath/CFD/postProcessing* $resultsPath/CFD/
|
||||
mv $casePath/CFD/dynamicCode* $resultsPath/CFD/
|
||||
|
||||
mv $casePath/CFD/VTK/CFD* $resultsPath/VTK/
|
||||
|
||||
cp -r $casePath/CFD/org* $resultsPath/CFD/
|
||||
cp -r $casePath/CFD/constant $resultsPath/CFD/
|
||||
cp -r $casePath/CFD/system $resultsPath/CFD/
|
||||
cp -r $casePath/CFD/clockData $resultsPath/CFD/
|
||||
|
||||
#- copy DEM data
|
||||
cp $casePath/DEM/* $resultsPath/DEM/
|
||||
cp -r $casePath/DEM/mesh $resultsPath/DEM/
|
||||
|
||||
#- move and convert DEM init files
|
||||
if ls $casePath/DEM/post/*init* 1> /dev/null 2>&1; then
|
||||
mkdir $resultsPath/DEM/dump_init
|
||||
mv $casePath/DEM/post/*init* $resultsPath/DEM/dump_init/
|
||||
|
||||
cd $resultsPath/DEM/dump_init
|
||||
python2 $CFDEM_LPP_DIR/lpp.py dump*
|
||||
mv $resultsPath/DEM/dump_init/*.vtk $resultsPath/VTK/
|
||||
fi
|
||||
|
||||
#- move and convert DEM run files
|
||||
mv $casePath/DEM/post/*run* $resultsPath/DEM/dump_run/
|
||||
|
||||
cd $resultsPath/DEM/dump_run
|
||||
python2 $CFDEM_LPP_DIR/lpp.py dump*
|
||||
mv $resultsPath/DEM/dump_run/*.vtk $resultsPath/VTK/
|
||||
|
||||
#- copy log files
|
||||
cp $casePath/log/* $resultsPath/log/
|
||||
mv $casePath/slurm* $resultsPath/log/
|
||||
|
||||
#- return to path
|
||||
cd $currentPath
|
||||
@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# all tasks before actual CFD-DEM run
|
||||
# Tim MJ Nijssen - September 2021
|
||||
# based on: Christoph Goniva - August 2011
|
||||
#===================================================================#
|
||||
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- run settings file
|
||||
scriptPath="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
. $scriptPath/scriptSettings.sh $1
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
runTitle=$(basename "$casePath")
|
||||
#- prompt for costum title
|
||||
echo -n "Add custom simulation title? (y/N)?"
|
||||
read -t 10 answer
|
||||
if echo "$answer" | grep -iq "^y" ;then
|
||||
echo -n "Enter simulation title:"
|
||||
read runTitle
|
||||
fi
|
||||
|
||||
#- run DEM init
|
||||
if [ -f "$casePath/DEM/in.liggghts_init" ]; then
|
||||
if [ -f "$casePath/DEM/post/restart/liggghts.restart" ]; then
|
||||
echo "preRunAllPar: Using existing restart file"
|
||||
else
|
||||
echo "preRunAllPar: Running DEM init"
|
||||
. $scriptPath/runDEMPar.sh $casePath
|
||||
fi
|
||||
fi
|
||||
|
||||
#- copy 0.org
|
||||
echo "preRunAllPar: Copying 0.org"
|
||||
cp -r $casePath/CFD/org.0 $casePath/CFD/0
|
||||
|
||||
#- mesh
|
||||
if [ -f "$casePath/CFD/constant/polyMesh/points" ]; then
|
||||
echo "preRunAllPar: using old mesh"
|
||||
else
|
||||
echo "preRunAllPar: Building mesh"
|
||||
. $scriptPath/buildMesh.sh $casePath > $logPath/log.mesh
|
||||
fi
|
||||
|
||||
#- set fields
|
||||
if [ -f "$casePath/CFD/system/setFieldsDict" ]; then
|
||||
echo "preRunAllPar: Setting fields"
|
||||
cd $casePath/CFD
|
||||
setFields
|
||||
fi
|
||||
|
||||
#- decompose
|
||||
echo "preRunAllPar: Decomposing"
|
||||
cd $casePath/CFD
|
||||
decomposePar
|
||||
cd $currentPath
|
||||
26
tutorials/cfdemSolverPiso/round_liquid_FB/scripts/runAllPar.sh
Executable file
26
tutorials/cfdemSolverPiso/round_liquid_FB/scripts/runAllPar.sh
Executable file
@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# allrun script
|
||||
# Tim MJ Nijssen - September 2021
|
||||
# based on: Christoph Goniva - August 2011
|
||||
#===================================================================#
|
||||
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- run settings file
|
||||
scriptPath="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
. $scriptPath/scriptSettings.sh $1
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
#- do all tasks before actual run
|
||||
echo "runAllPar: calling preRunAllPar"
|
||||
. $scriptPath/preRunAllPar.sh $casePath
|
||||
|
||||
#- run parallel CFD-DEM
|
||||
echo "runAllPar: Running CFD-DEM"
|
||||
. $scriptPath/runCFDDEMPar.sh $casePath
|
||||
|
||||
#- do all tasks after actual run
|
||||
echo "runAllPar: calling postRunAllPar"
|
||||
. $scriptPath/postRunAllPar.sh $casePath
|
||||
|
||||
@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# CFDDEMrun script for case
|
||||
# Tim MJ Nijssen - September 2021
|
||||
# based on: Christoph Goniva - May. 2011
|
||||
#===================================================================#
|
||||
|
||||
#- include functions
|
||||
source $CFDEM_PROJECT_DIR/etc/functions.sh
|
||||
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- run settings file
|
||||
scriptPath="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
. $scriptPath/scriptSettings.sh $1
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- run case settings file
|
||||
. $casePath/runSettings.sh "CFDDEM"
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
cd $casePath/CFD
|
||||
|
||||
if [ $debugMode == "on" ]; then
|
||||
debugMode="valgrind"
|
||||
elif [ $debugMode == "strict" ]; then
|
||||
debugMode="valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes"
|
||||
else
|
||||
debugMode=""
|
||||
fi
|
||||
|
||||
#- make proc dirs visible
|
||||
count=0
|
||||
for i in `seq $nrProcs`
|
||||
do
|
||||
let count=$i-1
|
||||
(cd $casePath/CFD/processor$count && touch file.foam)
|
||||
done
|
||||
|
||||
#- header
|
||||
echo 2>&1 | tee -a /$logpath/$logfileName
|
||||
echo "// $headerText //" 2>&1 | tee -a $logpath/$logfileName
|
||||
echo 2>&1 | tee -a $logpath/$logfileName
|
||||
|
||||
#- write path
|
||||
pwd 2>&1 | tee -a $logpath/$logfileName
|
||||
echo 2>&1 | tee -a $logpath/$logfileName
|
||||
|
||||
#- run applictaion
|
||||
if [[ $machineFileName == "none" ]]; then
|
||||
mpirun -np $nrProcs $debugMode $solverName -parallel 2>&1 | tee -a $logpath/$logfileName
|
||||
else
|
||||
mpirun -machinefile $machineFileName -np $nrProcs $debugMode $solverName -parallel 2>&1 | tee -a $logpath/$logfileName
|
||||
fi
|
||||
|
||||
#- return
|
||||
cd $currentPath
|
||||
27
tutorials/cfdemSolverPiso/round_liquid_FB/scripts/runDEMPar.sh
Executable file
27
tutorials/cfdemSolverPiso/round_liquid_FB/scripts/runDEMPar.sh
Executable file
@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# DEMrun script for case (init)
|
||||
# Tim MJ Nijssen - September 2021
|
||||
# based on: Daniel Queteschiner - June 2014
|
||||
#===================================================================#
|
||||
|
||||
#- include functions
|
||||
source $CFDEM_PROJECT_DIR/etc/functions.sh
|
||||
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- run settings file
|
||||
scriptPath="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
. $scriptPath/scriptSettings.sh $1
|
||||
#--------------------------------------------------------------------------------#
|
||||
#- run case settings file
|
||||
. $casePath/runSettings.sh "DEM"
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
echo $logPath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode
|
||||
|
||||
#- call function to run DEM case
|
||||
parDEMrun $logPath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode
|
||||
|
||||
#- return
|
||||
cd $currentPath
|
||||
@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
#===================================================================#
|
||||
# sets variables for CFDEM utility scripts
|
||||
# Tim MJ Nijssen - September 2021
|
||||
#===================================================================#
|
||||
|
||||
#- casepath
|
||||
|
||||
currentPath=$(pwd)
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
#- parent directory if no other path is specified
|
||||
casePath="$(dirname "$scriptPath")"
|
||||
else
|
||||
#- read input
|
||||
casePath="$(dirname "$(readlink -f $1)/.")"
|
||||
fi
|
||||
|
||||
#- other paths
|
||||
logPath=$casePath/log
|
||||
mkdir $logPath
|
||||
|
||||
Reference in New Issue
Block a user