merge PFM/master > TUe/master

This commit is contained in:
s126103
2021-10-07 09:30:51 +02:00
877 changed files with 3057570 additions and 39876 deletions

View File

@ -23,7 +23,7 @@ solvers
cAlpha 1;
}
pcorr
"pcorr.*"
{
solver PCG;
preconditioner

View File

@ -23,7 +23,7 @@ solvers
cAlpha 1;
}
pcorr
"pcorr.*"
{
solver PCG;
preconditioner

View File

@ -23,7 +23,7 @@ solvers
cAlpha 1;
}
pcorr
"pcorr.*"
{
solver PCG;
preconditioner

View File

@ -14,6 +14,9 @@ name outlet;
fields (alpha.air alpha.water alpha.oil);
operation average;
#includeEtc "caseDicts/postProcessing/surfaceRegion/patch.cfg"
// OF4
//#includeEtc "caseDicts/postProcessing/surfaceRegion/patch.cfg"
// OF5,OF6
#includeEtc "caseDicts/postProcessing/surfaceFieldValue/patch.cfg"
// ************************************************************************* //

View File

@ -0,0 +1,122 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / 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 engineSearchMany2Many;
meshMotionModel noMeshMotion;
regionModel allRegion;
IOModel basicIO;
probeModel off;
dataExchangeModel twoWayOne2One;
averagingModel dense;
clockModel standardClock;
smoothingModel off;
forceModels
(
gradPForce
viscForce
KochHillDrag
);
momCoupleModels
(
implicitCouple
);
turbulenceModelType "turbulenceProperties";
//===========================================================================//
// sub-model properties
dividedProps
{
alphaMin 0.01;
scaleUpVol 1.0;
}
engineSearchMany2ManyProps
{
engineProps
{
treeSearch true;
}
}
twoWayOne2OneProps
{
liggghtsPath "../DEM/in.liggghts_run";
verbose true;
}
gradPForceProps
{
pFieldName "p";
voidfractionFieldName "voidfraction";
velocityFieldName "U";
interpolation true;
}
viscForceProps
{
velocityFieldName "U";
interpolation true;
}
KochHillDragProps
{
verbose true;
velFieldName "U";
voidfractionFieldName "voidfraction";
interpolation true;
implForceDEM true;
}
implicitCoupleProps
{
velFieldName "U";
granVelFieldName "Us";
voidfractionFieldName "voidfraction";
}
// ************************************************************************* //

View File

@ -0,0 +1,67 @@
# 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 m m m
newton off
units si
processors 2 2 1
# read the restart file
read_restart ../DEM/post/restart/liggghts.restart
neighbor 0.0005 bin
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.5
# pair style
pair_style gran model hertz tangential history
pair_coeff * *
# timestep, gravity
timestep 0.00001
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
# walls
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 2000
# cfd coupling
fix cfd all couple/cfd couple_every 100 one2one
fix cfd2 all couple/cfd/force/implicit
#fix cfd2 all couple/cfd/force/implicit/accumulated #CrankNicolson 0.5
# apply nve integration to all particles that are inserted as single particles
fix integr all nve/sphere
# center of mass
compute centerOfMass all com
# compute total dragforce
compute dragtotal all reduce sum f_dragforce[1] f_dragforce[2] f_dragforce[3]
# screen output
compute rke all erotate/sphere
thermo_style custom step atoms ke c_rke 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
dump dmp all custom 5000 ../DEM/post/dump*.liggghts_run id type x y z vx vy vz fx fy fz f_dragforce[1] f_dragforce[2] f_dragforce[3] radius
run 1

View File

@ -0,0 +1,16 @@
#!/bin/bash
cp ./CFD/constant/couplingProperties.one2one ./CFD/constant/couplingProperties
cp ./DEM/in.liggghts_run.one2one ./DEM/in.liggghts_run
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
# check if mesh was built
if [ -f "$casePath/CFD/constant/polyMesh/boundary" ]; then
echo "mesh was built before - using old mesh"
else
echo "mesh needs to be built"
cd $casePath/CFD
blockMesh
fi

View File

@ -14,6 +14,15 @@
"nprocs" : 4,
"pre_scripts" : ["prerun.sh"],
"post_scripts" : ["postrun.sh"]
},
{
"name" : "cfdemrun-one2one",
"depends_on" : "liggghts-init",
"solver" : "cfdemSolverPiso",
"type" : "CFDEMcoupling/mpi",
"nprocs" : 4,
"pre_scripts" : ["prerun_one2one.sh"],
"post_scripts" : ["postrun.sh"]
}
]
}

View File

@ -0,0 +1,22 @@
#!/bin/bash
#===================================================================#
# allrun script for testcase as part of test routine
# run voidfractionTest
# Christoph Goniva - Jan. 2016
#===================================================================#
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
# check if mesh was built
if [ -f "$casePath/CFD/constant/polyMesh/points" ]; then
echo "mesh was built before - using old mesh"
else
echo "mesh needs to be built"
cd $casePath/CFD
blockMesh
fi
#- run parallel CFD-DEM
. $casePath/parCFDDEMrun.sh

View File

@ -0,0 +1,32 @@
/*--------------------------------*- 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|outlet|walls)"
{
type zeroGradient;
value uniform 0;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,42 @@
/*--------------------------------*- 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 U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
inlet
{
type fixedValue;
value uniform (0 0 0);
}
outlet
{
type zeroGradient;
value uniform (0 0 0);
}
walls
{
type fixedValue;
value uniform (0 0 0);
}
}
// ************************************************************************* //

View File

@ -0,0 +1,32 @@
/*--------------------------------*- 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|outlet|walls)"
{
type zeroGradient;
value uniform (0 0 0);
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- 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 p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
walls
{
type zeroGradient;
value uniform 0;
}
inlet
{
type zeroGradient;
value uniform 0;
}
outlet
{
type totalPressure;
p0 uniform 0;
U U;
phi phi;
rho rho;
psi none;
gamma 1;
value uniform 0;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,30 @@
/*--------------------------------*- 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 p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -3 0 0 0 0 0];
internalField uniform 10;
boundaryField
{
"(inlet|outlet|walls)"
{
type zeroGradient;
value uniform 10;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,30 @@
/*--------------------------------*- 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 voidfraction;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 1;
boundaryField
{
"(inlet|outlet|walls)"
{
type zeroGradient;
value uniform 1;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,137 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / 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
solveFlow off;
useDDTvoidfraction;
modelType B;
couplingInterval 100;
voidFractionModel trilinear;
locateModel engine;
meshMotionModel noMeshMotion;
IOModel basicIO;
probeModel off;
dataExchangeModel twoWayMPI;
averagingModel dense;
clockModel off;
smoothingModel off;
forceModels
(
DiFeliceDrag
Archimedes
noDrag
particleCellVolume
volWeightedAverage
);
momCoupleModels
(
implicitCouple
);
turbulenceModelType "turbulenceProperties";
//===========================================================================//
// sub-model properties
noDragProps
{
}
particleCellVolumeProps
{
upperThreshold 1e20;
lowerThreshold 0.;
verbose true;
writeToFile true;
}
volWeightedAverageProps
{
scalarFieldNames
(
ddtVoidfraction
);
vectorFieldNames
(
);
upperThreshold 1e20;
lowerThreshold 0;
writeToFile true;
verbose true;
}
implicitCoupleProps
{
velFieldName "U";
granVelFieldName "Us";
voidfractionFieldName "voidfraction";
}
DiFeliceDragProps
{
velFieldName "U";
voidfractionFieldName "voidfraction";
granVelFieldName "Us";
verbose false;
}
ArchimedesProps
{
densityFieldName "rho";
gravityFieldName "g";
}
twoWayMPIProps
{
liggghtsPath "../DEM/in.liggghts_run";
}
trilinearProps
{
alphaMin 0.3; // unused!
}
engineProps
{
treeSearch true;
}
// ************************************************************************* //

View 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 -9.81 0);
// ************************************************************************* //

View File

@ -0,0 +1,32 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / 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
);
// ************************************************************************* //

View File

@ -0,0 +1,38 @@
/*--------------------------------*- 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 ] 1e-05;
CrossPowerLawCoeffs
{
nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06;
nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
m m [ 0 0 1 0 0 0 0 ] 1;
n n [ 0 0 0 0 0 0 0 ] 1;
}
BirdCarreauCoeffs
{
nu0 nu0 [ 0 2 -1 0 0 0 0 ] 1e-06;
nuInf nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
k k [ 0 0 1 0 0 0 0 ] 0;
n n [ 0 0 0 0 0 0 0 ] 1;
}
// ************************************************************************* //

View File

@ -0,0 +1,21 @@
/*--------------------------------*- 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;
// ************************************************************************* //

View File

@ -0,0 +1,59 @@
%test
close all;
clear;
clc;
%====================================%
% simulation data
%====================================%
path = '../postProcessing/particleCellVolume/0/particleCellVolume.txt';
data = load(path);
Vp_sim = data(:,2);
t_sim = data(:,1);
path = '../postProcessing/volWeightedAverage/0/volWeightedAverage.txt';
data = load(path);
volAvDdtVoidFraction_sim = data(:,2);
t_sim = data(:,1);
%====================================%
dp=2*0.0015;
vp=0.3
deltaT=0.001 % coupling time
%====================================%
% analytical calculation
%====================================%
Vp=dp*dp*dp*pi/6;
np=1000;
Vptot=np*Vp
kernelSize=8
Vc=(0.1/10)^3*kernelSize
Vp=dp^3*pi/6
deltaVpdt=Vp*(deltaT*vp)/dp
avg_ddt_voidfraction=deltaVpdt/(Vc*deltaT)
%====================================%
% plot data
%====================================%
figure(1)
plot(t_sim,(Vp_sim./Vptot)*100,'r-')
hold on;
%legend("error")
title("particle volume represented in cells");
grid on;
xlabel("time in s");
ylabel("particle cell volume / particle volume in %");
print('-dpng','-r450', 'particleCellVolume')
figure(2)
plot(t_sim,volAvDdtVoidFraction_sim,'r-',[min(t_sim),max(t_sim)],[avg_ddt_voidfraction,avg_ddt_voidfraction],'b-')
grid on;
%axis([0,max(t_sim),0,100])
hold on;
legend("simulation",'analytic')
title("average ddt(voidfraction)");
grid on;
xlabel("time in s");
ylabel("average ddt(voidfraction)");
print('-dpng','-r450', 'averageDDTvoidfraction')

View File

@ -0,0 +1,63 @@
/*--------------------------------*- 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 dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0.0 0 0.0)
(0.1 0 0.0)
(0.1 0.1 0.0)
(0.0 0.1 0.0)
(0.0 0 1.0)
(0.1 0 1.0)
(0.1 0.1 1.0)
(0.0 0.1 1.0)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (10 10 100) simpleGrading (1 1 1)
);
edges
(
);
patches
(
patch inlet
(
(3 7 6 2)
)
patch outlet
(
(1 5 4 0)
)
wall walls
(
(0 4 7 3)
(2 6 5 1)
(0 3 2 1)
(4 5 6 7)
)
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -0,0 +1,76 @@
/*--------------------------------*- 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 cfdemSolverPiso;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 0.2;
deltaT 0.001;
writeControl adjustableRunTime;
writeInterval 0.001;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression uncompressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
adjustTimeStep no;
maxCo 1;
maxDeltaT 1;
functions
{
probes
{
type probes;
functionObjectLibs ( "libsampling.so" );
// directory for probe data
name probes;
probeLocations
(
(0.05001 0.05001 0.5)
);
// fields to be probed
fields ( volAverage_ddtVoidfraction voidfraction );
// write at same frequency as fields
writeControl timeStep;//outputTime;
writeInterval 1;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,76 @@
/*--------------------------------*- 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 cfdemSolverPiso;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 0.2;
deltaT 0.001;
writeControl adjustableRunTime;
writeInterval 0.001;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression uncompressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
adjustTimeStep no;
maxCo 1;
maxDeltaT 1;
functions
{
probes
{
type probes;
functionObjectLibs ( "libsampling.so" );
// directory for probe data
name probes;
probeLocations
(
(0.05001 0.05001 0.5)
);
// fields to be probed
fields ( volAverage_ddtVoidfraction voidfraction );
// write at same frequency as fields
writeControl timeStep;//outputTime;
writeInterval 1;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,33 @@
/*--------------------------------*- 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 decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 2;
method simple;
simpleCoeffs
{
n ( 1 1 2 );
delta 0.001;
}
distributed no;
roots ( );
// ************************************************************************* //

View File

@ -0,0 +1,76 @@
/*--------------------------------*- 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;
}
gradSchemes
{
default Gauss linear;
grad(p) Gauss linear;
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((nuEff*dev(grad(U).T()))) Gauss linear;
div((nuEff*dev(T(grad(U))))) Gauss linear;
div((viscousTerm*dev(grad(U).T()))) Gauss linear;
div((nu*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;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
p ;
}
// ************************************************************************* //

View File

@ -0,0 +1,62 @@
/*--------------------------------*- 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 DIC;
tolerance 1e-06;
relTol 0.1;
}
pFinal
{
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0;
}
"(U|k|epsilon|R|nuTilda)"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0;
}
"(voidfraction|Ksl|UsNext|voidfractionNext|sSmoothField|vSmoothField|fSmooth)"
{
solver PCG;
preconditioner DIC;
tolerance 1e-09;
relTol 1e-06;
}
}
PISO
{
nCorrectors 4;
nNonOrthogonalCorrectors 0;
pRefCell 0;
pRefValue 0;
}
// ************************************************************************* //

View File

@ -0,0 +1,76 @@
echo both
log ../DEM/log.liggghts
thermo_log ../DEM/post/thermo.txt
atom_style granular
atom_modify map array sort 0 0
communicate single vel yes
boundary f f f
newton off
units si
region reg block 0.0 0.1 0.0 0.1 0.0 1.0 units box
create_box 1 reg
neighbor 0.003 bin
neigh_modify delay 0 binsize 0.01
# material properties required for granular pair style
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
# pair style
pair_style gran model hertz tangential history
pair_coeff * *
# timestep, gravity
timestep 0.00001
fix gravi all gravity 0.0 vector 0.0 0.0 -1.0
# walls
fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane 0.0
fix xwalls2 all wall/gran model hertz tangential history primitive type 1 xplane 0.1
fix ywalls1 all wall/gran model hertz tangential history primitive type 1 yplane 0.0
fix ywalls2 all wall/gran model hertz tangential history primitive type 1 yplane 0.1
fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.01
# create particles
region bc block 0.0 0.1 0.0 0.1 0.53 1.0 units box
fix pts1 all particletemplate/sphere 15485863 atom_type 1 density constant 3000 radius constant 0.0015
fix pdd1 all particledistribution/discrete 15485867 1 pts1 1.0
fix ins all insert/pack seed 32452843 distributiontemplate pdd1 vel constant 0. 0. -0.3 &
insert_every once overlapcheck yes all_in yes particles_in_region 1000 region bc
# cfd coupling
fix cfd1 all couple/cfd couple_every 100 mpi
fix cfd2 all couple/cfd/force
variable vx equal vx[1]
variable vy equal vy[1]
variable vz equal vz[1]
variable time equal step*dt
fix extra all print 100 "${time} ${vx} ${vy} ${vz}" file ../DEM/post/velocity.txt title "#" screen no
# 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
thermo_modify lost ignore norm no
compute_modify thermo_temp dynamic yes
# insert the first particles so that dump is not empty
run 0
dump dmp all custom 1000 ../DEM/post/dump.liggghts_run id type x y z vx vy vz &
fx fy fz omegax omegay omegaz radius
run 0 upto

View File

@ -0,0 +1,97 @@
#!/bin/bash
#===================================================================#
# allrun script for testcase as part of test routine
# run voidfractionTest CFD part
# Christoph Goniva - Feb. 2011
#===================================================================#
#- source CFDEM env vars
. ~/.bashrc
#- include functions
source $CFDEM_PROJECT_DIR/etc/functions.sh
#--------------------------------------------------------------------------------#
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
logpath=$casePath
headerText="run_parallel_cfdemSolverPiso_voidfractionTest_CFDDEM"
logfileName="log_$headerText"
solverName="cfdemSolverPiso"
nrProcs="2"
machineFileName="none" # yourMachinefileName | none
debugMode="off" # on | off| strict
reconstuctCase="false"
testHarnessPath="$CFDEM_TEST_HARNESS_PATH"
runOctave="true"
cleanUp="true"
postproc="false"
#--------------------------------------------------------------------------------#
#- call function to run a parallel CFD-DEM case
parCFDDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode $reconstuctCase
if [ $runOctave == "true" ]
then
#- change path
cd octave
#- rmove old graph
rm averageDDTvoidfraction.png
#- run octave
octave --no-gui particleCellVolume.m
#- show plot
eog averageDDTvoidfraction.png
#- copy log file to test harness
cp ../../$logfileName $testHarnessPath
cp averageDDTvoidfraction.png $testHarnessPath
fi
if [ $postproc == "true" ]
then
#- keep terminal open (if started in new terminal)
echo "simulation finished? ...press enter to proceed"
read
#- get VTK data from liggghts dump file
cd $casePath/DEM/post
python -i $CFDEM_LPP_DIR/lpp.py dump.liggghts_run
#- get VTK data from CFD sim
cd $casePath/CFD
foamToVTK #- serial run of foamToVTK
#- start paraview
paraview
#- keep terminal open (if started in new terminal)
echo "...press enter to clean up case"
echo "press Ctr+C to keep data"
read
fi
#- clean up case
if [ $cleanUp == "true" ]
then
echo "deleting data at: $casePath ?:\n"
read
source $WM_PROJECT_DIR/bin/tools/CleanFunctions
cd $casePath/CFD
cleanCase
cd $casePath
rm -r $casePath/CFD/particleProbes
rm -r $casePath/CFD/postProcessing
rm -r $casePath/CFD/clockData
rm -r $casePath/DEM/post/*
rm -r $casePath/DEM/liggghts.restartCFDEM*
echo "done"
fi
#- preserve post directory
touch $casePath/DEM/post/.gitignore

View File

@ -0,0 +1,2 @@
#!/bin/bash
# nothing to see here

View File

@ -0,0 +1,13 @@
#!/bin/bash
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
# check if mesh was built
if [ -f "$casePath/CFD/constant/polyMesh/boundary" ]; then
echo "mesh was built before - using old mesh"
else
echo "mesh needs to be built"
cd $casePath/CFD
blockMesh
fi

View File

@ -0,0 +1,13 @@
{
"type" : "CFDEMcoupling",
"runs" : [
{
"name" : "cfdemrun",
"solver" : "cfdemSolverPiso",
"type" : "CFDEMcoupling/mpi",
"nprocs" : 2,
"pre_scripts" : ["prerun.sh"],
"post_scripts" : ["postrun.sh"]
}
]
}

View File

@ -28,12 +28,14 @@ boundaryField
type slip;
}
inlet
inlet
{
type interstitialInletVelocity;
inletVelocity uniform (0 0 0.1);
alpha voidfraction;
value $internalField;
type uniformFixedValue;
uniformValue table
(
(0.000 (0 0 0.002))
(2.000 (0 0 1.5))
);
}
outlet

View File

@ -28,10 +28,8 @@ boundaryField
inlet
{
// type zeroGradient;
// type fixedFluxPressure;
// value $internalField;
type fixedFluxExtrapolatedPressure;
// type zeroGradient;
type fixedFluxExtrapolatedPressure;
}
outlet
{

View File

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

View File

@ -32,9 +32,8 @@ boundaryField
}
inlet
{
//type fixedValue;
//value uniform 1;
type zeroGradient;
type fixedValue;
value uniform 1;
}
}

View File

@ -23,7 +23,7 @@ startTime 0;
stopAt endTime;
endTime 0.5;
endTime 2.0;
deltaT 0.00025;

View File

@ -1,6 +1,91 @@
#!/bin/bash
cd CFD
blockMesh
decomposePar -force
mpirun -np 4 cfdemSolverRhoPimple -parallel
#===================================================================#
# allrun script for testcase as part of test routine
# run Ergun test CFD part
#===================================================================#
#- source CFDEM env vars
. ~/.bashrc
#- include functions
source $CFDEM_PROJECT_DIR/etc/functions.sh
#--------------------------------------------------------------------------------#
#- define variables
casePath="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
logpath=$casePath
headerText="run_parallel_cfdemSolverRhoPimple_ErgunTestMPI_CFDDEM"
logfileName="log_$headerText"
solverName="cfdemSolverRhoPimple"
nrProcs="4"
machineFileName="none" # yourMachinefileName | none
debugMode="off" # on | off| strict
testHarnessPath="$CFDEM_TEST_HARNESS_PATH"
runOctave="true"
postproc="false"
#--------------------------------------------------------------------------------#
#- call function to run a parallel CFD-DEM case
parCFDDEMrun $logpath $logfileName $casePath $headerText $solverName $nrProcs $machineFileName $debugMode
if [ $runOctave == "true" ]
then
#------------------------------#
# octave
#- change path
cd octave
#- rmove old graph
rm cfdemSolverRhoPimple_ErgunTestMPI.eps
#- run octave
octave totalPressureDrop.m
#- show plot
evince cfdemSolverRhoPimple_ErgunTestMPI.eps
#- copy log file to test harness
cp ../../$logfileName $testHarnessPath
cp cfdemSolverRhoPimple_ErgunTestMPI.eps $testHarnessPath
fi
if [ $postproc == "true" ]
then
#- keep terminal open (if started in new terminal)
echo "simulation finisehd? ...press enter to proceed"
read
#- get VTK data from liggghts dump file
cd $casePath/DEM/post
python -i $CFDEM_LPP_DIR/lpp.py dump*.liggghts_run
#- get VTK data from CFD sim
cd $casePath/CFD
foamToVTK #- serial run of foamToVTK
#- start paraview
paraview
#- keep terminal open (if started in new terminal)
echo "...press enter to clean up case"
echo "press Ctr+C to keep data"
read
fi
#- clean up case
echo "deleting data at: $casePath :\n"
source $WM_PROJECT_DIR/bin/tools/CleanFunctions
cd $casePath/CFD
#cleanCase
rm -r $casePath/CFD/clockData
rm $casePath/DEM/post/*.*
touch $casePath/DEM/post/.gitignore
rm $casePath/DEM/post/restart/*.*
rm $casePath/DEM/post/restart/liggghts.restartCFDEM*
touch $casePath/DEM/post/restart/.gitignore
echo "done"

View File

@ -38,7 +38,7 @@ meshMotionModel noMeshMotion;
regionModel allRegion;
IOModel "basicIO";
IOModel "off";
dataExchangeModel twoWayMPI;//twoWayM2M;//twoWayFiles;//oneWayVTK;//
@ -55,7 +55,7 @@ forceModels
dSauter
Fines
FanningDynFines
ErgunStatFines
BeetstraDragPoly
gradPForce
viscForce
);
@ -140,13 +140,14 @@ viscForceProps
interpolation;
}
ErgunStatFinesProps
BeetstraDragProps
{
fines true;
dFine 0.000388;
velFieldName "U";
granVelFieldName "Us";
densityFieldName "rho";
voidfractionFieldName "voidfraction";
phi 1;
}
FanningDynFinesProps
@ -207,7 +208,7 @@ dividedProps
{
alphaMin 0.25;
scaleUpVol 1.0;
weight 1.0; //1.33;
weight 1.0;
verbose;
}

View File

@ -13,7 +13,7 @@ FoamFile
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "../../geometry"
#include "../geometry"
convertToMeters 1;
vertices #codeStream

View File

@ -59,7 +59,7 @@ functions
volInt
{
type volRegion;
type volFieldValue;
functionObjectLibs ("libfieldFunctionObjects.so");
writeControl timeStep;
log true;
@ -76,7 +76,7 @@ functions
inflow
{
type surfaceRegion;
type surfaceFieldValue;
libs ("libfieldFunctionObjects.so");
writeControl timeStep;
log true;

View File

@ -15,20 +15,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
/*
source1
{
type temperatureLimitsConstraint;
selectionMode all;
active true;
temperatureLimitsConstraintCoeffs
{
Tmin 288;
Tmax 298;
}
}
*/
source1
{
type limitTemperature;
@ -37,7 +23,9 @@ source1
{
active yes;
selectionMode all;
Tmin 288;
Tmax 298;
Tmin 288; // OF4
Tmax 298; // OF4
min $Tmin; // OF5,OF6
max $Tmax; // OF5,OF6
}
}

View File

@ -15,11 +15,14 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
combustionModel noCombustion<rhoThermoCombustion>; //PaSR<rhoChemistryCombustion>; //PaSR<psiChemistryCombustion>;
// OF5 -> OF6: noCombustion<> -> none (template parameters are no longer required)
//combustionModel noCombustion<rhoThermoCombustion>; //PaSR<rhoChemistryCombustion>; //PaSR<psiChemistryCombustion>;
combustionModel none; // OF6
active false; //true;
noCombustionCoeffs
//noCombustionCoeffs
noneCoeffs
{
}

View File

@ -145,7 +145,8 @@ functions
globalMassFrac
{
type volRegion;
//type volRegion; // OF4
type volFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;
@ -167,7 +168,8 @@ functions
globalMass
{
type volRegion;
//type volRegion; // OF4
type volFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;
@ -185,7 +187,8 @@ functions
inflow_GasSpecies
{
type surfaceRegion;
//type surfaceRegion; // OF4
type surfaceFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;
writeInterval 100;
@ -208,7 +211,8 @@ functions
inflow_phi
{
type surfaceRegion;
//type surfaceRegion; // OF4
type surfaceFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;
writeInterval 100;
@ -227,7 +231,8 @@ functions
inflow_U
{
type surfaceRegion;
//type surfaceRegion; // OF4
type surfaceFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;
writeInterval 100;

View File

@ -145,7 +145,8 @@ functions
globalMassFrac
{
type volRegion;
//type volRegion; // OF4
type volFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;
@ -167,7 +168,8 @@ functions
globalMass
{
type volRegion;
//type volRegion; // OF4
type volFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;
@ -185,7 +187,8 @@ functions
inflow_GasSpecies
{
type surfaceRegion;
//type surfaceRegion; // OF4
type surfaceFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;
writeInterval 100;
@ -208,7 +211,8 @@ functions
inflow_phi
{
type surfaceRegion;
//type surfaceRegion; // OF4
type surfaceFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;
writeInterval 100;
@ -227,7 +231,8 @@ functions
inflow_U
{
type surfaceRegion;
//type surfaceRegion; // OF4
type surfaceFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;
writeInterval 100;

View File

@ -22,7 +22,10 @@ limitedTemperature
{
active yes;
selectionMode all;
Tmin 1020;
Tmax 1500;
Tmin 1020; // OF4
Tmax 1500; // OF4
min $Tmin; // OF5,OF6
max $Tmax; // OF5,OF6
}
}
}

View File

@ -81,22 +81,14 @@ fix k0_H2 ore property/atom k0_cfd6 vector yes no no 30 23 160
fix Ea_H2 ore property/atom Ea_cfd6 vector yes no no 63627 85000 105908
# particle parameters
fix porosity ore property/atom porosity_ vector yes no no 0.61 0.34 0.19 0.17
fix tortuosity ore property/global tortuosity_ scalar 3
fix pore_diameter ore property/global pore_diameter_ scalar 1.e-7
fix porosity ore property/global porosity_ore vector 0.61 0.34 0.19 0.17
fix tortuosity ore property/global tortuosity_ore scalar 3
fix pore_diameter ore property/global pore_diameter_ore scalar 1.e-7
fix layerDensities ore property/global density_ore vector 7870. 5740. 5170. 5240.
# define layer properties
fix LayerRelRadii ore property/atom relRadii vector yes no no 1.0 0.998 0.995 0.98
### define fix for mass layer - initial testing
fix LayerMasses ore property/atom massLayer vector yes no no 0. 0. 0. 0.
fix LayerDensities ore property/global density_ore vector 7870. 5740. 5170. 5240.
## define fix for rho_eff and fracRed - initialize as zero
fix fracRed ore property/atom fracRed_ore vector yes no no 0. 0. 0.
fix rhoeff ore property/atom rhoeff vector yes no no 0. 0. 0. 0.
###############
# Write data into files for post-processing
group part type 1

View File

@ -15,11 +15,14 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
combustionModel noCombustion<rhoThermoCombustion>;
// OF5 -> OF6: noCombustion<> -> none (template parameters are no longer required)
//combustionModel noCombustion<rhoThermoCombustion>; // OF4,OF5
combustionModel none; // OF6
active false; //true;
noCombustionCoeffs
//noCombustionCoeffs
noneCoeffs
{
}

View File

@ -143,7 +143,8 @@ functions
globalMassFrac
{
type volRegion;
//type volRegion; // OF4
type volFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;
@ -165,7 +166,8 @@ functions
globalMass
{
type volRegion;
//type volRegion; // OF4
type volFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;

View File

@ -22,8 +22,10 @@ limitedTemperature
{
active yes;
selectionMode all;
Tmin 1200;
Tmax 2500;
Tmin 1200; // OF4
Tmax 2500; // OF4
min $Tmin; // OF5,OF6
max $Tmax; // OF5,OF6
}
}

View File

@ -69,21 +69,14 @@ fix k0_H2 all property/atom k0_cfd6 vector yes no no 30 23 160
fix Ea_H2 all property/atom Ea_cfd6 vector yes no no 63627 71162 92092
# particle porosity/tortuosity/pore diameter
fix porosity all property/atom porosity_ vector yes no no 0.65 0.31 0.16 0.15
fix tortuosity all property/global tortuosity_ scalar 3
fix pore_diameter all property/global pore_diameter_ scalar 7e-7
fix porosity all property/global porosity_all vector 0.65 0.31 0.16 0.15
fix tortuosity all property/global tortuosity_all scalar 3
fix pore_diameter all property/global pore_diameter_all scalar 7e-7
fix layerDensities all property/global density_all vector 7870. 5740. 5170. 5240.
# define layer properties
fix LayerRelRadii all property/atom relRadii vector yes no no 1.0 0.998 0.995 0.98
# define fix for mass layer - initial testing
fix LayerMasses all property/atom massLayer vector yes no no 0. 0. 0. 0.
fix LayerDensities all property/global density_all vector 7870. 5740. 5170. 5240.
# define fix for rho_eff and fracRed - initialize as zero
fix fracRed all property/atom fracRed_all vector yes no no 0. 0. 0.
fix rhoeff all property/atom rhoeff vector yes no no 0. 0. 0. 0.
###############
# Write data into files for post-processing

View File

@ -15,11 +15,14 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
combustionModel noCombustion<rhoThermoCombustion>; //PaSR<rhoChemistryCombustion>; //PaSR<psiChemistryCombustion>;
// OF5 -> OF6: noCombustion<> -> none (template parameters are no longer required)
//combustionModel noCombustion<rhoThermoCombustion>; //PaSR<rhoChemistryCombustion>; //PaSR<psiChemistryCombustion>;
combustionModel none; // OF6
active false; //true;
noCombustionCoeffs
//noCombustionCoeffs
noneCoeffs
{
}

View File

@ -142,7 +142,8 @@ functions
globalMassFrac
{
type volRegion;
//type volRegion; // OF4
type volFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;
@ -164,7 +165,8 @@ functions
globalMass
{
type volRegion;
//type volRegion; // OF4
type volFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;

View File

@ -22,8 +22,10 @@ limitedTemperature
{
active yes;
selectionMode all;
Tmin 1200;
Tmax 2500;
Tmin 1200; // OF4
Tmax 2500; // OF4
min $Tmin; // OF5,OF6
max $Tmax; // OF5,OF6
}
}

View File

@ -69,21 +69,14 @@ fix k0_H2 all property/atom k0_cfd6 vector yes no no 30 23 160
fix Ea_H2 all property/atom Ea_cfd6 vector yes no no 63627 71162 92092
# particle porosity/tortuosity/pore diameter
fix porosity all property/atom porosity_ vector yes no no 0.65 0.31 0.16 0.15
fix tortuosity all property/global tortuosity_ scalar 3
fix pore_diameter all property/global pore_diameter_ scalar 7e-7
fix porosity all property/global porosity_all vector 0.65 0.31 0.16 0.15
fix tortuosity all property/global tortuosity_all scalar 3
fix pore_diameter all property/global pore_diameter_all scalar 7e-7
fix layerDensities all property/global density_all vector 7870. 5740. 5170. 5240.
# define layer properties
fix LayerRelRadii all property/atom relRadii vector yes no no 1.0 0.998 0.995 0.98
### define fix for mass layer - initial testing
fix LayerMasses all property/atom massLayer vector yes no no 0. 0. 0. 0.
fix LayerDensities all property/global density_all vector 7870. 5740. 5170. 5240.
## define fix for rho_eff and fracRed - initialize as zero
fix fracRed all property/atom fracRed_all vector yes no no 0. 0. 0.
fix rhoeff all property/atom rhoeff vector yes no no 0. 0. 0. 0.
###############
# Write data into files for post-processing

View File

@ -15,11 +15,14 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
combustionModel noCombustion<rhoThermoCombustion>; //PaSR<rhoChemistryCombustion>; //PaSR<psiChemistryCombustion>;
// OF5 -> OF6: noCombustion<> -> none (template parameters are no longer required)
//combustionModel noCombustion<rhoThermoCombustion>; //PaSR<rhoChemistryCombustion>; //PaSR<psiChemistryCombustion>;
combustionModel none; // OF6
active false; //true;
noCombustionCoeffs
//noCombustionCoeffs
noneCoeffs
{
}

View File

@ -136,7 +136,8 @@ functions
globalMassFrac
{
type volRegion;
//type volRegion; // OF4
type volFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;
@ -156,7 +157,8 @@ functions
globalMass
{
type volRegion;
//type volRegion; // OF4
type volFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;

View File

@ -22,9 +22,10 @@ limitedTemperature
{
active yes;
selectionMode all;
Tmin 1200;
Tmax 2500;
Tmin 1200; // OF4
Tmax 2500; // OF4
min $Tmin; // OF5,OF6
max $Tmax; // OF5,OF6
}
}

View File

@ -65,21 +65,14 @@ fix k0_CO all property/atom k0_cfd5 vector yes no no 17 25 2700
fix Ea_CO all property/atom Ea_cfd5 vector yes no no 69488 73674 113859
# particle porosity/tortuosity/pore diameter
fix porosity all property/atom porosity_ vector yes no no 0.65 0.31 0.16 0.15
fix tortuosity all property/global tortuosity_ scalar 3
fix pore_diameter all property/global pore_diameter_ scalar 5.5e-7
fix porosity all property/global porosity_all vector 0.65 0.31 0.16 0.15
fix tortuosity all property/global tortuosity_all scalar 3
fix pore_diameter all property/global pore_diameter_all scalar 5.5e-7
fix layerDensities all property/global density_all vector 7870. 5740. 5170. 5240.
# define layer properties
fix LayerRelRadii all property/atom relRadii vector yes no no 1.0 0.998 0.995 0.98
### define fix for mass layer - initial testing
fix LayerMasses all property/atom massLayer vector yes no no 0. 0. 0. 0.
fix LayerDensities all property/global density_all vector 7870. 5740. 5170. 5240.
## define fix for rho_eff and fracRed - initialize as zero
fix fracRed all property/atom fracRed_all vector yes no no 0. 0. 0.
fix rhoeff all property/atom rhoeff vector yes no no 0. 0. 0. 0.
###############
# Write data into files for post-processing

View File

@ -15,11 +15,14 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
combustionModel noCombustion<rhoThermoCombustion>; //PaSR<rhoChemistryCombustion>; //PaSR<psiChemistryCombustion>;
// OF5 -> OF6: noCombustion<> -> none (template parameters are no longer required)
//combustionModel noCombustion<rhoThermoCombustion>; //PaSR<rhoChemistryCombustion>; //PaSR<psiChemistryCombustion>;
combustionModel none; // OF6
active false; //true;
noCombustionCoeffs
//noCombustionCoeffs
noneCoeffs
{
}

View File

@ -136,7 +136,8 @@ functions
globalMassFrac
{
type volRegion;
//type volRegion; // OF4
type volFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;
@ -156,7 +157,8 @@ functions
globalMass
{
type volRegion;
//type volRegion; // OF4
type volFieldValue; // OF5,OF6
libs ("libfieldFunctionObjects.so");
writeControl timeStep;//outputTime;
writeInterval 1;

View File

@ -22,8 +22,10 @@ limitedTemperature
{
active yes;
selectionMode all;
Tmin 1200;
Tmax 2500;
Tmin 1200; // OF4
Tmax 2500; // OF4
min $Tmin; // OF5,OF6
max $Tmax; // OF5,OF6
}
}

View File

@ -65,21 +65,14 @@ fix k0_CO all property/atom k0_cfd5 vector yes no no 17 25 2700
fix Ea_CO all property/atom Ea_cfd5 vector yes no no 69488 73674 113859
# particle porosity/tortuosity/pore diameter
fix porosity all property/atom porosity_ vector yes no no 0.65 0.31 0.16 0.15
fix tortuosity all property/global tortuosity_ scalar 3
fix pore_diameter all property/global pore_diameter_ scalar 5.5e-7
fix porosity all property/global porosity_all vector 0.65 0.31 0.16 0.15
fix tortuosity all property/global tortuosity_all scalar 3
fix pore_diameter all property/global pore_diameter_all scalar 5.5e-7
fix layerDensities all property/global density_all vector 7870. 5740. 5170. 5240.
# define layer properties
fix LayerRelRadii all property/atom relRadii vector yes no no 1.0 0.998 0.995 0.98
### define fix for mass layer - initial testing
fix LayerMasses all property/atom massLayer vector yes no no 0. 0. 0. 0.
fix LayerDensities all property/global density_all vector 7870. 5740. 5170. 5240.
## define fix for rho_eff and fracRed - initialize as zero
fix fracRed all property/atom fracRed_all vector yes no no 0. 0. 0.
fix rhoeff all property/atom rhoeff vector yes no no 0. 0. 0. 0.
###############
# Write data into files for post-processing

View File

@ -0,0 +1,61 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
walls
{
type uniformFixedValue;
uniformValue constant (0 0 0);
}
nozzle
{
type uniformFixedValue;
uniformValue constant (0 0 0);
}
inlet
{
type uniformFixedValue;
uniformValue table
(
(0.00 (0 0 0))
(0.01 (0 0 0.25))
(0.05 (0 0 0.5))
(0.1 (0 0 0.75))
(0.15 (0 0 1.0))
(0.2 (0 0 1.33))
);
// type interstitialInletVelocity;
// inletVelocity uniform (0 0 1.33);
// alpha voidfraction;
// value $internalField;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,61 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
walls
{
type uniformFixedValue;
uniformValue constant (0 0 0);
}
nozzle
{
type uniformFixedValue;
uniformValue constant (0 0 0);
}
inlet
{
type uniformFixedValue;
uniformValue table
(
(0.00 (0 0 0))
(0.01 (0 0 0.25))
(0.05 (0 0 0.5))
(0.1 (0 0 0.75))
(0.15 (0 0 1.0))
(0.2 (0 0 1.33))
);
// type interstitialInletVelocity;
// inletVelocity uniform (0 0 1.33);
// alpha voidfraction;
// value $internalField;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- 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
{
walls
{
type zeroGradient;
}
nozzle
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- 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
{
walls
{
type zeroGradient;
}
nozzle
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
}
// ************************************************************************* //

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,12 @@
#!/bin/sh
# Source run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
echo "Clearing processor directories without removing decomposed database."
for proc in processor*
do
echo "Clearing $proc directory."
rm -rf $proc/0.*
rm -rf $proc/[1-9]*
done

View File

@ -0,0 +1,76 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "../../geometry"
convertToMeters 1;
vertices
(
($mhlx $mhly 0)
($hlx $mhly 0)
($hlx $hly 0)
($mhlx $hly 0)
($mhlx $mhly $lz)
($hlx $mhly $lz)
($hlx $hly $lz)
($mhlx $hly $lz)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (35 6 110) simpleGrading (1 1 1)
);
edges
(
);
boundary
(
walls
{
type wall;
faces
(
(0 4 7 3)
(2 6 5 1)
(1 5 4 0)
(3 7 6 2)
);
}
inlet
{
type patch;
faces
(
(0 3 2 1)
);
}
outlet
{
type patch;
faces
(
(4 5 6 7)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -0,0 +1,47 @@
/*--------------------------------*- 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 polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
4
(
walls
{
type wall;
inGroups 1(wall);
nFaces 9020;
startFace 64580;
}
inlet
{
type patch;
nFaces 190;
startFace 73600;
}
outlet
{
type patch;
nFaces 210;
startFace 73790;
}
nozzle
{
type patch;
nFaces 20;
startFace 74000;
}
)
// ************************************************************************* //

View File

@ -0,0 +1,21 @@
/*--------------------------------*- 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 regIOobject;
location "constant/polyMesh";
object cellZones;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
0
()
// ************************************************************************* //

View File

@ -0,0 +1,21 @@
/*--------------------------------*- 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 regIOobject;
location "constant/polyMesh";
object faceZones;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
0
()
// ************************************************************************* //

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,21 @@
/*--------------------------------*- 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 regIOobject;
location "constant/polyMesh";
object pointZones;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
0
()
// ************************************************************************* //

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,903 @@
/*--------------------------------*- 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 cellSet;
location "constant/polyMesh/sets";
object c0;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
880
(
50
51
52
53
54
85
86
87
88
89
120
121
122
123
124
155
156
157
158
159
260
261
262
263
264
295
296
297
298
299
330
331
332
333
334
365
366
367
368
369
470
471
472
473
474
505
506
507
508
509
540
541
542
543
544
575
576
577
578
579
680
681
682
683
684
715
716
717
718
719
750
751
752
753
754
785
786
787
788
789
890
891
892
893
894
925
926
927
928
929
960
961
962
963
964
995
996
997
998
999
1100
1101
1102
1103
1104
1135
1136
1137
1138
1139
1170
1171
1172
1173
1174
1205
1206
1207
1208
1209
1310
1311
1312
1313
1314
1345
1346
1347
1348
1349
1380
1381
1382
1383
1384
1415
1416
1417
1418
1419
1520
1521
1522
1523
1524
1555
1556
1557
1558
1559
1590
1591
1592
1593
1594
1625
1626
1627
1628
1629
1730
1731
1732
1733
1734
1765
1766
1767
1768
1769
1800
1801
1802
1803
1804
1835
1836
1837
1838
1839
1940
1941
1942
1943
1944
1975
1976
1977
1978
1979
2010
2011
2012
2013
2014
2045
2046
2047
2048
2049
2150
2151
2152
2153
2154
2185
2186
2187
2188
2189
2220
2221
2222
2223
2224
2255
2256
2257
2258
2259
2360
2361
2362
2363
2364
2395
2396
2397
2398
2399
2430
2431
2432
2433
2434
2465
2466
2467
2468
2469
2570
2571
2572
2573
2574
2605
2606
2607
2608
2609
2640
2641
2642
2643
2644
2675
2676
2677
2678
2679
2780
2781
2782
2783
2784
2815
2816
2817
2818
2819
2850
2851
2852
2853
2854
2885
2886
2887
2888
2889
2990
2991
2992
2993
2994
3025
3026
3027
3028
3029
3060
3061
3062
3063
3064
3095
3096
3097
3098
3099
3200
3201
3202
3203
3204
3235
3236
3237
3238
3239
3270
3271
3272
3273
3274
3305
3306
3307
3308
3309
3410
3411
3412
3413
3414
3445
3446
3447
3448
3449
3480
3481
3482
3483
3484
3515
3516
3517
3518
3519
3620
3621
3622
3623
3624
3655
3656
3657
3658
3659
3690
3691
3692
3693
3694
3725
3726
3727
3728
3729
3830
3831
3832
3833
3834
3865
3866
3867
3868
3869
3900
3901
3902
3903
3904
3935
3936
3937
3938
3939
4040
4041
4042
4043
4044
4075
4076
4077
4078
4079
4110
4111
4112
4113
4114
4145
4146
4147
4148
4149
4250
4251
4252
4253
4254
4285
4286
4287
4288
4289
4320
4321
4322
4323
4324
4355
4356
4357
4358
4359
4460
4461
4462
4463
4464
4495
4496
4497
4498
4499
4530
4531
4532
4533
4534
4565
4566
4567
4568
4569
4670
4671
4672
4673
4674
4705
4706
4707
4708
4709
4740
4741
4742
4743
4744
4775
4776
4777
4778
4779
4880
4881
4882
4883
4884
4915
4916
4917
4918
4919
4950
4951
4952
4953
4954
4985
4986
4987
4988
4989
5090
5091
5092
5093
5094
5125
5126
5127
5128
5129
5160
5161
5162
5163
5164
5195
5196
5197
5198
5199
5300
5301
5302
5303
5304
5335
5336
5337
5338
5339
5370
5371
5372
5373
5374
5405
5406
5407
5408
5409
5510
5511
5512
5513
5514
5545
5546
5547
5548
5549
5580
5581
5582
5583
5584
5615
5616
5617
5618
5619
5720
5721
5722
5723
5724
5755
5756
5757
5758
5759
5790
5791
5792
5793
5794
5825
5826
5827
5828
5829
5930
5931
5932
5933
5934
5965
5966
5967
5968
5969
6000
6001
6002
6003
6004
6035
6036
6037
6038
6039
6140
6141
6142
6143
6144
6175
6176
6177
6178
6179
6210
6211
6212
6213
6214
6245
6246
6247
6248
6249
6350
6351
6352
6353
6354
6385
6386
6387
6388
6389
6420
6421
6422
6423
6424
6455
6456
6457
6458
6459
6560
6561
6562
6563
6564
6595
6596
6597
6598
6599
6630
6631
6632
6633
6634
6665
6666
6667
6668
6669
6770
6771
6772
6773
6774
6805
6806
6807
6808
6809
6840
6841
6842
6843
6844
6875
6876
6877
6878
6879
6980
6981
6982
6983
6984
7015
7016
7017
7018
7019
7050
7051
7052
7053
7054
7085
7086
7087
7088
7089
7190
7191
7192
7193
7194
7225
7226
7227
7228
7229
7260
7261
7262
7263
7264
7295
7296
7297
7298
7299
7400
7401
7402
7403
7404
7435
7436
7437
7438
7439
7470
7471
7472
7473
7474
7505
7506
7507
7508
7509
7610
7611
7612
7613
7614
7645
7646
7647
7648
7649
7680
7681
7682
7683
7684
7715
7716
7717
7718
7719
7820
7821
7822
7823
7824
7855
7856
7857
7858
7859
7890
7891
7892
7893
7894
7925
7926
7927
7928
7929
8030
8031
8032
8033
8034
8065
8066
8067
8068
8069
8100
8101
8102
8103
8104
8135
8136
8137
8138
8139
8240
8241
8242
8243
8244
8275
8276
8277
8278
8279
8310
8311
8312
8313
8314
8345
8346
8347
8348
8349
8450
8451
8452
8453
8454
8485
8486
8487
8488
8489
8520
8521
8522
8523
8524
8555
8556
8557
8558
8559
8660
8661
8662
8663
8664
8695
8696
8697
8698
8699
8730
8731
8732
8733
8734
8765
8766
8767
8768
8769
8870
8871
8872
8873
8874
8905
8906
8907
8908
8909
8940
8941
8942
8943
8944
8975
8976
8977
8978
8979
9080
9081
9082
9083
9084
9115
9116
9117
9118
9119
9150
9151
9152
9153
9154
9185
9186
9187
9188
9189
)
// ************************************************************************* //

View File

@ -0,0 +1,23 @@
/*--------------------------------*- 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 faceSet;
location "constant/polyMesh/sets";
object nozzle;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
0
(
)
// ************************************************************************* //

View File

@ -0,0 +1,81 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / 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 recProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//===========================================================================//
// sub-models & settings
recModel standardRecModel;
recNorm sqrDiffNorm;
recPath simpleRandomPath;
recStatAnalysis off;//standardRecStatAnalysis;
volScalarFields
(
voidfraction
);
volVectorFields
(
Us
);
surfaceScalarFields
(
);
//verbose;
//===========================================================================//
// sub-model properties
standardRecModelProps
{
}
sqrDiffNormProps
{
normConstant -1.0;
fieldType "volScalarField";
fieldName "voidfraction";
}
simpleRandomPathProps
{
}
noRecStatAnalysis
{
}
// ************************************************************************* //

View File

@ -0,0 +1,34 @@
#!/bin/sh
# Source run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
if [ $# -eq 0 ]
then
dBname="dataBase"
else
dBname=$1
fi
rm log.decomposePar
runApplication decomposePar -force
cpdirs="system constant"
for f in $cpdirs
do
cp -r $f $dBname/$f
done
cd $dBname
rm log.decomposePar
runApplication decomposePar -force -time 0:25
rm -rf $cpdirs
rm -rf processor*/constant
for proc in processor*
do
echo "Transferring decomposed recurrence fields of $dBname/$proc to $proc."
mkdir ../$proc/$dBname
mv $proc/* ../$proc/$dBname/
rm -rf $proc
done

View File

@ -0,0 +1,75 @@
% open files
fid1 = fopen('../recurrenceMatrix');
% read dimensions
A1 = fscanf(fid1, '%g %g');
% skip the first two lines
tline = fgetl(fid1);
tline = fgetl(fid1);
% get dimensions
N1 = A1(1)
M1 = A1(2)
% allocate space
B0 = zeros(M1,N1);
% read data
for i=1:N1
B0(:,i) = fscanf(fid1, '%g', inf);
tline = fgetl(fid1);
tline = fgetl(fid1);
end
% close files
fclose(fid1);
% skip this many leading entries
sle = 0;
B1 = zeros(M1-sle,N1-sle);
B1 = B0(1+sle:M1,1+sle:N1);
maxval=0.0;
%for i=1:M1
% for j=1:N1
% if(B1(i,j)>maxval)
% maxval=B1(i,j);
% endif
% end
%end
maxval = 1.0;
for i=1:M1-sle
for j=1:N1-sle
B1(i,j)=1-B1(i,j)/maxval;
% B1(i,j)=B1(i,j)/maxval;
end
end
% write full matrix to simple text file
dlmwrite('myMatrix.txt',B1,'delimiter','\t','precision',3)
%plot(C1)
%saveas(gcf,'Plot','png')
%B1=B1*1;
%hold on
%colormap(jet(50))
%imagesc(B1)
%colorbar
%saveas(gcf,'Figure','png')

View File

@ -0,0 +1,7 @@
\documentclass[preview]{standalone}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\input{myDistMatrix}
\end{figure}
\end{document}

View File

@ -0,0 +1,4 @@
octave getRecMat.m
gnuplot plotDistMat.gnu
pdflatex makePlot.tex
pdfcrop makePlot.pdf distMatrix.pdf

View File

@ -0,0 +1,47 @@
reset
clear
set terminal cairolatex pdf dash dl 1
set pm3d map
set contour surface
set cntrparam levels discr 10
set samples 50
set isosamples 50
set palette maxcolors 8
set palette defined(\
0 0.2314 0.2980 0.7529,\
0.125000 0.384300 0.509800 0.917600,\
0.250000 0.552900 0.690200 0.996100,\
0.375000 0.721600 0.815700 0.976500,\
0.500000 0.866700 0.866700 0.866700,\
0.625000 0.960800 0.768600 0.678400,\
0.750000 0.956900 0.603900 0.482400,\
0.875000 0.870600 0.376500 0.302000,\
1 0.7059 0.0157 0.1490\
)
set cbtics 0.6
set mcbtics 8
#set cblabel 'distance'
#unset cbtics
set cbrange [0:0.6]
set format cb "%.1f"
set xrange[0:3]
set yrange[0:3]
set xlabel 't [s]'
set ylabel 't [s]'
set xtics 2
set ytics 2
set mxtics 2
set mytics 2
set size square
set out 'myDistMatrix.tex'
splot 'myMatrix.txt' matrix using ($1/200):($2/200):(1-$3) with image notitle

View File

@ -0,0 +1 @@
mpirun -np 2 rStatAnalysis -parallel > run.log 2>&1

View File

@ -0,0 +1,87 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / 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.00025;
deltaT 0.00025;
writeControl timeStep;
writeInterval 4000;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable true;
libs (
// "libOpenFOAM.so"
// "libsimpleSwakFunctionObjects.so"
// "libswakFunctionObjects.so"
// "libgroovyBC.so"
// "libgroovyStandardBCs.so"
);
functions
{
/* probes1
{
type probes;
functionObjectLibs ("libsampling.so");
#include "probesDict";
}
*/
/* temperatureSum
{
type patchExpression;
outputControl timeStep;
outputInterval 40;
accumulations (
sum
);
patches (
outlet
);
expression "phi*T";
verbose false;
}
*/
}
// ************************************************************************* //

View File

@ -0,0 +1,53 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object createPatchDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// This application/dictionary controls:
// - optional: create new patches from boundary faces (either given as
// a set of patches or as a faceSet)
// - always: order faces on coupled patches such that they are opposite. This
// is done for all coupled faces, not just for any patches created.
// - optional: synchronise points on coupled patches.
// 1. Create cyclic:
// - specify where the faces should come from
// - specify the type of cyclic. If a rotational specify the rotationAxis
// and centre to make matching easier
// - always create both halves in one invocation with correct 'neighbourPatch'
// setting.
// - optionally pointSync true to guarantee points to line up.
// 2. Correct incorrect cyclic:
// This will usually fail upon loading:
// "face 0 area does not match neighbour 2 by 0.0100005%"
// " -- possible face ordering problem."
// - in polyMesh/boundary file:
// - loosen matchTolerance of all cyclics to get case to load
// - or change patch type from 'cyclic' to 'patch'
// and regenerate cyclic as above
// Do a synchronisation of coupled points after creation of any patches.
// Note: this does not work with points that are on multiple coupled patches
// with transformations (i.e. cyclics).
pointSync false;
// Patches to create.
patches
(
);
// ************************************************************************* //

View File

@ -0,0 +1,87 @@
/*-------------------------------*- 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 2;
//- 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 (1 1 2);
// n (2 1 4);
delta 0.001;
}
hierarchicalCoeffs
{
n (2 2 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"
//);
// ************************************************************************* //

View File

@ -0,0 +1,65 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default 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((nuEff*dev(T(grad(U))))) Gauss linear;
div(phi,T) Gauss limitedLinear 1;
// div(phi,T) Gauss upwind;
}
laplacianSchemes
{
default Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
p ;
T ;
}
// ************************************************************************* //

View File

@ -0,0 +1,67 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
p
{
solver GAMG;
tolerance 1e-06;
relTol 0.1;
smoother GaussSeidel;
nPreSweeps 0;
nPostSweeps 2;
cacheAgglomeration on;
agglomerator faceAreaPair;
nCellsInCoarsestLevel 10;
mergeLevels 1;
}
pFinal
{
$p;
tolerance 1e-06;
relTol 0;
}
"(U|k|epsilon|R|nuTilda|c)"
{
solver smoothSolver;
smoother GaussSeidel;
tolerance 1e-05;
relTol 0;
}
T
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-8;
relTol 0;
}
}
PISO
{
nCorrectors 2;
nNonOrthogonalCorrectors 0;
pRefCell 0;
pRefValue 0;
}
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \ / O peration | Version: 2.1.x |
| \ / A nd | Web: www.OpenFOAM.org |
| \/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object probesDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
fields
(
voidfraction
UsRec
URec
pRec
rhoRec
voidfractionRec
addSource
);
outputControl timeStep; //outputTime;
outputInterval 40;
// Locations to be probed.
probeLocations
(
(0.0 0.0 0.03)
(0.0 0.0 0.06)
(0.0 0.0 0.09)
(0.035 0.0 0.03)
(-0.035 0.0 0.03)
(0.02 0.0 0.001)
(-0.02 0.0 0.001)
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volVectorField;
location "0";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
cylinder
{
type fixedValue;
value uniform (0 0 0);
}
inlet
{
type fixedValue;
value uniform (0.0040120 0 0); // Re = 200
}
outlet
{
type inletOutlet;
inletValue uniform (0 0 0);
value uniform (0 0 0);
}
"side.*"
{
type slip;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volScalarField;
location "0";
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
cylinder
{
type zeroGradient;
}
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 0;
}
"side.*"
{
type zeroGradient;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

Some files were not shown because too many files have changed in this diff Show More