update case and decrease rhoMin

Case working fully with chemistry/diffusion/massTransfer terms
This commit is contained in:
ekinaci
2017-07-18 15:31:09 +02:00
parent a1c47377fd
commit 7320c1f5cf
17 changed files with 104 additions and 256 deletions

View File

@ -16,7 +16,7 @@ FoamFile
dimensions [1 -3 0 0 0 0 0];
internalField uniform 1.14; // density of CO
internalField uniform 1.25;
boundaryField
{

View File

@ -20,7 +20,7 @@ chemistry off; //on;
chemistryType
{
chemistrySolver ode;
chemistryThermo psi;
chemistryThermo rho;
}
initialChemicalTimeStep 1e-07;

View File

@ -15,20 +15,18 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
combustionModel noCombustion<psiThermoCombustion>; //laminar<psiChemistryCombustion>;////noCombustion<psiThermoCombustion>;//PaSR<psiChemistryCombustion>;
combustionModel PaSR<rhoChemistryCombustion>;
active false; //true;
noCombustionCoeffs
{
{
}
/*
PaSRCoeffs
{
Cmix 1.0;
turbulentReaction on;
turbulentReaction off;
}

View File

@ -105,8 +105,7 @@ reactionHeatProps
speciesProps
{
ChemistryFile "$casePath/CFD/constant/foam.inp";
// verbose true;
// Nevery 1;
Nevery 1;
}
diffusionCoefficientsProps

View File

@ -15,7 +15,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// Sutherland coefficients not valid must be checked before real cases
// for hConst
// if instead of janaf, hConst is used
/*CO2
{
specie
@ -98,7 +98,7 @@ CO2
}
thermodynamics
{
Tlow 0;
Tlow 200;
Thigh 5000;
Tcommon 1000;
highCpCoeffs ( 3.85746 0.00441437 -2.21481e-06 5.2349e-10 -4.72084e-14 -48759.2 2.27164 );
@ -120,7 +120,7 @@ O2
}
thermodynamics
{
Tlow 0;
Tlow 200;
Thigh 5000;
Tcommon 1000;
highCpCoeffs ( 3.28254 0.00148309 -7.57967e-07 2.09471e-10 -2.16718e-14 -1088.46 5.45323 );
@ -142,7 +142,7 @@ N2
}
thermodynamics
{
Tlow 0;
Tlow 200;
Thigh 5000;
Tcommon 1000;
highCpCoeffs ( 2.92664 0.00148798 -5.68476e-07 1.0097e-10 -6.75335e-15 -922.798 5.98053 );
@ -165,7 +165,7 @@ CO
}
thermodynamics
{
Tlow 0;
Tlow 200;
Thigh 5000;
Tcommon 1000;
highCpCoeffs ( 2.71518 0.00206252 -9.98825E-07 2.30053E-10 -2.03647E-14 -14151.8724 7.81868 );

View File

@ -8,7 +8,6 @@ species
reactions
{
}

View File

@ -26,7 +26,7 @@ FoamFile
liggghtsCommandModels
(
runLiggghts
// writeLiggghts
writeLiggghts
);
// ************************************************************************* //
@ -35,9 +35,9 @@ liggghtsCommandModels
preNo false;
}*/
/* writeLiggghtsProps
writeLiggghtsProps
{
writeLast off;
writeName "post/restart/liggghts.restartCFDEM";
overwrite on;
} */
}

View File

@ -31,7 +31,7 @@ vertices
blocks
(
hex (0 1 2 3 4 5 6 7)(13 4 4) simpleGrading (1 1 1)
hex (0 1 2 3 4 5 6 7)(29 9 9) simpleGrading (1 1 1)
);

View File

@ -17,25 +17,22 @@ FoamFile
thermoType
{
type hePsiThermo; //covers compressible and lagrangian solvers
mixture reactingMixture; //species and reactions are listed in chemistry file
//transport const; // assumes constant viscosity and Prandtl number
transport sutherland; //calcualtes viscosity as a function of temperature from Stuherland coefficient As and Ts
thermo janaf; //hConst; //janaf;
energy sensibleEnthalpy; //uses enthaly in the solution
//equationOfState rhoConst; // rho = const.
equationOfState perfectGas; // rho = 1/RT*p
specie specie;
type heRhoThermo;
mixture reactingMixture; //species and reactions are listed in chemistry file
transport sutherland; //calcualtes viscosity as a function of temperature from Stuherland coefficient As and Ts
thermo janaf;
energy sensibleEnthalpy; //uses enthaly in the solution
equationOfState perfectGas;
specie specie;
}
chemistryReader foamChemistryReader;
foamChemistryThermoFile "$casePath/CFD/constant/foam.dat" ;// "$casePath/CFD/constant/foam.dat";
foamChemistryThermoFile "$casePath/CFD/constant/foam.dat";
foamChemistryFile "$casePath/CFD/constant/foam.inp";
inertSpecie N2; //CO2;
inertSpecie N2;
/*liquids
{
H2O

View File

@ -23,19 +23,19 @@ startTime 0;
stopAt endTime;
endTime 4000;
endTime 5.0;
deltaT 0.1;
deltaT 0.0001;
writeControl adjustableRunTime; //runTime;//// timeStep; //
writeControl timeStep;
writeInterval 100;
writeInterval 1000;
purgeWrite 0;
writeFormat ascii;
writePrecision 6; //10
writePrecision 10;
writeCompression off;
@ -49,200 +49,68 @@ adjustTimeStep no;
maxCo 0.5;
//maxDeltaT 0.1;
maxDeltaT 0.1;
// ************************************************************************* //
/* libs (
"libsimpleFunctionObjects.so"
libs (
"libfieldFunctionObjects.so"
);
functions
{
Average-O2
{
moleFrac
{
type fieldAverage;
functionObjectLibs ( "libfieldFunctionObjects.so" );
enabled true;
outputControl outputTime; //timeStep; //
//outputInterval 0.50;
log true;
restartOnRestart false;
restartOnOutput false;
fields
(
O2
{
mean on;
prime2Mean on;
base time;
}
);
type rhoReactionThermoMoleFractions;
}
species_O2 // Name also used to identify output folder
{
type cellSource;
functionObjectLibs ("libfieldValueFunctionObjects.so");
enabled true;
outputControl timeStep;//outputTime;
outputInterval 1,
log true;
valueOutput false; //true;
source all; // Type of cell source or all for the full domain
sourceName O2;
operation weightedAverage; // volAverage; //volIntegrate; //weightedAverage; //none //sum;
fields
(
O2
);
}
Average-CO2
{
type fieldAverage;
functionObjectLibs ( "libfieldFunctionObjects.so" );
enabled true;
outputControl outputTime; //timeStep; //
//outputInterval 0.50;
log true;
restartOnRestart false;
restartOnOutput false;
fields
(
CO2
{
mean on;
prime2Mean on;
base time;
}
);
}
species_CO2 // Name also used to identify output folder
{
type cellSource;
functionObjectLibs ("libfieldValueFunctionObjects.so");
enabled true;
outputControl timeStep;//outputTime;
outputInterval 1,
log true;
valueOutput false; //true;
source all; // Type of cell source or all for the full domain
sourceName CO2;
operation weightedAverage; // volAverage; //volIntegrate; //weightedAverage; //none //sum;
fields
(
CO2
);
}
} */
probes1
{
type probes;
functionObjectLibs ("libsampling.so");
#include "probesDict";
}
globalMassFrac
{
type volRegion;
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;
log true;
writeFields false;
regionType all;
name c0;
operation weightedVolAverage;
weightField rhoeps;
fields
(
O2
CO2
CO
N2
);
}
globalMass
{
type volRegion;
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;
log true;
writeFields false;
regionType all;
name c1;
operation volIntegrate;
fields
(
rhoeps
rho
);
}
}
// ************************************************************************* //
/* // IF swak4Foam is installed following can be used;
volumetricFlowSurfaceField
{
type patchExpression;
outputControlMode timeStep;
outputInterval 1;
verbose true;
accumulations ( sum );
patches ( outlet );
expression "CO2";
}
massFlowSurfaceField
{
$volumetricFlowSurfaceField;
patches ( outlet );
variables ("Area=0.25;"
);
expression "CO2*rho*Area*U";
}
CO2_Mass_in_Volume
{
type swakExpression;
valueType internalField; //patch;
//aliases{alpha alpha.water;}
//patchName outlet;
verbose true;
expression "rho*voidfraction*CO2*vol()";
accumulations ( sum );
outputControlMode timeStep; //outputTime;
outputInterval 1;
}
OutletMassFlow-CO2
{
type patchExpression;
accumulations (
sum
);
patches (
outlet
);
expression "CO2";
verbose true;
autoInterpolate true;
}
CO2_Concentration_in_Volume
{
type swakExpression;
valueType internalField; //patch;
//aliases{alpha alpha.water;}
//patchName outlet;
verbose true;
expression "CO2";
accumulations ( sum );
outputControlMode timeStep; //outputTime;
outputInterval 1;
}
O2_Mass_in_Volume
{
type swakExpression;
valueType internalField; //patch;
//aliases{alpha alpha.water;}
//patchName outlet;
verbose true;
expression "rho*voidfraction*O2*vol()";
accumulations ( sum );
outputControlMode timeStep; //outputTime;
outputInterval 1;
}
O2_Concentration_in_Volume
{
type swakExpression;
valueType internalField; //patch;
//aliases{alpha alpha.water;}
//patchName outlet;
verbose true;
expression "O2";
accumulations ( sum );
outputControlMode timeStep; //outputTime;
outputInterval 1;
}
OutletMassFlow-O2
{
type patchExpression;
accumulations (
sum
);
patches (
outlet
);
expression "O2";
verbose true;
} */

View File

@ -15,14 +15,14 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 4;
numberOfSubdomains 2;
//method scotch;
method simple;
simpleCoeffs
{
n (2 2 1);
n (2 1 1);
delta 0.001;
}

View File

@ -85,14 +85,13 @@ solvers
PIMPLE
{
momentumPredictor yes;
nOuterCorrectors 1;
nCorrectors 2;
nOuterCorrectors 2;
nCorrectors 1;
nNonOrthogonalCorrectors 0;
rhoMin rhoMin [ 1 -3 0 0 0 ] 0.5;
rhoMax rhoMax [ 1 -3 0 0 0 ] 2.0;
rhoMin rhoMin [ 1 -3 0 0 0 ] 0.2;
rhoMax rhoMax [ 1 -3 0 0 0 ] 2.5;
}
/*
relaxationFactors
{

View File

@ -9,7 +9,7 @@ boundary f f f
newton off
units si
processors 2 2 1
processors 2 1 1
region reg block 0. 15. 0. 5. 0. 5. units box
create_box 1 reg
@ -28,7 +28,7 @@ pair_style gran model hertz tangential history # Hertzian without cohesion
pair_coeff * *
# timestep, gravity
timestep 0.001 #0.00001 #0.000001
timestep 1e-6
fix gravi all gravity 0.0 vector 0.0 -1.0 0.0
# walls
@ -40,19 +40,9 @@ fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zp
fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 5.0
# create single particle in a specific spot
create_atoms 1 single 7.5 2 2 units box
create_atoms 1 single 7.5 2.5 2.5 units box
set atom 1 diameter 0.2 density 2267 vx 0 vy 0 vz 0
# particle distributions and insertion
#region bc block 0.25 1.25 0. 0.5 0. 0.5 units box
#fix pts1 all particletemplate/sphere 1 atom_type 1 density constant 2267 radius constant 0.02
#fix pdd1 all particledistribution/discrete 1 1 pts1 1.0
#fix ins all insert/pack seed 100001 distributiontemplate pdd1 vel constant 0. 0. 0. insert_every once overlapcheck yes all_in yes particles_in_region 1 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

View File

@ -10,7 +10,7 @@ boundary f f f
newton off
units si
processors 2 2 1
processors 2 1 1
# read the restart file
read_restart ../DEM/post/restart/liggghts.restart
@ -30,7 +30,7 @@ pair_style gran model hertz tangential history # Hertzian without cohesion
pair_coeff * *
# timestep, gravity
timestep 0.001 #0.00001 #0.000001
timestep 1e-6
fix gravi all gravity 0.0 vector 0.0 -1.0 0.0
# walls
@ -55,16 +55,16 @@ fix cfd3 all couple/cfd/chemistry n_species 4 species_names CO CO2 O2 N2
#fix cfd4 all chem/shrink speciesA CO molMassA 28.01 speciesC CO2 molMassC 44.01 molMassB 12.01 k 2.5e3 rmin 0.005
# Activate for 3-layer unreacted core shrink model
fix cfd5 all chem/shrink/core speciesA CO molMassA 28.01 speciesC CO2 molMassC 44.01
fix cfd5 all chem/shrink/core speciesA CO molMassA 28.01 speciesC CO2 molMassC 44.01 screen yes nevery 1
# Chemical properties for unreacted shrink core (activate only when chem/shrink/core is active)
fix k0 all property/global k0_cfd5 vector 17 25 2700
fix Ea all property/global Ea_cfd5 vector 69488 73674 113859
# particle porosities adn tortuosity
# particle porosities adn tortuosities
fix porosity all property/global porosity_ scalar 0.15
fix tortuosity all property/global tortuosity_ scalar 3
fix pore_diameter all property/global pore_diameter_ scalar 3.91e-5 #0.00001 #3.91e-9
fix pore_diameter all property/global pore_diameter_ scalar 3.91e-5
# Material properties for unreacted chemical shrink core (activate only when chem/shrink/core is active)
fix density all property/global density_all vector 7870 5740 5170 5240
@ -77,10 +77,9 @@ fix layerRelRad all property/atom relRadii vector yes no no 1.0 0.6 0.5 0.3
fix integr all nve/sphere
###############################################
## DEBUG ##
compute masschange all property/atom mass
compute massreduce all reduce sum c_masschange
fix rmass all ave/time 100 1 100 c_massreduce file rmass.dat
fix rmass all ave/time 1 1 25 c_massreduce file rmass.dat
compute layerRad1 all reduce sum f_layerRelRad[1]
fix redRad1 all ave/time 100 1 100 c_layerRad1 file relRad1.dat
@ -97,20 +96,19 @@ fix redRad4 all ave/time 100 1 100 c_layerRad4 file relRad4.dat
variable rad_fe atom "f_layerRelRad[1]*radius"
compute r_fe all reduce sum v_rad_fe
fix r_fe1 all ave/time 100 1 100 c_r_fe file rfe.dat
fix r_fe1 all ave/time 25 1 25 c_r_fe file rfe.dat
variable rad_w atom "f_layerRelRad[2]*radius"
compute r_w all reduce sum v_rad_w
fix r_w1 all ave/time 100 1 100 c_r_w file rw.dat
fix r_w1 all ave/time 25 1 25 c_r_w file rw.dat
variable rad_m atom "f_layerRelRad[3]*radius"
compute r_m all reduce sum v_rad_m
fix r_m1 all ave/time 100 1 100 c_r_m file rm.dat
fix r_m1 all ave/time 25 1 25 c_r_m file rm.dat
variable rad_h atom "f_layerRelRad[4]*radius"
compute r_h all reduce sum v_rad_h
fix r_h1 all ave/time 100 1 100 c_r_h file rh.dat
fix r_h1 all ave/time 25 1 25 c_r_h file rh.dat
###############################################
# screen output
compute rke all erotate/sphere

View File

@ -19,7 +19,7 @@ logpath=$casePath
headerText="test_case"
logfileName="log_$headerText"
solverName="cfdemSolverRhoPimpleChem"
nrProcs="4"
nrProcs="2"
machineFileName="none" # yourMachinefileName | none
debugMode="off" # on | off| strict
testHarnessPath="$CFDEM_TEST_HARNESS_PATH"

View File

@ -20,7 +20,7 @@ logpath="$casePath"
headerText="run_liggghts_init_DEM"
logfileName="log_$headerText"
solverName="in.liggghts_init"
nrProcs=4
nrProcs=2
machineFileName="none"
debugMode="off"
#--------------------------------------------------------------------------------#