release on 2014-05-13_08-58-58

This commit is contained in:
goniva
2014-05-13 08:58:58 +02:00
parent 898544fd82
commit dd31a87772
82 changed files with 970 additions and 590 deletions

View File

@ -51,29 +51,12 @@ boundaryField
value uniform (0 0 0);*/
// 2.1.x
//type uniformFixedValue;
type uniformFixedValueVoidfraction;
uniformValue table
(
(0.000 (0 0 0.002))
(0.020 (0 0 0.002))
(0.021 (0 0 0.004))
(0.040 (0 0 0.004))
(0.041 (0 0 0.006))
(0.060 (0 0 0.006))
(0.061 (0 0 0.008))
(0.080 (0 0 0.008))
(0.081 (0 0 0.010))
(0.100 (0 0 0.010))
(0.101 (0 0 0.012))
(0.120 (0 0 0.012))
(0.121 (0 0 0.014))
(0.140 (0 0 0.014))
(0.141 (0 0 0.016))
(0.160 (0 0 0.016))
(0.161 (0 0 0.018))
(0.180 (0 0 0.018))
(0.181 (0 0 0.020))
(0.200 (0 0 0.020))
(0.100 (0 0 0.030))
);
}

View File

@ -35,8 +35,9 @@ boundaryField
outlet
{
//type zeroGradient;
type fixedValue;
value uniform 100000;
value uniform 1.0e5;
}
}

View File

@ -16,7 +16,7 @@ FoamFile
dimensions [1 -3 0 0 0 0 0];
internalField uniform 30;
internalField uniform 10;
boundaryField
{

View File

@ -28,10 +28,14 @@ boundaryField
outlet
{
type zeroGradient;
//type fixedValue;
//value uniform 1;
}
inlet
{
type zeroGradient;
//type fixedValue;
//value uniform 1;
}
}

View File

@ -25,42 +25,44 @@ FoamFile
//===========================================================================//
// sub-models & settings
solveFlow true;
modelType "A"; // A or B
couplingInterval 100;
voidFractionModel divided;
voidFractionModel divided;//centre;//
locateModel engine;
locateModel engine;//turboEngineM2M;//
meshMotionModel noMeshMotion;
regionModel allRegion;
IOModel "basicIO";
IOModel basicIO;
probeModel off;
dataExchangeModel twoWayMPI;//twoWayFiles;//oneWayVTK;//
dataExchangeModel twoWayMPI;//twoWayM2M;//twoWayFiles;//oneWayVTK;//
averagingModel dense;//dilute;//
clockModel off;//standardClock;//
smoothingModel off;
smoothingModel off;// localPSizeDiffSmoothing;// constDiffSmoothing; //
forceModels
(
//GidaspowDrag
//DiFeliceDrag
KochHillDrag
//KochHillDrag
//BeetstraDrag
//noDrag
gradPForce
viscForce
GidaspowDrag
//Archimedes
//volWeightedAverage
//totalMomentumExchange
particleCellVolume
);
momCoupleModels
@ -73,6 +75,21 @@ turbulenceModelType "RASProperties";//"LESProperties";//
//===========================================================================//
// sub-model properties
localPSizeDiffSmoothingProps
{
lowerLimit 0.1;
upperLimit 1e10;
dSmoothingLength 1.5e-3;
Csmoothing 1.0;
}
constDiffSmoothingProps
{
lowerLimit 0.1;
upperLimit 1e10;
smoothingLength 1.5e-3;
}
implicitCoupleProps
{
velFieldName "U";
@ -91,7 +108,7 @@ gradPForceProps
densityFieldName "rho";
voidfractionFieldName "voidfraction";
velocityFieldName "U";
//interpolation;
interpolation;
}
viscForceProps
@ -100,6 +117,11 @@ viscForceProps
densityFieldName "rho";
interpolation;
}
noDragProps
{
//noDEMForce;
//keepCFDForce;
}
volWeightedAverageProps
{
scalarFieldNames
@ -123,22 +145,24 @@ totalMomentumExchangeProps
}
GidaspowDragProps
{
velFieldName "U";
densityFieldName "rho";
}
DiFeliceDragProps
{
verbose;
velFieldName "U";
densityFieldName "rho";
voidfractionFieldName "voidfraction";
phi 1;
//interpolation; // this case does not like interpolation
implDEM_;
}
KochHillDragProps
{
//verbose;
velFieldName "U";
densityFieldName "rho";
voidfractionFieldName "voidfraction";
//verbose;
//interpolation;
implDEM_;
verbose;
}
BeetstraDragProps
@ -162,6 +186,13 @@ virtualMassForceProps
densityFieldName "rho";
}
particleCellVolumeProps
{
upperThreshold 0.999;
lowerThreshold 0.;
verbose;
}
oneWayVTKProps
{
couplingFilename "vtk_out%4.4d.vtk";
@ -175,7 +206,7 @@ twoWayFilesProps
centreProps
{
alphaMin 0.10;
alphaMin 0.1;
}
engineProps
@ -185,7 +216,7 @@ engineProps
dividedProps
{
alphaMin 0.1;
alphaMin 0.05;
scaleUpVol 1.0;
}

View File

@ -5,7 +5,7 @@ clc;
%====================================%
% simulation data 1
%====================================%
rhoG = 30 % density in kg/m3
rhoG = 10 % density in kg/m3
%path = '../probes/0/p';
path = '../postProcessing/probes/0/p';
columns=22;
@ -13,7 +13,7 @@ headerlines=4;
data = loaddata(path,columns,headerlines);
data=transpose(data);
[x,y]=size(data)
dp_sim = (data(:,2)-data(:,y))*rhoG;
dp_sim = (data(:,2)-data(:,y))*rhoG; %conversion to Pa!
t_sim = data(:,1);
%fprintf('final pressureDrop of sim = %f Pa\n',dp_sim(length(dp_sim)) )
@ -25,18 +25,18 @@ t_sim = data(:,1);
% Ergun Equation
%===================
fprintf('\ncalc Ergun eqn:\n')
dp = 0.0008 % particle diameter
dp = 0.0005 % particle diameter
phip = 1 % sphericity
epsilon = 0.451335 % void fraction
epsilon = 1-0.518497 % void fraction NOTE: varies with voidfraction!!!
Ustart = 0.002
Uend = 0.02
Uend = 0.03
timeStepSize = 0.001; % time interval of pressure data
Tstart = 0;
Tend = t_sim(length(t_sim));
deltaU=(Uend-Ustart)/((Tend-Tstart)/timeStepSize);
U = Ustart+deltaU:deltaU:Uend; % velocity over time
Ua = U / epsilon; % physical velocity
L = 0.0156 % length of bed
L = 0.0135 % length of bed
nuG = 1.5*10^-4 % kinemat Visk in m2/s
muG = nuG*rhoG % dynam visc in Pa s
@ -55,14 +55,31 @@ fprintf('so the result does not depend on density\n')
%==================================
rhoP = 7000 % particle density in kg/m3
g = 9.81 % gravity m/s2
% WARNING!!!
% these equations can give wrong results if applied to the wrong regime!!!
Umf = dp^2*(rhoP-rhoG)*g/(150*muG)*(epsilon^3*phip^2)/(1-epsilon)
ReMF = Umf*dp*rhoG/muG % must be <20 !!!
%Umf = sqrt(phip*dp^2/1.75*(rhoP-rhoG)/rhoG*g*epsilon^3) % Re>1000
ReMF = Umf*dp*rhoG/muG
#Umf = sqrt(dp*(rhoP-rhoG)*g/(1.75*rhoG)*epsilon^3*phip)
#ReMF = Umf*dp*rhoG/muG
if(ReMF<20)
fprintf('applying eqn1 for Umf.\n')
elseif(ReMF>20 && ReMF<1000)
fprintf('applying eqn1 for Umf.\n')
elseif (ReMF>=1000)
fprintf('applying eqn2 for Umf.\n')
Umf = sqrt(dp*(rhoP-rhoG)*g/(1.75*rhoG)*epsilon^3*phip);
ReMF = Umf*dp*rhoG/muG;
end
dpUmf= L * (
150*((1-epsilon)^2/epsilon^3)*((muG.*Umf)/(phip*dp)^2)
+1.75*((1-epsilon)/epsilon^3)*((rhoG.*Umf.^2)/(phip*dp))
);
)
dpUmf=(L*(1-epsilon)*(rhoP-rhoG)*g)
%====================================%
% plot data
@ -80,7 +97,7 @@ figure(1)
plot(U,dpErgun,U,dp_sim,[Umf,Uend],dpUmf*ones(1,2))
title("Ergun pressure drop vs. simulation")
a=strcat("analytical (Ergun), Umf=",num2str(Umf),", dpUmf=",num2str(dpUmf));
legend(a,"simulation")
legend(a,"simulation","analyt. deltaP at Umf")
xlabel("velocity in [m/s]")
ylabel("pressure drop [Pa]")
axis([0,Uend,0,dpErgun(length(dpErgun))])

View File

@ -23,13 +23,13 @@ startTime 0;
stopAt endTime;
endTime 0.2;//0.01;
endTime 0.1;
deltaT 0.001;
writeControl adjustableRunTime;
writeInterval 0.005;//0.01;
writeInterval 0.01;
purgeWrite 0;
@ -54,6 +54,7 @@ libs ( "libfiniteVolumeCFDEM.so" );
functions
(
probes
{
type probes;
@ -87,7 +88,7 @@ functions
);
// Fields to be probed
fields ( p U voidfraction volAverage_voidfraction);
fields ( p U voidfraction volAverage_voidfraction voidfractionNext voidfractionPrev);
// Write at same frequency as fields
outputControl timeStep;//outputTime;

View File

@ -30,7 +30,7 @@ numberOfSubdomains 4;
simpleCoeffs
{
n (1 2 2);
n (2 2 1);
delta 0.001;
}

View File

@ -17,7 +17,7 @@ FoamFile
solvers
{
p
"(p)"
{
solver PCG;
preconditioner DIC;
@ -33,7 +33,7 @@ solvers
relTol 0;
}
U
"(U|k|epsilon|R|nuTilda)"
{
solver PBiCG;
preconditioner DILU;
@ -41,34 +41,10 @@ solvers
relTol 0;
}
k
"(voidfraction|Us|Ksl|dSmoothing)"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0;
}
epsilon
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0;
}
R
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0;
}
nuTilda
{
solver PBiCG;
preconditioner DILU;
solver PCG;
preconditioner DIC;
tolerance 1e-05;
relTol 0;
}

View File

@ -7,9 +7,9 @@ echo both
#######################################################
# variables #
#######################################################
variable cg equal 2
variable r0 equal 0.0004
variable nPorg equal 19531
variable cg equal 1
variable r0 equal 0.00025
variable nPorg equal 71000
variable nPscal equal ${nPorg}/(${cg}*${cg}*${cg})
#######################################################
@ -22,6 +22,7 @@ boundary m m m
newton off
units si
processors 2 2 1
region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
create_box 1 reg
@ -36,24 +37,23 @@ 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.5
fix m5 all property/global characteristicVelocity scalar 1.
#pair style
pair_style gran model hooke tangential history
pair_style gran model hertz tangential history #Hertzian without cohesion
pair_coeff * *
#timestep, gravity
timestep 0.000005
timestep 0.00001
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
#walls
fix zwalls1 all wall/gran model hooke tangential history primitive type 1 zplane 0.0
fix zwalls2 all wall/gran model hooke tangential history primitive type 1 zplane 0.0553
fix cylwalls all wall/gran model hooke tangential history primitive type 1 zcylinder 0.01385 0. 0.
fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.0553
fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.01385 0. 0.
#particle distributions and insertion
region bc cylinder z 0.0 0.0 0.012 0. 0.055 units box
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 200 radius constant ${r0}
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 7000 radius constant ${r0}
fix pdd1 all particledistribution/discrete 1. 1 pts1 1.0
fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. -1. insert_every once overlapcheck yes all_in yes particles_in_region ${nPscal} region bc

View File

@ -7,9 +7,9 @@ echo both
#######################################################
# variables #
#######################################################
variable cg equal 2
variable r0 equal 0.0004
variable nPorg equal 19531
variable cg equal 3
variable r0 equal 0.00025
variable nPorg equal 71000
variable nPscal equal ${nPorg}/(${cg}*${cg}*${cg})
#######################################################
@ -22,28 +22,24 @@ boundary m m m
newton off
units si
processors 1 2 2
processors 2 2 1
#read the restart file
read_restart ../DEM/liggghts.restart_coarseGraining_${cg}
#do not do this here, the simulation box is in the restart file!
#region reg block -0.015 0.015 -0.015 0.015 -0.001 0.0554 units box
#create_box 1 reg
neighbor 0.0005 bin
neighbor 0.001 bin
neigh_modify delay 0
#Material properties required for new 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.5
fix m5 all property/global characteristicVelocity scalar 1.
#pair style
pair_style gran model hooke tangential history #Hertzian without cohesion
pair_style gran model hertz tangential history #Hertzian without cohesion
pair_coeff * *
#timestep, gravity
@ -51,16 +47,14 @@ timestep 0.00001
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
#walls
fix zwalls1 all wall/gran model hooke tangential history primitive type 1 zplane 0.0
fix zwalls2 all wall/gran model hooke tangential history primitive type 1 zplane 0.0553
fix cylwalls all wall/gran model hooke tangential history primitive type 1 zcylinder 0.01385 0. 0.
fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.0553
fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.01385 0. 0.
# change the particles density
set group all density 7000
#cfd coupling
fix cfd all couple/cfd couple_every 100 mpi
fix cfd2 all couple/cfd/force
fix cfd2 all couple/cfd/force #/implicit
#apply nve integration to all particles that are inserted as single particles
fix integr all nve/sphere
@ -69,11 +63,11 @@ fix integr all nve/sphere
compute centerOfMass all com
#compute total dragforce
compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
#compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
#screen output
compute 1 all erotate/sphere
thermo_style custom step atoms ke c_1 vol c_centerOfMass[3] c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
thermo_style custom step atoms ke c_1 vol c_centerOfMass[3] #c_dragtotal[1] c_dragtotal[2] c_dragtotal[3]
thermo 10
thermo_modify lost ignore norm no
compute_modify thermo_temp dynamic yes
@ -81,7 +75,7 @@ compute_modify thermo_temp dynamic yes
#insert the first particles so that dump is not empty
dump myDump all stl 1 post/dump_*.stl
#run 1
dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
dump dmp all custom 1000 ../DEM/post/dump*.liggghts_restart id type type x y z vx vy vz fx fy fz radius #f_dragforce[1] f_dragforce[2] f_dragforce[3]
undump myDump
run 1

View File

@ -1 +0,0 @@
dummyfile

View File

@ -21,7 +21,7 @@ logfileName="log_$headerText"
solverName="cfdemSolverPiso"
nrProcs="4"
machineFileName="none" # yourMachinefileName | none
debugMode="off" # on | off | strict
debugMode="off" # on | off| strict
testHarnessPath="$CFDEM_TEST_HARNESS_PATH"
runOctave="true"
postproc="false"
@ -82,21 +82,10 @@ fi
#- clean up case
echo "deleting data at: $casePath :\n"
rm -r $casePath/CFD/0.*
rm -r $casePath/CFD/log.*
rm -r $casePath/CFD/octave/octave-core
rm -r $casePath/CFD/VTK
rm -r $casePath/CFD/processor*
rm -r $casePath/CFD/couplingFiles/*
rm -r $casePath/DEM/post/*
rm -r $casePath/DEM/log.*
rm -r $casePath/DEM/liggghts.restartCFDEM*
rm -r $casePath/CFD/probes*
rm -r $casePath/CFD/postProcessing
rm -r $casePath/CFD/particles
rm -r $casePath/CFD/lagrangian
source $WM_PROJECT_DIR/bin/tools/CleanFunctions
cd $casePath/CFD
cleanCase
rm -r $casePath/CFD/clockData
rm -r $casePath/DEM/post/*
(cd $casePath/DEM/post && touch dummy)
echo "done"
#- preserve post directory
echo "dummyfile" >> $casePath/DEM/post/dummy

View File

@ -55,24 +55,6 @@ boundaryField
uniformValue table
(
(0.000 (0 0 0.002))
/*(0.010 (0 0 0.002))
(0.011 (0 0 0.004))
(0.020 (0 0 0.004))
(0.021 (0 0 0.006))
(0.030 (0 0 0.006))
(0.031 (0 0 0.008))
(0.040 (0 0 0.008))
(0.041 (0 0 0.010))
(0.050 (0 0 0.010))
(0.051 (0 0 0.012))
(0.060 (0 0 0.012))
(0.061 (0 0 0.014))
(0.070 (0 0 0.014))
(0.071 (0 0 0.016))
(0.080 (0 0 0.016))
(0.081 (0 0 0.018))
(0.090 (0 0 0.018))
(0.091 (0 0 0.020))*/
(0.100 (0 0 0.020))
);
}

View File

@ -62,6 +62,7 @@ forceModels
//volWeightedAverage
//totalMomentumExchange
//particleCellVolume
//fieldTimeAverage
);
momCoupleModels
@ -107,7 +108,7 @@ gradPForceProps
densityFieldName "rho";
voidfractionFieldName "voidfraction";
velocityFieldName "U";
//interpolation;
interpolation;
}
viscForceProps
@ -143,6 +144,7 @@ GidaspowDragProps
velFieldName "U";
densityFieldName "rho";
voidfractionFieldName "voidfraction";
interpolation;
phi 1;
}
DiFeliceDragProps
@ -158,6 +160,7 @@ KochHillDragProps
velFieldName "U";
densityFieldName "rho";
voidfractionFieldName "voidfraction";
interpolation;
}
BeetstraDragProps
@ -201,7 +204,7 @@ twoWayFilesProps
centreProps
{
alphaMin 0.10;
alphaMin 0.1;
}
engineProps

View File

@ -25,7 +25,7 @@ FoamFile
liggghtsCommandModels
(
runLiggghts
runLiggghts
);
// ************************************************************************* //

View File

@ -30,7 +30,7 @@ phip = 1 % sphericity
epsilon = 0.451335 % void fraction
Ustart = 0.002
Uend = 0.02
timeStepSize = 0.001; % time interval of pressure data
timeStepSize = 0.0005; % time interval of pressure data
Tstart = 0;
Tend = t_sim(length(t_sim));
deltaU=(Uend-Ustart)/((Tend-Tstart)/timeStepSize);

View File

@ -25,7 +25,7 @@ stopAt endTime;
endTime 0.1;
deltaT 0.001;
deltaT 0.0005;
writeControl adjustableRunTime;

View File

@ -41,7 +41,7 @@ solvers
relTol 0;
}
"(voidfraction|Us|Ksl|dSmoothing)"
"(voidfraction|Us|Ksl|dSmoothing|UsNext|voidfractionNext)"
{
solver PCG;
preconditioner DIC;

View File

@ -65,7 +65,7 @@ compute_modify thermo_temp dynamic yes
#insert the first particles so that dump is not empty
dump myDump all stl 1 post/dump_*.stl
#run 1
dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
dump dmp all custom 5000 ../DEM/post/dump*.liggghts_restart id type type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
undump myDump
run 1

View File

@ -130,6 +130,7 @@ DiFeliceDragProps
velFieldName "U";
densityFieldName "rho";
voidfractionFieldName "voidfraction";
granVelFieldName "Us";
}
KochHillDragProps

View File

@ -93,6 +93,8 @@ DiFeliceDragProps
velFieldName "U";
densityFieldName "rho";
voidfractionFieldName "voidfraction";
granVelFieldName "Us";
verbose;
}
SchillerNaumannDragProps

View File

@ -33,7 +33,7 @@ solvers
relTol 0;
}
U
"(U|k|epsilon|R|nuTilda)"
{
solver PBiCG;
preconditioner DILU;
@ -41,55 +41,13 @@ solvers
relTol 0;
}
k
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0;
}
epsilon
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0;
}
R
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0;
}
nuTilda
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0;
}
voidfraction
"(voidfraction|Ksl|UsNext|voidfractionNext)"
{
solver PCG;
preconditioner DIC;
tolerance 1e-09;
relTol 1e-06;
}
Ksl
{
$voidfraction
}
Us
{
$voidfraction
}
}
PISO