mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
update case and decrease rhoMin
Case working fully with chemistry/diffusion/massTransfer terms
This commit is contained in:
@ -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
|
||||
{
|
||||
|
||||
@ -20,7 +20,7 @@ chemistry off; //on;
|
||||
chemistryType
|
||||
{
|
||||
chemistrySolver ode;
|
||||
chemistryThermo psi;
|
||||
chemistryThermo rho;
|
||||
}
|
||||
|
||||
initialChemicalTimeStep 1e-07;
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -105,8 +105,7 @@ reactionHeatProps
|
||||
speciesProps
|
||||
{
|
||||
ChemistryFile "$casePath/CFD/constant/foam.inp";
|
||||
// verbose true;
|
||||
// Nevery 1;
|
||||
Nevery 1;
|
||||
}
|
||||
|
||||
diffusionCoefficientsProps
|
||||
|
||||
@ -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 );
|
||||
|
||||
@ -8,7 +8,6 @@ species
|
||||
|
||||
reactions
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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;
|
||||
} */
|
||||
}
|
||||
|
||||
Binary file not shown.
@ -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)
|
||||
|
||||
);
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
} */
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -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
|
||||
{
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
#--------------------------------------------------------------------------------#
|
||||
|
||||
Reference in New Issue
Block a user