mirror of
https://github.com/ParticulateFlow/CFDEMcoupling-PFM.git
synced 2025-12-08 06:37:44 +00:00
Tutorial case for rCFD case of a fluidized bed with transient conditions.
This commit is contained in:
@ -0,0 +1,4 @@
|
||||
1.) creation of databases
|
||||
go to folder db1 and execute run.sh; once finished, go to folder db2 and execute run.sh
|
||||
2.) rCFD run
|
||||
first transfer and decompose the databases by execute prerun.sh; for the actual rCFD run, execute run.sh
|
||||
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volScalarField;
|
||||
location "-5";
|
||||
object Ksl;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -3 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volScalarField;
|
||||
location "-5";
|
||||
object T;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 1 0 0 0];
|
||||
|
||||
internalField uniform 324;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type uniformFixedValue;
|
||||
uniformValue constant 324;
|
||||
value uniform 324;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,50 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volVectorField;
|
||||
location "-5";
|
||||
object U;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type uniformFixedValue;
|
||||
uniformValue constant (0 0 0);
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type uniformFixedValue;
|
||||
uniformValue table
|
||||
|
||||
2
|
||||
(
|
||||
(-10 (0 0 0))
|
||||
(-9.9 (0 0 0.4))
|
||||
)
|
||||
;
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volVectorField;
|
||||
location "-5";
|
||||
object Us;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volScalarField;
|
||||
location "-5";
|
||||
object addSource;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -1 -3 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volScalarField;
|
||||
location "-5";
|
||||
object p;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -1 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 100000;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type uniformFixedValue;
|
||||
uniformValue constant 100000;
|
||||
value uniform 100000;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,40 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volScalarField;
|
||||
location "-5";
|
||||
object rho;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -3 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1.748;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1.748;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volScalarField;
|
||||
location "-5";
|
||||
object voidfraction;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,42 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volScalarField;
|
||||
location "-5";
|
||||
object wallQFactor;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,211 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / 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
|
||||
|
||||
modelType "A"; // A or B
|
||||
|
||||
couplingInterval 10;
|
||||
|
||||
voidFractionModel divided;
|
||||
|
||||
locateModel engine;//turboEngineM2M;//
|
||||
|
||||
meshMotionModel noMeshMotion;
|
||||
|
||||
regionModel allRegion;
|
||||
|
||||
IOModel "off";
|
||||
|
||||
dataExchangeModel twoWayMPI;
|
||||
|
||||
averagingModel dense;
|
||||
|
||||
clockModel standardClock;
|
||||
|
||||
smoothingModel off;
|
||||
|
||||
probeModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
BeetstraDrag
|
||||
gradPForce
|
||||
viscForce
|
||||
);
|
||||
|
||||
//useDDTvoidfraction;
|
||||
|
||||
energyModels
|
||||
(
|
||||
heatTransferGunn
|
||||
);
|
||||
|
||||
chemistryModels
|
||||
(
|
||||
off
|
||||
);
|
||||
|
||||
thermCondModel SyamlalThermCond;
|
||||
|
||||
momCoupleModels
|
||||
(
|
||||
implicitCouple
|
||||
);
|
||||
|
||||
|
||||
turbulenceModelType "turbulenceProperties";
|
||||
|
||||
|
||||
//===========================================================================//
|
||||
// sub-model properties
|
||||
|
||||
implicitCoupleProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
|
||||
ArchimedesProps
|
||||
{
|
||||
densityFieldName "rho";
|
||||
gravityFieldName "g";
|
||||
}
|
||||
gradPForceProps
|
||||
{
|
||||
pFieldName "p";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
velocityFieldName "U";
|
||||
//interpolation;
|
||||
}
|
||||
|
||||
viscForceProps
|
||||
{
|
||||
velocityFieldName "U";
|
||||
densityFieldName "rho";
|
||||
//interpolation true;
|
||||
}
|
||||
volWeightedAverageProps
|
||||
{
|
||||
scalarFieldNames
|
||||
(
|
||||
voidfraction
|
||||
);
|
||||
vectorFieldNames
|
||||
(
|
||||
);
|
||||
upperThreshold 0.999;
|
||||
lowerThreshold 0;
|
||||
verbose;
|
||||
}
|
||||
totalMomentumExchangeProps
|
||||
{
|
||||
implicitMomExFieldName "Ksl";
|
||||
explicitMomExFieldName "none";
|
||||
fluidVelFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
BeetstraDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
phi 1;
|
||||
}
|
||||
|
||||
heatTransferGunnProps
|
||||
{
|
||||
partTempName "Temp";
|
||||
partHeatFluxName "convectiveHeatFlux";
|
||||
calcPartTempField true;
|
||||
partRefTemp 293;
|
||||
verbose true;
|
||||
}
|
||||
|
||||
SyamlalThermCondProps
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
fieldTimeAverageProps
|
||||
{
|
||||
startTime 5.0;
|
||||
|
||||
scalarFieldNames
|
||||
(
|
||||
"voidfraction"
|
||||
);
|
||||
|
||||
vectorFieldNames
|
||||
(
|
||||
"Us"
|
||||
);
|
||||
}
|
||||
|
||||
centreProps
|
||||
{
|
||||
alphaMin 0.10;
|
||||
}
|
||||
|
||||
engineProps
|
||||
{
|
||||
treeSearch true;
|
||||
}
|
||||
|
||||
turboEngineM2MProps
|
||||
{
|
||||
turboEngineProps
|
||||
{
|
||||
treeSearch true;
|
||||
}
|
||||
}
|
||||
|
||||
dividedProps
|
||||
{
|
||||
alphaMin 0.08;
|
||||
scaleUpVol 1.0;
|
||||
weight 1.0;
|
||||
verbose;
|
||||
}
|
||||
|
||||
|
||||
|
||||
twoWayMPIProps
|
||||
{
|
||||
maxNumberOfParticles 50000;
|
||||
liggghtsPath "../DEM/in.liggghts_run";
|
||||
}
|
||||
|
||||
|
||||
particleProbeProps
|
||||
{
|
||||
particleIDsToSample "0";
|
||||
}
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,22 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class uniformDimensionedVectorField;
|
||||
location "constant";
|
||||
object g;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -2 0 0 0 0];
|
||||
value ( 0 0 -9.81 );
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,42 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object liggghtsCommands;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
liggghtsCommandModels
|
||||
(
|
||||
runLiggghts
|
||||
writeLiggghts
|
||||
);
|
||||
// ************************************************************************* //
|
||||
|
||||
/*runLiggghtsProps
|
||||
{
|
||||
preNo false;
|
||||
}
|
||||
|
||||
writeLiggghtsProps
|
||||
{
|
||||
writeLast off;
|
||||
overwrite off;
|
||||
}*/
|
||||
@ -0,0 +1,75 @@
|
||||
/*--------------------------------*- 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;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
convertToMeters 1;
|
||||
|
||||
|
||||
vertices
|
||||
(
|
||||
(-0.04 -0.005 0)
|
||||
(0.04 -0.005 0)
|
||||
(0.04 0.005 0)
|
||||
(-0.04 0.005 0)
|
||||
(-0.04 -0.005 0.4)
|
||||
(0.04 -0.005 0.4)
|
||||
(0.04 0.005 0.4)
|
||||
(-0.04 0.005 0.4)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (0 1 2 3 4 5 6 7) (32 4 160) 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
|
||||
(
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- 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;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
3
|
||||
(
|
||||
walls
|
||||
{
|
||||
type wall;
|
||||
inGroups 1(wall);
|
||||
nFaces 11520;
|
||||
startFace 55552;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 128;
|
||||
startFace 67072;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 128;
|
||||
startFace 67200;
|
||||
}
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
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
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,49 @@
|
||||
/*--------------------------------*- 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 "constant";
|
||||
object thermophysicalProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
thermoType
|
||||
{
|
||||
type hePsiThermo;
|
||||
mixture pureMixture;
|
||||
transport const;
|
||||
thermo eConst;
|
||||
equationOfState perfectGas;
|
||||
specie specie;
|
||||
energy sensibleInternalEnergy;
|
||||
}
|
||||
|
||||
mixture
|
||||
{
|
||||
specie
|
||||
{
|
||||
nMoles 1;
|
||||
molWeight 42.1;
|
||||
}
|
||||
thermodynamics
|
||||
{
|
||||
Cv 1310;
|
||||
Hf 0;
|
||||
}
|
||||
transport
|
||||
{
|
||||
mu 1e-05;
|
||||
Pr 0.72;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,25 @@
|
||||
/*--------------------------------*- 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 "constant";
|
||||
object transportProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
transportModel Newtonian;
|
||||
|
||||
//nu nu [ 0 2 -1 0 0 0 0 ] 5.7e-06;
|
||||
|
||||
kf kf [ 1 1 -3 -1 0 0 0 ] 0.021;
|
||||
|
||||
Cp Cp [ 0 2 -2 -1 0 0 0 ] 1500;
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,21 @@
|
||||
/*--------------------------------*- 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 "constant";
|
||||
object turbulenceProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
simulationType laminar;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,64 @@
|
||||
/*--------------------------------*- 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 -5;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime -0.005;
|
||||
|
||||
deltaT 0.00005;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
writeInterval 100;
|
||||
|
||||
purgeWrite 2;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression off;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable true;
|
||||
|
||||
libs (
|
||||
|
||||
);
|
||||
|
||||
functions
|
||||
{
|
||||
probes1
|
||||
{
|
||||
type probes;
|
||||
|
||||
functionObjectLibs ("libsampling.so");
|
||||
|
||||
#include "probesDict";
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,134 @@
|
||||
/*--------------------------------*- 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.005;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 2.5;
|
||||
|
||||
deltaT 0.00005;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
writeInterval 1000000;
|
||||
|
||||
purgeWrite 2;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression off;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable true;
|
||||
|
||||
libs (
|
||||
|
||||
);
|
||||
|
||||
functions
|
||||
{
|
||||
fieldAverage1
|
||||
{
|
||||
type fieldAverage;
|
||||
libs ("libfieldFunctionObjects.so");
|
||||
writeControl writeTime;
|
||||
|
||||
fields
|
||||
(
|
||||
U
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 0.0025;
|
||||
}
|
||||
Us
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 0.0025;
|
||||
}
|
||||
voidfraction
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 0.0025;
|
||||
}
|
||||
rho
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 0.0025;
|
||||
}
|
||||
p
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 0.0025;
|
||||
}
|
||||
phi
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 0.0025;
|
||||
}
|
||||
NuField
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 0.0025;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
fieldOutput
|
||||
{
|
||||
type writeObjects;
|
||||
functionObjectLibs ( "libutilityFunctionObjects.so" );
|
||||
exclusiveWriting true;
|
||||
objects ("rhoMean" "pMean" "UMean" "UsMean" "voidfractionMean" "phiMean" "NuFieldMean");
|
||||
writeControl timeStep;
|
||||
writeInterval 100;
|
||||
}
|
||||
|
||||
probes1
|
||||
{
|
||||
type probes;
|
||||
|
||||
functionObjectLibs ("libsampling.so");
|
||||
|
||||
#include "probesDict";
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
(
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,86 @@
|
||||
/*-------------------------------*- C++ -*---------------------------------*\
|
||||
| ========= |
|
||||
| \\ / OpenFOAM |
|
||||
| \\ / |
|
||||
| \\ / The Open Source CFD Toolbox |
|
||||
| \\/ http://www.OpenFOAM.org |
|
||||
\*-------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
note "mesh decomposition control dictionary";
|
||||
location "system";
|
||||
object decomposeParDict;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
numberOfSubdomains 4;
|
||||
|
||||
//- Keep owner and neighbour on same processor for faces in zones:
|
||||
// preserveFaceZones (heater solid1 solid3);
|
||||
|
||||
//method scotch;
|
||||
// method hierarchical;
|
||||
method simple;
|
||||
// method metis;
|
||||
// method manual;
|
||||
|
||||
simpleCoeffs
|
||||
{
|
||||
n (2 1 2);
|
||||
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"
|
||||
//);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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 ;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,79 @@
|
||||
/*--------------------------------*- 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|rho)"
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-6;
|
||||
relTol 0.01;
|
||||
}
|
||||
|
||||
"(p|rho)Final"
|
||||
{
|
||||
$p;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"(U|k|e|epsilon|R|nuTilda|c)"
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother GaussSeidel;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"(U|e|k|nuTilda)Final"
|
||||
{
|
||||
$U;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
T
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-8;
|
||||
relTol 0;
|
||||
}
|
||||
}
|
||||
|
||||
PIMPLE
|
||||
{
|
||||
momentumPredictor yes;
|
||||
nOuterCorrectors 3;
|
||||
nCorrectors 1;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
rhoMin rhoMin [ 1 -3 0 0 0 ] 0.5;
|
||||
rhoMax rhoMax [ 1 -3 0 0 0 ] 2.0;
|
||||
}
|
||||
|
||||
relaxationFactors
|
||||
{
|
||||
fields
|
||||
{
|
||||
}
|
||||
equations
|
||||
{
|
||||
".*" 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
voidfractionMean
|
||||
rho
|
||||
rhoMean
|
||||
p
|
||||
pMean
|
||||
Us
|
||||
UsMean
|
||||
U
|
||||
UMean
|
||||
T
|
||||
NuFieldMean
|
||||
addSource
|
||||
);
|
||||
|
||||
writeControl timeStep;
|
||||
writeInterval 20;
|
||||
|
||||
|
||||
// Locations to be probed.
|
||||
probeLocations
|
||||
(
|
||||
(0.0 0.0 0.03)
|
||||
(0.0 0.0 0.06)
|
||||
(0.0 0.0 0.09)
|
||||
);
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -0,0 +1,508 @@
|
||||
/*--------------------------------*- 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 topoSetDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
#include "../geometry"
|
||||
actions
|
||||
(
|
||||
{
|
||||
name c0;
|
||||
type cellSet;
|
||||
action new;
|
||||
source boxToCell;
|
||||
sourceInfo
|
||||
{
|
||||
box (#calc "-0.5*$nx" #calc "-0.5*$ny" -0.1)(#calc "0.5*$nx" #calc "0.5*$ny" 0.1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
{
|
||||
name nozzle;
|
||||
type faceSet;
|
||||
action new;
|
||||
source patchToFace;
|
||||
sourceInfo
|
||||
{
|
||||
name "inlet";
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
name nozzle;
|
||||
type faceSet;
|
||||
action subset;
|
||||
source cellToFace;
|
||||
sourceInfo
|
||||
{
|
||||
set c0;
|
||||
option all;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
);
|
||||
|
||||
// List of actions. Each action is a dictionary with e.g.
|
||||
// // name of set
|
||||
// name c0;
|
||||
//
|
||||
// // type: pointSet/faceSet/cellSet/faceZoneSet/cellZoneSet
|
||||
// type cellSet;
|
||||
//
|
||||
// // action to perform on set. Two types:
|
||||
// // - require no source : clear/invert/remove
|
||||
// // clear : clears set or zone
|
||||
// // invert : select all currently non-selected elements
|
||||
// // remove : removes set or zone
|
||||
// // - require source : new/add/delete/subset
|
||||
// // new : create new set or zone from source
|
||||
// // add : add source to contents
|
||||
// // delete : deletes source from contents
|
||||
// // subset : keeps elements both in contents and source
|
||||
// action new;
|
||||
//
|
||||
// The source entry varies according to the type of set:
|
||||
//
|
||||
// cellSet
|
||||
// ~~~~~~~
|
||||
//
|
||||
// // Select by explicitly providing cell labels
|
||||
// source labelToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// value (12 13 56); // labels of cells
|
||||
// }
|
||||
//
|
||||
// // Copy elements from cellSet
|
||||
// source cellToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c1;
|
||||
// }
|
||||
//
|
||||
// // Cells in cell zone
|
||||
// source zoneToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Zone"; // Name of cellZone, regular expressions allowed
|
||||
// }
|
||||
//
|
||||
// // Cells on master or slave side of faceZone
|
||||
// source faceZoneToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Zone"; // Name of faceZone, regular expressions allowed
|
||||
// option master; // master/slave
|
||||
// }
|
||||
//
|
||||
// // Select based on faceSet
|
||||
// source faceToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set f0; // Name of faceSet
|
||||
//
|
||||
// //option neighbour; // cell with neighbour in faceSet
|
||||
// //option owner; // ,, owner
|
||||
// option any; // cell with any face in faceSet
|
||||
// //option all; // cell with all faces in faceSet
|
||||
// }
|
||||
//
|
||||
// // Select based on pointSet
|
||||
// source pointToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set p0;
|
||||
// option any; // cell with any point in pointSet
|
||||
// //option edge; // cell with an edge with both points in pointSet
|
||||
// }
|
||||
//
|
||||
// // Select based on cellShape
|
||||
// source shapeToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// type hex; // hex/wedge/prism/pyr/tet/tetWedge/splitHex
|
||||
// }
|
||||
//
|
||||
// // Cells with cell centre within box ('box') or multiple boxes ('boxes')
|
||||
// source boxToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// box (0 0 0) (1 1 1);
|
||||
// //boxes ((0 0 0) (1 1 1) (10 10 10)(11 11 11));
|
||||
// }
|
||||
//
|
||||
// // Cells with cell centre within box
|
||||
// // Is skewed, rotated box. Given as origin and three spanning vectors.
|
||||
// source rotatedBoxToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// origin (0.2 0.2 -10);
|
||||
// i (0.2 0.2 0);
|
||||
// j (-0.2 0.2 0);
|
||||
// k (10 10 10);
|
||||
// }
|
||||
//
|
||||
// // Cells with centre within cylinder
|
||||
// source cylinderToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// p1 (0.2 0.2 -10); // start point on cylinder axis
|
||||
// p2 (0.2 0.2 0); // end point on cylinder axis
|
||||
// radius 5.0;
|
||||
// }
|
||||
//
|
||||
// // Cells with centre within sphere
|
||||
// source sphereToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// centre (0.2 0.2 -10);
|
||||
// radius 5.0;
|
||||
// }
|
||||
//
|
||||
// // Cells with cellCentre nearest to coordinates
|
||||
// source nearestToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// points ((0 0 0) (1 1 1)(2 2 2));
|
||||
// }
|
||||
//
|
||||
// // Select based on surface
|
||||
// source surfaceToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// file "www.avl.com-geometry.stl";
|
||||
// useSurfaceOrientation false; // use closed surface inside/outside
|
||||
// // test (ignores includeCut,
|
||||
// // outsidePoints)
|
||||
// outsidePoints ((-99 -99 -59)); // definition of outside
|
||||
// includeCut false; // cells cut by surface
|
||||
// includeInside false; // cells not on outside of surf
|
||||
// includeOutside false; // cells on outside of surf
|
||||
// nearDistance -1; // cells with centre near surf
|
||||
// // (set to -1 if not used)
|
||||
// curvature 0.9; // cells within nearDistance
|
||||
// // and near surf curvature
|
||||
// // (set to -100 if not used)
|
||||
// }
|
||||
//
|
||||
// // values of field within certain range
|
||||
// source fieldToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// fieldName U; // Note: uses mag(U) since volVectorField
|
||||
// min 0.1;
|
||||
// max 0.5;
|
||||
// }
|
||||
//
|
||||
// // Mesh region (non-face connected part of (subset of)mesh)
|
||||
// source regionToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c0; // optional name of cellSet giving mesh subset
|
||||
// insidePoints ((1 2 3)); // points inside region to select
|
||||
// nErode 0; // optional number of layers to erode
|
||||
// // selection
|
||||
// }
|
||||
//
|
||||
// // Cells underneath plane such that volume is reached. E.g. for use
|
||||
// // in setFields to set the level given a wanted volume.
|
||||
// source targetVolumeToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// volume 2e-05;
|
||||
// normal (0 1 0); // usually in direction of gravity
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// faceSet
|
||||
// ~~~~~~~
|
||||
//
|
||||
// // Copy elements from faceSet
|
||||
// source faceToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set f1;
|
||||
// }
|
||||
//
|
||||
// // Select based on cellSet
|
||||
// source cellToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c0;
|
||||
// option all; // All faces of cells
|
||||
// //option both; // Only faces whose owner&neighbour are in cellSet
|
||||
// }
|
||||
//
|
||||
// // Select based on pointSet
|
||||
// source pointToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set p0;
|
||||
// option any; // Faces using any point in pointSet
|
||||
// //option all // Faces with all points in pointSet
|
||||
// //option edge // Faces with two consecutive points in pointSet
|
||||
// }
|
||||
//
|
||||
// // Select by explicitly providing face labels
|
||||
// source labelToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// value (12 13 56); // labels of faces
|
||||
// }
|
||||
//
|
||||
// // All faces of patch
|
||||
// source patchToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Wall"; // Name of patch or patch group,
|
||||
// // (regular expressions allowed)
|
||||
// }
|
||||
//
|
||||
// // All boundary faces
|
||||
// source boundaryToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// }
|
||||
//
|
||||
// // All faces of faceZone
|
||||
// source zoneToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Zone1"; // Name of faceZone, regular expressions allowed
|
||||
// }
|
||||
//
|
||||
// // Faces with face centre within box ('box') or multiple boxes ('boxes')
|
||||
// source boxToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// box (0 0 0) (1 1 1);
|
||||
// //boxes ((0 0 0) (1 1 1) (10 10 10)(11 11 11));
|
||||
// }
|
||||
//
|
||||
// // Faces with normal to within certain angle aligned with vector.
|
||||
// source normalToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// normal (0 0 1); // Vector
|
||||
// cos 0.01; // Tolerance (max cos of angle)
|
||||
// }
|
||||
//
|
||||
// // Walk on faces in faceSet, starting from face nearest given position
|
||||
// source regionToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set f0;
|
||||
// nearPoint (0.1 0.1 0.005);
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// pointSet
|
||||
// ~~~~~~~
|
||||
//
|
||||
// // Copy elements from pointSet
|
||||
// source pointToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set p1;
|
||||
// }
|
||||
//
|
||||
// // Select based on cellSet
|
||||
// source cellToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c0;
|
||||
// option all; // all points of cell
|
||||
// }
|
||||
//
|
||||
// // Select based on faceSet
|
||||
// source faceToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set f0; // name of faceSet
|
||||
// option all; // all points of face
|
||||
// }
|
||||
//
|
||||
// // Select by explicitly providing point labels
|
||||
// source labelToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// value (12 13 56); // labels of points
|
||||
// }
|
||||
//
|
||||
// // All points in pointzone
|
||||
// source zoneToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Zone"; // name of pointZone, regular expressions allowed
|
||||
// }
|
||||
//
|
||||
// // Points nearest to coordinates
|
||||
// source nearestToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// points ((0 0 0) (1 1 1));
|
||||
// }
|
||||
//
|
||||
// // Points with coordinate within box ('box') or multiple boxes ('boxes')
|
||||
// source boxToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// box (0 0 0) (1 1 1);
|
||||
// //boxes ((0 0 0) (1 1 1) (10 10 10)(11 11 11));
|
||||
// }
|
||||
//
|
||||
// // Select based on surface
|
||||
// source surfaceToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// file "www.avl.com-geometry.stl";
|
||||
// nearDistance 0.1; // points near to surface
|
||||
// includeInside false; // points on inside of surface
|
||||
// // (requires closed surface with consistent
|
||||
// // normals)
|
||||
// includeOutside false; // ,, outside ,,
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// cellZoneSet
|
||||
// ~~~~~~~~~~~
|
||||
// (mirrors operations on a cellSet into a cellZone)
|
||||
//
|
||||
// // Select based on cellSet
|
||||
// source setToCellZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c0; // name of cellSet
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// faceZoneSet
|
||||
// ~~~~~~~~~~~
|
||||
// // Select based on faceSet without orientation
|
||||
// source setToFaceZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// faceSet f0; // name of faceSet
|
||||
// }
|
||||
//
|
||||
// // Select based on faceSet, using cellSet to determine orientation
|
||||
// source setsToFaceZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// faceSet f0; // name of faceSet
|
||||
// cellSet c0; // name of cellSet of slave side
|
||||
// flip false; // optional: flip the faceZone (so now the cellSet
|
||||
// // is the master side)
|
||||
// }
|
||||
//
|
||||
// // Select based on surface. Orientation from normals on surface
|
||||
// {
|
||||
// name fz0;
|
||||
// type faceZoneSet;
|
||||
// action new;
|
||||
// source searchableSurfaceToFaceZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// surface searchableSphere;
|
||||
// centre (0.05 0.05 0.005);
|
||||
// radius 0.025;
|
||||
// //name sphere.stl; // Optional name if surface triSurfaceMesh
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// pointZoneSet
|
||||
// ~~~~~~~~~~~~
|
||||
// (mirrors operations on a pointSet into a pointZone)
|
||||
//
|
||||
// // Select based on pointSet
|
||||
// source setToPointZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set p0; // name of pointSet
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
/*
|
||||
actions
|
||||
(
|
||||
// Example:pick up internal faces on outside of cellSet
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// Load initial cellSet
|
||||
{
|
||||
name c0;
|
||||
type cellSet;
|
||||
action new;
|
||||
source labelToCell;
|
||||
sourceInfo
|
||||
{
|
||||
value (12 13 56);
|
||||
}
|
||||
}
|
||||
|
||||
// Get all faces in cellSet
|
||||
{
|
||||
name f0;
|
||||
type faceSet;
|
||||
action new;
|
||||
source cellToFace;
|
||||
sourceInfo
|
||||
{
|
||||
set c0;
|
||||
option all;
|
||||
}
|
||||
}
|
||||
|
||||
// Determine inverse cellSet
|
||||
{
|
||||
name c1;
|
||||
type cellSet;
|
||||
action new;
|
||||
source cellToCell;
|
||||
sourceInfo
|
||||
{
|
||||
set c0;
|
||||
}
|
||||
}
|
||||
{
|
||||
name c1;
|
||||
type cellSet;
|
||||
action invert;
|
||||
}
|
||||
|
||||
// Keep in f0 all faces in c1
|
||||
{
|
||||
name f0;
|
||||
type faceSet;
|
||||
action subset;
|
||||
source cellToFace;
|
||||
sourceInfo
|
||||
{
|
||||
set c1;
|
||||
option all;
|
||||
}
|
||||
}
|
||||
);
|
||||
*/
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,75 @@
|
||||
fname='temp_histo_fine.txt';
|
||||
|
||||
% number of header lines
|
||||
nheader=4;
|
||||
|
||||
inputarr = dlmread(fname,'' ,nheader,0);
|
||||
|
||||
% number of time steps
|
||||
ntimes = 1000;
|
||||
|
||||
% number of bins
|
||||
nbins = 224;
|
||||
dt = 1.0;
|
||||
|
||||
lowerbound = 1;
|
||||
upperbound = lowerbound + nbins - 1;
|
||||
|
||||
fid0 = fopen(strcat('stat_',fname), 'w');
|
||||
fprintf(fid0,'# time index || ave || std || maximum || FWHF\n');
|
||||
|
||||
for i=0:ntimes
|
||||
|
||||
maxval = 0.0;
|
||||
for j= lowerbound:upperbound
|
||||
if(inputarr(j,3) > maxval)
|
||||
maxval = inputarr(j,3);
|
||||
end
|
||||
end
|
||||
|
||||
hm = 0.5*maxval
|
||||
lower = 0.0;
|
||||
upper = 0.0;
|
||||
|
||||
mean = 0.0;
|
||||
meansqr = 0.0;
|
||||
counter = 0;
|
||||
|
||||
for j = lowerbound:upperbound-1
|
||||
if(inputarr(j,3) < hm && inputarr(j+1,3) >= hm)
|
||||
lower = 0.5*(inputarr(j,2)+inputarr(j+1,2));
|
||||
j
|
||||
hm
|
||||
inputarr(j,3)
|
||||
inputarr(j+1,3)
|
||||
lower
|
||||
% lower = inputarr(j,2) + (inputarr(j+1,2) - inputarr(j,2)) * (hm - inputarr(j,3)) / (inputarr(j+1,3) - inputarr(j,3));
|
||||
end
|
||||
if(inputarr(j,3) > hm && inputarr(j+1,3) <= hm)
|
||||
upper = 0.5*(inputarr(j,2)+inputarr(j+1,2));
|
||||
%upper = inputarr(j+1,2) - (inputarr(j+1,2) - inputarr(j,2)) * (hm - inputarr(j+1,3)) / (inputarr(j,3) - inputarr(j+1,3));
|
||||
end
|
||||
|
||||
mean = mean + inputarr(j,2) * inputarr(j,3);
|
||||
meansqr = meansqr + inputarr(j,2)^2 * inputarr(j,3);
|
||||
counter = counter + inputarr(j,3);
|
||||
end
|
||||
|
||||
mean = mean/double(counter);
|
||||
std = meansqr/double(counter) - mean^2;
|
||||
std = sqrt(std);
|
||||
fwhm = upper - lower;
|
||||
upper
|
||||
lower
|
||||
|
||||
if(i>0)
|
||||
fprintf(fid0,'%f\t%f\t%f\t%f\t%f\n',i*dt,mean,std,maxval,fwhm);
|
||||
end
|
||||
|
||||
|
||||
lowerbound = upperbound + 2;
|
||||
upperbound = lowerbound + nbins - 1;
|
||||
|
||||
end
|
||||
|
||||
fclose(fid0);
|
||||
@ -0,0 +1,133 @@
|
||||
# variables
|
||||
|
||||
# material parameters
|
||||
|
||||
variable partDens equal 667
|
||||
variable partDiam equal 0.00099
|
||||
variable partRad equal 0.5*${partDiam}
|
||||
|
||||
# particle-particle properties
|
||||
variable knPP equal 1600
|
||||
variable ktPP equal 800
|
||||
# ATTENTION: LIGGGHTS scales damping coefficients with m_eff
|
||||
variable gnPP equal 3.1192e+04
|
||||
variable gtPP equal 2.4446e+04
|
||||
variable muPP equal 0.1
|
||||
|
||||
|
||||
###############
|
||||
# the following parameters need to be updated
|
||||
###############
|
||||
|
||||
variable rfPP equal 0.1
|
||||
|
||||
|
||||
# particle-wall properties
|
||||
# wall 1 = front and side walls
|
||||
# wall 2 = back wall
|
||||
variable knPW equal v_knPP
|
||||
variable ktPW equal v_ktPP
|
||||
variable gnPW equal v_gnPP/sqrt(2.0)
|
||||
variable gtPW equal v_gtPP/sqrt(2.0)
|
||||
variable muPW1 equal 0.2
|
||||
variable muPW2 equal 0.2
|
||||
variable rfPW1 equal 0.1
|
||||
variable rfPW2 equal 0.1
|
||||
|
||||
variable Tpart equal 351
|
||||
|
||||
variable dt equal 0.000005
|
||||
variable skin equal 0.0005
|
||||
###############################################
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary f f f
|
||||
newton off
|
||||
units si
|
||||
processors 2 1 2
|
||||
|
||||
region reg block -0.04 0.04 -0.005 0.005 0.0 0.4 units box
|
||||
create_box 3 reg
|
||||
|
||||
neighbor ${skin} bin
|
||||
neigh_modify delay 0
|
||||
|
||||
#Material properties required for new pair styles
|
||||
|
||||
fix m1 all property/global kn peratomtypepair 3 ${knPP} ${knPW} ${knPW} ${knPW} 0 0 ${knPW} 0 0
|
||||
fix m2 all property/global kt peratomtypepair 3 ${ktPP} ${ktPW} ${ktPW} ${ktPW} 0 0 ${ktPW} 0 0
|
||||
fix m3 all property/global gamman peratomtypepair 3 ${gnPP} ${gnPW} ${gnPW} ${gnPW} 0 0 ${gnPW} 0 0
|
||||
fix m4 all property/global gammat peratomtypepair 3 ${gtPP} ${gtPW} ${gtPW} ${gtPW} 0 0 ${gtPW} 0 0
|
||||
fix m5 all property/global coefficientFriction peratomtypepair 3 ${muPP} ${muPW1} ${muPW2} ${muPW1} 0 0 ${muPW2} 0 0
|
||||
fix m6 all property/global coefficientRollingFriction peratomtypepair 3 ${rfPP} ${rfPW1} ${rfPW2} ${rfPW1} 0 0 ${rfPW2} 0 0
|
||||
|
||||
#Thermal properties
|
||||
# therm. conductivity not relevant because collisional heat transfer negligible
|
||||
fix ftco all property/global thermalConductivity peratomtype 0.0 0.0 0.0
|
||||
fix ftca all property/global thermalCapacity peratomtype 1920. 1920. 1920.
|
||||
|
||||
|
||||
#pair style
|
||||
pair_style gran model hooke/stiffness tangential history rolling_friction cdt
|
||||
pair_coeff * *
|
||||
|
||||
#timestep, gravity
|
||||
timestep ${dt}
|
||||
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||
|
||||
fix xwall1 all wall/gran model hooke/stiffness tangential history rolling_friction cdt primitive type 2 xplane 0.04
|
||||
fix xwall2 all wall/gran model hooke/stiffness tangential history rolling_friction cdt primitive type 2 xplane -0.04
|
||||
|
||||
fix ywall1 all wall/gran model hooke/stiffness tangential history rolling_friction cdt primitive type 3 yplane -0.005
|
||||
fix ywall2 all wall/gran model hooke/stiffness tangential history rolling_friction cdt primitive type 2 yplane 0.005
|
||||
|
||||
fix zwall1 all wall/gran model hooke/stiffness tangential history rolling_friction cdt primitive type 2 zplane 0.0
|
||||
fix zwall2 all wall/gran model hooke/stiffness tangential history rolling_friction cdt primitive type 2 zplane 0.4
|
||||
|
||||
# insertion
|
||||
############
|
||||
|
||||
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant ${partDens} radius constant ${partRad}
|
||||
fix pdd1 all particledistribution/discrete 1.0 1 pts1 1.0
|
||||
|
||||
region insReg block -0.039 0.039 -0.004 0.004 0.001 0.31 units box
|
||||
fix ins_pack_dense all insert/pack/dense seed 123 region insReg distributiontemplate pdd1 volumefraction_region 0.238
|
||||
|
||||
|
||||
|
||||
#cfd coupling
|
||||
fix cfd all couple/cfd couple_every 10 mpi
|
||||
fix cfd2 all couple/cfd/force/implicit
|
||||
|
||||
# this one invokes heat transfer calculation, transfers per-particle temperature and adds convective heat flux to particles
|
||||
fix cfd3 all couple/cfd/convection T0 ${Tpart}
|
||||
|
||||
# calculate average particle temperature
|
||||
region total block INF INF INF INF INF INF units box
|
||||
|
||||
variable time equal step*dt
|
||||
variable np equal count(all,total)
|
||||
compute sumtemp all reduce/region total sum f_Temp[0]
|
||||
variable sumT1 equal c_sumtemp
|
||||
variable Tave equal v_sumT1/v_np
|
||||
|
||||
fix printheat all print 2000 "${time} ${Tave}" file ../DEM/temp_ave.txt title "#time T_ave"
|
||||
|
||||
fix tdist1 all ave/histo 200000 1 200000 324 380 56 f_Temp[0] mode vector file ../DEM/temp_histo.txt title1 "Particle temperatures [K]"
|
||||
fix tdist2 all ave/histo 200000 1 200000 324 380 224 f_Temp[0] mode vector file ../DEM/temp_histo_fine.txt title1 "Particle temperatures [K]"
|
||||
|
||||
fix integr all nve/sphere
|
||||
|
||||
#screen output
|
||||
thermo_style custom step atoms ke vol
|
||||
thermo 10000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
#dump dmp all custom/vtk 20000 ../DEM/post/dump*.equil.vtk id type x y z vx vy vz fx fy fz radius f_Temp[0] f_convectiveHeatFlux[0] f_heatSource[0]
|
||||
|
||||
run 1
|
||||
set region insReg property/atom heatSource 3.3379e-04 # = V_p x \dot{q}
|
||||
@ -0,0 +1,20 @@
|
||||
cd CFD
|
||||
cp system/controlDict_equil system/controlDict
|
||||
decomposePar -force
|
||||
mpirun -np 4 cfdemSolverRhoPimple -parallel
|
||||
cp system/controlDict_record system/controlDict
|
||||
mpirun -np 4 cfdemSolverRhoPimple -parallel
|
||||
reconstructPar
|
||||
|
||||
# make sure that time 0 folder is called 0
|
||||
mv ./*e-1[0-9]* 0
|
||||
|
||||
# remove uniform folder
|
||||
find . -name \uniform -type d -exec rm -rf {} \;
|
||||
|
||||
# make database
|
||||
mkdir dataBase1
|
||||
mv [0-2]* dataBase1/
|
||||
|
||||
rm -rf proc*
|
||||
rm -rf ./-0.*
|
||||
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volScalarField;
|
||||
location "-5";
|
||||
object Ksl;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -3 -1 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volScalarField;
|
||||
location "-5";
|
||||
object T;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 1 0 0 0];
|
||||
|
||||
internalField uniform 324;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type uniformFixedValue;
|
||||
uniformValue constant 324;
|
||||
value uniform 324;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,50 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volVectorField;
|
||||
location "-5";
|
||||
object U;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type uniformFixedValue;
|
||||
uniformValue constant (0 0 0);
|
||||
value uniform (0 0 0);
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type uniformFixedValue;
|
||||
uniformValue table
|
||||
|
||||
2
|
||||
(
|
||||
(-10 (0 0 0))
|
||||
(-9.9 (0 0 0.9))
|
||||
)
|
||||
;
|
||||
value uniform (0 0 0.9);
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volVectorField;
|
||||
location "-5";
|
||||
object Us;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -1 0 0 0 0];
|
||||
|
||||
internalField uniform (0 0 0);
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,39 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volScalarField;
|
||||
location "-5";
|
||||
object addSource;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -1 -3 0 0 0 0];
|
||||
|
||||
internalField uniform 0;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volScalarField;
|
||||
location "-5";
|
||||
object p;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -1 -2 0 0 0 0];
|
||||
|
||||
internalField uniform 100000;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type uniformFixedValue;
|
||||
uniformValue constant 100000;
|
||||
value uniform 100000;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,40 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volScalarField;
|
||||
location "-5";
|
||||
object rho;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [1 -3 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1.748;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1.748;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volScalarField;
|
||||
location "-5";
|
||||
object voidfraction;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type zeroGradient;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,42 @@
|
||||
/*--------------------------------*- 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 ascii;
|
||||
class volScalarField;
|
||||
location "-5";
|
||||
object wallQFactor;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 0 0 0 0 0 0];
|
||||
|
||||
internalField uniform 1;
|
||||
|
||||
boundaryField
|
||||
{
|
||||
walls
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,211 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / 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
|
||||
|
||||
modelType "A"; // A or B
|
||||
|
||||
couplingInterval 10;
|
||||
|
||||
voidFractionModel divided;
|
||||
|
||||
locateModel engine;//turboEngineM2M;//
|
||||
|
||||
meshMotionModel noMeshMotion;
|
||||
|
||||
regionModel allRegion;
|
||||
|
||||
IOModel "off";
|
||||
|
||||
dataExchangeModel twoWayMPI;
|
||||
|
||||
averagingModel dense;
|
||||
|
||||
clockModel standardClock;
|
||||
|
||||
smoothingModel off;
|
||||
|
||||
probeModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
BeetstraDrag
|
||||
gradPForce
|
||||
viscForce
|
||||
);
|
||||
|
||||
//useDDTvoidfraction;
|
||||
|
||||
energyModels
|
||||
(
|
||||
heatTransferGunn
|
||||
);
|
||||
|
||||
chemistryModels
|
||||
(
|
||||
off
|
||||
);
|
||||
|
||||
thermCondModel SyamlalThermCond;
|
||||
|
||||
momCoupleModels
|
||||
(
|
||||
implicitCouple
|
||||
);
|
||||
|
||||
|
||||
turbulenceModelType "turbulenceProperties";
|
||||
|
||||
|
||||
//===========================================================================//
|
||||
// sub-model properties
|
||||
|
||||
implicitCoupleProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
voidfractionFieldName "voidfraction";
|
||||
}
|
||||
|
||||
ArchimedesProps
|
||||
{
|
||||
densityFieldName "rho";
|
||||
gravityFieldName "g";
|
||||
}
|
||||
gradPForceProps
|
||||
{
|
||||
pFieldName "p";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
velocityFieldName "U";
|
||||
//interpolation;
|
||||
}
|
||||
|
||||
viscForceProps
|
||||
{
|
||||
velocityFieldName "U";
|
||||
densityFieldName "rho";
|
||||
//interpolation true;
|
||||
}
|
||||
volWeightedAverageProps
|
||||
{
|
||||
scalarFieldNames
|
||||
(
|
||||
voidfraction
|
||||
);
|
||||
vectorFieldNames
|
||||
(
|
||||
);
|
||||
upperThreshold 0.999;
|
||||
lowerThreshold 0;
|
||||
verbose;
|
||||
}
|
||||
totalMomentumExchangeProps
|
||||
{
|
||||
implicitMomExFieldName "Ksl";
|
||||
explicitMomExFieldName "none";
|
||||
fluidVelFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
densityFieldName "rho";
|
||||
}
|
||||
BeetstraDragProps
|
||||
{
|
||||
velFieldName "U";
|
||||
granVelFieldName "Us";
|
||||
densityFieldName "rho";
|
||||
voidfractionFieldName "voidfraction";
|
||||
phi 1;
|
||||
}
|
||||
|
||||
heatTransferGunnProps
|
||||
{
|
||||
partTempName "Temp";
|
||||
partHeatFluxName "convectiveHeatFlux";
|
||||
calcPartTempField true;
|
||||
partRefTemp 293;
|
||||
verbose true;
|
||||
}
|
||||
|
||||
SyamlalThermCondProps
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
fieldTimeAverageProps
|
||||
{
|
||||
startTime 5.0;
|
||||
|
||||
scalarFieldNames
|
||||
(
|
||||
"voidfraction"
|
||||
);
|
||||
|
||||
vectorFieldNames
|
||||
(
|
||||
"Us"
|
||||
);
|
||||
}
|
||||
|
||||
centreProps
|
||||
{
|
||||
alphaMin 0.10;
|
||||
}
|
||||
|
||||
engineProps
|
||||
{
|
||||
treeSearch true;
|
||||
}
|
||||
|
||||
turboEngineM2MProps
|
||||
{
|
||||
turboEngineProps
|
||||
{
|
||||
treeSearch true;
|
||||
}
|
||||
}
|
||||
|
||||
dividedProps
|
||||
{
|
||||
alphaMin 0.08;
|
||||
scaleUpVol 1.0;
|
||||
weight 1.0;
|
||||
verbose;
|
||||
}
|
||||
|
||||
|
||||
|
||||
twoWayMPIProps
|
||||
{
|
||||
maxNumberOfParticles 50000;
|
||||
liggghtsPath "../DEM/in.liggghts_run";
|
||||
}
|
||||
|
||||
|
||||
particleProbeProps
|
||||
{
|
||||
particleIDsToSample "0";
|
||||
}
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,22 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class uniformDimensionedVectorField;
|
||||
location "constant";
|
||||
object g;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -2 0 0 0 0];
|
||||
value ( 0 0 -9.81 );
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,42 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object liggghtsCommands;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
liggghtsCommandModels
|
||||
(
|
||||
runLiggghts
|
||||
writeLiggghts
|
||||
);
|
||||
// ************************************************************************* //
|
||||
|
||||
/*runLiggghtsProps
|
||||
{
|
||||
preNo false;
|
||||
}
|
||||
|
||||
writeLiggghtsProps
|
||||
{
|
||||
writeLast off;
|
||||
overwrite off;
|
||||
}*/
|
||||
@ -0,0 +1,75 @@
|
||||
/*--------------------------------*- 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;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
convertToMeters 1;
|
||||
|
||||
|
||||
vertices
|
||||
(
|
||||
(-0.04 -0.005 0)
|
||||
(0.04 -0.005 0)
|
||||
(0.04 0.005 0)
|
||||
(-0.04 0.005 0)
|
||||
(-0.04 -0.005 0.4)
|
||||
(0.04 -0.005 0.4)
|
||||
(0.04 0.005 0.4)
|
||||
(-0.04 0.005 0.4)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (0 1 2 3 4 5 6 7) (32 4 160) 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
|
||||
(
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- 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;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
3
|
||||
(
|
||||
walls
|
||||
{
|
||||
type wall;
|
||||
inGroups 1(wall);
|
||||
nFaces 11520;
|
||||
startFace 55552;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 128;
|
||||
startFace 67072;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 128;
|
||||
startFace 67200;
|
||||
}
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
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
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,49 @@
|
||||
/*--------------------------------*- 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 "constant";
|
||||
object thermophysicalProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
thermoType
|
||||
{
|
||||
type hePsiThermo;
|
||||
mixture pureMixture;
|
||||
transport const;
|
||||
thermo eConst;
|
||||
equationOfState perfectGas;
|
||||
specie specie;
|
||||
energy sensibleInternalEnergy;
|
||||
}
|
||||
|
||||
mixture
|
||||
{
|
||||
specie
|
||||
{
|
||||
nMoles 1;
|
||||
molWeight 42.1;
|
||||
}
|
||||
thermodynamics
|
||||
{
|
||||
Cv 1310;
|
||||
Hf 0;
|
||||
}
|
||||
transport
|
||||
{
|
||||
mu 1e-05;
|
||||
Pr 0.72;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,25 @@
|
||||
/*--------------------------------*- 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 "constant";
|
||||
object transportProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
transportModel Newtonian;
|
||||
|
||||
//nu nu [ 0 2 -1 0 0 0 0 ] 5.7e-06;
|
||||
|
||||
kf kf [ 1 1 -3 -1 0 0 0 ] 0.021;
|
||||
|
||||
Cp Cp [ 0 2 -2 -1 0 0 0 ] 1500;
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,21 @@
|
||||
/*--------------------------------*- 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 "constant";
|
||||
object turbulenceProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
simulationType laminar;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,64 @@
|
||||
/*--------------------------------*- 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 -5;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime -0.005;
|
||||
|
||||
deltaT 0.00005;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
writeInterval 100;
|
||||
|
||||
purgeWrite 2;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression off;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable true;
|
||||
|
||||
libs (
|
||||
|
||||
);
|
||||
|
||||
functions
|
||||
{
|
||||
probes1
|
||||
{
|
||||
type probes;
|
||||
|
||||
functionObjectLibs ("libsampling.so");
|
||||
|
||||
#include "probesDict";
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,134 @@
|
||||
/*--------------------------------*- 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.005;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 2.5;
|
||||
|
||||
deltaT 0.00005;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
writeInterval 1000000;
|
||||
|
||||
purgeWrite 2;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression off;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable true;
|
||||
|
||||
libs (
|
||||
|
||||
);
|
||||
|
||||
functions
|
||||
{
|
||||
fieldAverage1
|
||||
{
|
||||
type fieldAverage;
|
||||
libs ("libfieldFunctionObjects.so");
|
||||
writeControl writeTime;
|
||||
|
||||
fields
|
||||
(
|
||||
U
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 0.0025;
|
||||
}
|
||||
Us
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 0.0025;
|
||||
}
|
||||
voidfraction
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 0.0025;
|
||||
}
|
||||
rho
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 0.0025;
|
||||
}
|
||||
p
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 0.0025;
|
||||
}
|
||||
phi
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 0.0025;
|
||||
}
|
||||
NuField
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 0.0025;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
fieldOutput
|
||||
{
|
||||
type writeObjects;
|
||||
functionObjectLibs ( "libutilityFunctionObjects.so" );
|
||||
exclusiveWriting true;
|
||||
objects ("rhoMean" "pMean" "UMean" "UsMean" "voidfractionMean" "phiMean" "NuFieldMean");
|
||||
writeControl timeStep;
|
||||
writeInterval 100;
|
||||
}
|
||||
|
||||
probes1
|
||||
{
|
||||
type probes;
|
||||
|
||||
functionObjectLibs ("libsampling.so");
|
||||
|
||||
#include "probesDict";
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
(
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,86 @@
|
||||
/*-------------------------------*- C++ -*---------------------------------*\
|
||||
| ========= |
|
||||
| \\ / OpenFOAM |
|
||||
| \\ / |
|
||||
| \\ / The Open Source CFD Toolbox |
|
||||
| \\/ http://www.OpenFOAM.org |
|
||||
\*-------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
note "mesh decomposition control dictionary";
|
||||
location "system";
|
||||
object decomposeParDict;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
numberOfSubdomains 4;
|
||||
|
||||
//- Keep owner and neighbour on same processor for faces in zones:
|
||||
// preserveFaceZones (heater solid1 solid3);
|
||||
|
||||
//method scotch;
|
||||
// method hierarchical;
|
||||
method simple;
|
||||
// method metis;
|
||||
// method manual;
|
||||
|
||||
simpleCoeffs
|
||||
{
|
||||
n (2 1 2);
|
||||
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"
|
||||
//);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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 ;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,79 @@
|
||||
/*--------------------------------*- 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|rho)"
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-6;
|
||||
relTol 0.01;
|
||||
}
|
||||
|
||||
"(p|rho)Final"
|
||||
{
|
||||
$p;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"(U|k|e|epsilon|R|nuTilda|c)"
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother GaussSeidel;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"(U|e|k|nuTilda)Final"
|
||||
{
|
||||
$U;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
T
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-8;
|
||||
relTol 0;
|
||||
}
|
||||
}
|
||||
|
||||
PIMPLE
|
||||
{
|
||||
momentumPredictor yes;
|
||||
nOuterCorrectors 3;
|
||||
nCorrectors 1;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
rhoMin rhoMin [ 1 -3 0 0 0 ] 0.5;
|
||||
rhoMax rhoMax [ 1 -3 0 0 0 ] 2.0;
|
||||
}
|
||||
|
||||
relaxationFactors
|
||||
{
|
||||
fields
|
||||
{
|
||||
}
|
||||
equations
|
||||
{
|
||||
".*" 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
voidfractionMean
|
||||
rho
|
||||
rhoMean
|
||||
p
|
||||
pMean
|
||||
Us
|
||||
UsMean
|
||||
U
|
||||
UMean
|
||||
T
|
||||
NuFieldMean
|
||||
addSource
|
||||
);
|
||||
|
||||
writeControl timeStep;
|
||||
writeInterval 20;
|
||||
|
||||
|
||||
// Locations to be probed.
|
||||
probeLocations
|
||||
(
|
||||
(0.0 0.0 0.03)
|
||||
(0.0 0.0 0.06)
|
||||
(0.0 0.0 0.09)
|
||||
);
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -0,0 +1,508 @@
|
||||
/*--------------------------------*- 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 topoSetDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
#include "../geometry"
|
||||
actions
|
||||
(
|
||||
{
|
||||
name c0;
|
||||
type cellSet;
|
||||
action new;
|
||||
source boxToCell;
|
||||
sourceInfo
|
||||
{
|
||||
box (#calc "-0.5*$nx" #calc "-0.5*$ny" -0.1)(#calc "0.5*$nx" #calc "0.5*$ny" 0.1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
{
|
||||
name nozzle;
|
||||
type faceSet;
|
||||
action new;
|
||||
source patchToFace;
|
||||
sourceInfo
|
||||
{
|
||||
name "inlet";
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
name nozzle;
|
||||
type faceSet;
|
||||
action subset;
|
||||
source cellToFace;
|
||||
sourceInfo
|
||||
{
|
||||
set c0;
|
||||
option all;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
);
|
||||
|
||||
// List of actions. Each action is a dictionary with e.g.
|
||||
// // name of set
|
||||
// name c0;
|
||||
//
|
||||
// // type: pointSet/faceSet/cellSet/faceZoneSet/cellZoneSet
|
||||
// type cellSet;
|
||||
//
|
||||
// // action to perform on set. Two types:
|
||||
// // - require no source : clear/invert/remove
|
||||
// // clear : clears set or zone
|
||||
// // invert : select all currently non-selected elements
|
||||
// // remove : removes set or zone
|
||||
// // - require source : new/add/delete/subset
|
||||
// // new : create new set or zone from source
|
||||
// // add : add source to contents
|
||||
// // delete : deletes source from contents
|
||||
// // subset : keeps elements both in contents and source
|
||||
// action new;
|
||||
//
|
||||
// The source entry varies according to the type of set:
|
||||
//
|
||||
// cellSet
|
||||
// ~~~~~~~
|
||||
//
|
||||
// // Select by explicitly providing cell labels
|
||||
// source labelToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// value (12 13 56); // labels of cells
|
||||
// }
|
||||
//
|
||||
// // Copy elements from cellSet
|
||||
// source cellToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c1;
|
||||
// }
|
||||
//
|
||||
// // Cells in cell zone
|
||||
// source zoneToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Zone"; // Name of cellZone, regular expressions allowed
|
||||
// }
|
||||
//
|
||||
// // Cells on master or slave side of faceZone
|
||||
// source faceZoneToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Zone"; // Name of faceZone, regular expressions allowed
|
||||
// option master; // master/slave
|
||||
// }
|
||||
//
|
||||
// // Select based on faceSet
|
||||
// source faceToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set f0; // Name of faceSet
|
||||
//
|
||||
// //option neighbour; // cell with neighbour in faceSet
|
||||
// //option owner; // ,, owner
|
||||
// option any; // cell with any face in faceSet
|
||||
// //option all; // cell with all faces in faceSet
|
||||
// }
|
||||
//
|
||||
// // Select based on pointSet
|
||||
// source pointToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set p0;
|
||||
// option any; // cell with any point in pointSet
|
||||
// //option edge; // cell with an edge with both points in pointSet
|
||||
// }
|
||||
//
|
||||
// // Select based on cellShape
|
||||
// source shapeToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// type hex; // hex/wedge/prism/pyr/tet/tetWedge/splitHex
|
||||
// }
|
||||
//
|
||||
// // Cells with cell centre within box ('box') or multiple boxes ('boxes')
|
||||
// source boxToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// box (0 0 0) (1 1 1);
|
||||
// //boxes ((0 0 0) (1 1 1) (10 10 10)(11 11 11));
|
||||
// }
|
||||
//
|
||||
// // Cells with cell centre within box
|
||||
// // Is skewed, rotated box. Given as origin and three spanning vectors.
|
||||
// source rotatedBoxToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// origin (0.2 0.2 -10);
|
||||
// i (0.2 0.2 0);
|
||||
// j (-0.2 0.2 0);
|
||||
// k (10 10 10);
|
||||
// }
|
||||
//
|
||||
// // Cells with centre within cylinder
|
||||
// source cylinderToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// p1 (0.2 0.2 -10); // start point on cylinder axis
|
||||
// p2 (0.2 0.2 0); // end point on cylinder axis
|
||||
// radius 5.0;
|
||||
// }
|
||||
//
|
||||
// // Cells with centre within sphere
|
||||
// source sphereToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// centre (0.2 0.2 -10);
|
||||
// radius 5.0;
|
||||
// }
|
||||
//
|
||||
// // Cells with cellCentre nearest to coordinates
|
||||
// source nearestToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// points ((0 0 0) (1 1 1)(2 2 2));
|
||||
// }
|
||||
//
|
||||
// // Select based on surface
|
||||
// source surfaceToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// file "www.avl.com-geometry.stl";
|
||||
// useSurfaceOrientation false; // use closed surface inside/outside
|
||||
// // test (ignores includeCut,
|
||||
// // outsidePoints)
|
||||
// outsidePoints ((-99 -99 -59)); // definition of outside
|
||||
// includeCut false; // cells cut by surface
|
||||
// includeInside false; // cells not on outside of surf
|
||||
// includeOutside false; // cells on outside of surf
|
||||
// nearDistance -1; // cells with centre near surf
|
||||
// // (set to -1 if not used)
|
||||
// curvature 0.9; // cells within nearDistance
|
||||
// // and near surf curvature
|
||||
// // (set to -100 if not used)
|
||||
// }
|
||||
//
|
||||
// // values of field within certain range
|
||||
// source fieldToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// fieldName U; // Note: uses mag(U) since volVectorField
|
||||
// min 0.1;
|
||||
// max 0.5;
|
||||
// }
|
||||
//
|
||||
// // Mesh region (non-face connected part of (subset of)mesh)
|
||||
// source regionToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c0; // optional name of cellSet giving mesh subset
|
||||
// insidePoints ((1 2 3)); // points inside region to select
|
||||
// nErode 0; // optional number of layers to erode
|
||||
// // selection
|
||||
// }
|
||||
//
|
||||
// // Cells underneath plane such that volume is reached. E.g. for use
|
||||
// // in setFields to set the level given a wanted volume.
|
||||
// source targetVolumeToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// volume 2e-05;
|
||||
// normal (0 1 0); // usually in direction of gravity
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// faceSet
|
||||
// ~~~~~~~
|
||||
//
|
||||
// // Copy elements from faceSet
|
||||
// source faceToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set f1;
|
||||
// }
|
||||
//
|
||||
// // Select based on cellSet
|
||||
// source cellToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c0;
|
||||
// option all; // All faces of cells
|
||||
// //option both; // Only faces whose owner&neighbour are in cellSet
|
||||
// }
|
||||
//
|
||||
// // Select based on pointSet
|
||||
// source pointToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set p0;
|
||||
// option any; // Faces using any point in pointSet
|
||||
// //option all // Faces with all points in pointSet
|
||||
// //option edge // Faces with two consecutive points in pointSet
|
||||
// }
|
||||
//
|
||||
// // Select by explicitly providing face labels
|
||||
// source labelToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// value (12 13 56); // labels of faces
|
||||
// }
|
||||
//
|
||||
// // All faces of patch
|
||||
// source patchToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Wall"; // Name of patch or patch group,
|
||||
// // (regular expressions allowed)
|
||||
// }
|
||||
//
|
||||
// // All boundary faces
|
||||
// source boundaryToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// }
|
||||
//
|
||||
// // All faces of faceZone
|
||||
// source zoneToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Zone1"; // Name of faceZone, regular expressions allowed
|
||||
// }
|
||||
//
|
||||
// // Faces with face centre within box ('box') or multiple boxes ('boxes')
|
||||
// source boxToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// box (0 0 0) (1 1 1);
|
||||
// //boxes ((0 0 0) (1 1 1) (10 10 10)(11 11 11));
|
||||
// }
|
||||
//
|
||||
// // Faces with normal to within certain angle aligned with vector.
|
||||
// source normalToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// normal (0 0 1); // Vector
|
||||
// cos 0.01; // Tolerance (max cos of angle)
|
||||
// }
|
||||
//
|
||||
// // Walk on faces in faceSet, starting from face nearest given position
|
||||
// source regionToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set f0;
|
||||
// nearPoint (0.1 0.1 0.005);
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// pointSet
|
||||
// ~~~~~~~
|
||||
//
|
||||
// // Copy elements from pointSet
|
||||
// source pointToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set p1;
|
||||
// }
|
||||
//
|
||||
// // Select based on cellSet
|
||||
// source cellToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c0;
|
||||
// option all; // all points of cell
|
||||
// }
|
||||
//
|
||||
// // Select based on faceSet
|
||||
// source faceToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set f0; // name of faceSet
|
||||
// option all; // all points of face
|
||||
// }
|
||||
//
|
||||
// // Select by explicitly providing point labels
|
||||
// source labelToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// value (12 13 56); // labels of points
|
||||
// }
|
||||
//
|
||||
// // All points in pointzone
|
||||
// source zoneToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Zone"; // name of pointZone, regular expressions allowed
|
||||
// }
|
||||
//
|
||||
// // Points nearest to coordinates
|
||||
// source nearestToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// points ((0 0 0) (1 1 1));
|
||||
// }
|
||||
//
|
||||
// // Points with coordinate within box ('box') or multiple boxes ('boxes')
|
||||
// source boxToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// box (0 0 0) (1 1 1);
|
||||
// //boxes ((0 0 0) (1 1 1) (10 10 10)(11 11 11));
|
||||
// }
|
||||
//
|
||||
// // Select based on surface
|
||||
// source surfaceToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// file "www.avl.com-geometry.stl";
|
||||
// nearDistance 0.1; // points near to surface
|
||||
// includeInside false; // points on inside of surface
|
||||
// // (requires closed surface with consistent
|
||||
// // normals)
|
||||
// includeOutside false; // ,, outside ,,
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// cellZoneSet
|
||||
// ~~~~~~~~~~~
|
||||
// (mirrors operations on a cellSet into a cellZone)
|
||||
//
|
||||
// // Select based on cellSet
|
||||
// source setToCellZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c0; // name of cellSet
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// faceZoneSet
|
||||
// ~~~~~~~~~~~
|
||||
// // Select based on faceSet without orientation
|
||||
// source setToFaceZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// faceSet f0; // name of faceSet
|
||||
// }
|
||||
//
|
||||
// // Select based on faceSet, using cellSet to determine orientation
|
||||
// source setsToFaceZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// faceSet f0; // name of faceSet
|
||||
// cellSet c0; // name of cellSet of slave side
|
||||
// flip false; // optional: flip the faceZone (so now the cellSet
|
||||
// // is the master side)
|
||||
// }
|
||||
//
|
||||
// // Select based on surface. Orientation from normals on surface
|
||||
// {
|
||||
// name fz0;
|
||||
// type faceZoneSet;
|
||||
// action new;
|
||||
// source searchableSurfaceToFaceZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// surface searchableSphere;
|
||||
// centre (0.05 0.05 0.005);
|
||||
// radius 0.025;
|
||||
// //name sphere.stl; // Optional name if surface triSurfaceMesh
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// pointZoneSet
|
||||
// ~~~~~~~~~~~~
|
||||
// (mirrors operations on a pointSet into a pointZone)
|
||||
//
|
||||
// // Select based on pointSet
|
||||
// source setToPointZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set p0; // name of pointSet
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
/*
|
||||
actions
|
||||
(
|
||||
// Example:pick up internal faces on outside of cellSet
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// Load initial cellSet
|
||||
{
|
||||
name c0;
|
||||
type cellSet;
|
||||
action new;
|
||||
source labelToCell;
|
||||
sourceInfo
|
||||
{
|
||||
value (12 13 56);
|
||||
}
|
||||
}
|
||||
|
||||
// Get all faces in cellSet
|
||||
{
|
||||
name f0;
|
||||
type faceSet;
|
||||
action new;
|
||||
source cellToFace;
|
||||
sourceInfo
|
||||
{
|
||||
set c0;
|
||||
option all;
|
||||
}
|
||||
}
|
||||
|
||||
// Determine inverse cellSet
|
||||
{
|
||||
name c1;
|
||||
type cellSet;
|
||||
action new;
|
||||
source cellToCell;
|
||||
sourceInfo
|
||||
{
|
||||
set c0;
|
||||
}
|
||||
}
|
||||
{
|
||||
name c1;
|
||||
type cellSet;
|
||||
action invert;
|
||||
}
|
||||
|
||||
// Keep in f0 all faces in c1
|
||||
{
|
||||
name f0;
|
||||
type faceSet;
|
||||
action subset;
|
||||
source cellToFace;
|
||||
sourceInfo
|
||||
{
|
||||
set c1;
|
||||
option all;
|
||||
}
|
||||
}
|
||||
);
|
||||
*/
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,75 @@
|
||||
fname='temp_histo_fine.txt';
|
||||
|
||||
% number of header lines
|
||||
nheader=4;
|
||||
|
||||
inputarr = dlmread(fname,'' ,nheader,0);
|
||||
|
||||
% number of time steps
|
||||
ntimes = 1000;
|
||||
|
||||
% number of bins
|
||||
nbins = 224;
|
||||
dt = 1.0;
|
||||
|
||||
lowerbound = 1;
|
||||
upperbound = lowerbound + nbins - 1;
|
||||
|
||||
fid0 = fopen(strcat('stat_',fname), 'w');
|
||||
fprintf(fid0,'# time index || ave || std || maximum || FWHF\n');
|
||||
|
||||
for i=0:ntimes
|
||||
|
||||
maxval = 0.0;
|
||||
for j= lowerbound:upperbound
|
||||
if(inputarr(j,3) > maxval)
|
||||
maxval = inputarr(j,3);
|
||||
end
|
||||
end
|
||||
|
||||
hm = 0.5*maxval
|
||||
lower = 0.0;
|
||||
upper = 0.0;
|
||||
|
||||
mean = 0.0;
|
||||
meansqr = 0.0;
|
||||
counter = 0;
|
||||
|
||||
for j = lowerbound:upperbound-1
|
||||
if(inputarr(j,3) < hm && inputarr(j+1,3) >= hm)
|
||||
lower = 0.5*(inputarr(j,2)+inputarr(j+1,2));
|
||||
j
|
||||
hm
|
||||
inputarr(j,3)
|
||||
inputarr(j+1,3)
|
||||
lower
|
||||
% lower = inputarr(j,2) + (inputarr(j+1,2) - inputarr(j,2)) * (hm - inputarr(j,3)) / (inputarr(j+1,3) - inputarr(j,3));
|
||||
end
|
||||
if(inputarr(j,3) > hm && inputarr(j+1,3) <= hm)
|
||||
upper = 0.5*(inputarr(j,2)+inputarr(j+1,2));
|
||||
%upper = inputarr(j+1,2) - (inputarr(j+1,2) - inputarr(j,2)) * (hm - inputarr(j+1,3)) / (inputarr(j,3) - inputarr(j+1,3));
|
||||
end
|
||||
|
||||
mean = mean + inputarr(j,2) * inputarr(j,3);
|
||||
meansqr = meansqr + inputarr(j,2)^2 * inputarr(j,3);
|
||||
counter = counter + inputarr(j,3);
|
||||
end
|
||||
|
||||
mean = mean/double(counter);
|
||||
std = meansqr/double(counter) - mean^2;
|
||||
std = sqrt(std);
|
||||
fwhm = upper - lower;
|
||||
upper
|
||||
lower
|
||||
|
||||
if(i>0)
|
||||
fprintf(fid0,'%f\t%f\t%f\t%f\t%f\n',i*dt,mean,std,maxval,fwhm);
|
||||
end
|
||||
|
||||
|
||||
lowerbound = upperbound + 2;
|
||||
upperbound = lowerbound + nbins - 1;
|
||||
|
||||
end
|
||||
|
||||
fclose(fid0);
|
||||
@ -0,0 +1,133 @@
|
||||
# variables
|
||||
|
||||
# material parameters
|
||||
|
||||
variable partDens equal 667
|
||||
variable partDiam equal 0.00099
|
||||
variable partRad equal 0.5*${partDiam}
|
||||
|
||||
# particle-particle properties
|
||||
variable knPP equal 1600
|
||||
variable ktPP equal 800
|
||||
# ATTENTION: LIGGGHTS scales damping coefficients with m_eff
|
||||
variable gnPP equal 3.1192e+04
|
||||
variable gtPP equal 2.4446e+04
|
||||
variable muPP equal 0.1
|
||||
|
||||
|
||||
###############
|
||||
# the following parameters need to be updated
|
||||
###############
|
||||
|
||||
variable rfPP equal 0.1
|
||||
|
||||
|
||||
# particle-wall properties
|
||||
# wall 1 = front and side walls
|
||||
# wall 2 = back wall
|
||||
variable knPW equal v_knPP
|
||||
variable ktPW equal v_ktPP
|
||||
variable gnPW equal v_gnPP/sqrt(2.0)
|
||||
variable gtPW equal v_gtPP/sqrt(2.0)
|
||||
variable muPW1 equal 0.2
|
||||
variable muPW2 equal 0.2
|
||||
variable rfPW1 equal 0.1
|
||||
variable rfPW2 equal 0.1
|
||||
|
||||
variable Tpart equal 333.5
|
||||
|
||||
variable dt equal 0.000005
|
||||
variable skin equal 0.0005
|
||||
###############################################
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary f f f
|
||||
newton off
|
||||
units si
|
||||
processors 2 1 2
|
||||
|
||||
region reg block -0.04 0.04 -0.005 0.005 0.0 0.4 units box
|
||||
create_box 3 reg
|
||||
|
||||
neighbor ${skin} bin
|
||||
neigh_modify delay 0
|
||||
|
||||
#Material properties required for new pair styles
|
||||
|
||||
fix m1 all property/global kn peratomtypepair 3 ${knPP} ${knPW} ${knPW} ${knPW} 0 0 ${knPW} 0 0
|
||||
fix m2 all property/global kt peratomtypepair 3 ${ktPP} ${ktPW} ${ktPW} ${ktPW} 0 0 ${ktPW} 0 0
|
||||
fix m3 all property/global gamman peratomtypepair 3 ${gnPP} ${gnPW} ${gnPW} ${gnPW} 0 0 ${gnPW} 0 0
|
||||
fix m4 all property/global gammat peratomtypepair 3 ${gtPP} ${gtPW} ${gtPW} ${gtPW} 0 0 ${gtPW} 0 0
|
||||
fix m5 all property/global coefficientFriction peratomtypepair 3 ${muPP} ${muPW1} ${muPW2} ${muPW1} 0 0 ${muPW2} 0 0
|
||||
fix m6 all property/global coefficientRollingFriction peratomtypepair 3 ${rfPP} ${rfPW1} ${rfPW2} ${rfPW1} 0 0 ${rfPW2} 0 0
|
||||
|
||||
#Thermal properties
|
||||
# therm. conductivity not relevant because collisional heat transfer negligible
|
||||
fix ftco all property/global thermalConductivity peratomtype 0.0 0.0 0.0
|
||||
fix ftca all property/global thermalCapacity peratomtype 1920. 1920. 1920.
|
||||
|
||||
|
||||
#pair style
|
||||
pair_style gran model hooke/stiffness tangential history rolling_friction cdt
|
||||
pair_coeff * *
|
||||
|
||||
#timestep, gravity
|
||||
timestep ${dt}
|
||||
fix gravi all gravity 9.81 vector 0.0 0.0 -1.0
|
||||
|
||||
fix xwall1 all wall/gran model hooke/stiffness tangential history rolling_friction cdt primitive type 2 xplane 0.04
|
||||
fix xwall2 all wall/gran model hooke/stiffness tangential history rolling_friction cdt primitive type 2 xplane -0.04
|
||||
|
||||
fix ywall1 all wall/gran model hooke/stiffness tangential history rolling_friction cdt primitive type 3 yplane -0.005
|
||||
fix ywall2 all wall/gran model hooke/stiffness tangential history rolling_friction cdt primitive type 2 yplane 0.005
|
||||
|
||||
fix zwall1 all wall/gran model hooke/stiffness tangential history rolling_friction cdt primitive type 2 zplane 0.0
|
||||
fix zwall2 all wall/gran model hooke/stiffness tangential history rolling_friction cdt primitive type 2 zplane 0.4
|
||||
|
||||
# insertion
|
||||
############
|
||||
|
||||
fix pts1 all particletemplate/sphere 1 atom_type 1 density constant ${partDens} radius constant ${partRad}
|
||||
fix pdd1 all particledistribution/discrete 1.0 1 pts1 1.0
|
||||
|
||||
region insReg block -0.039 0.039 -0.004 0.004 0.001 0.31 units box
|
||||
fix ins_pack_dense all insert/pack/dense seed 123 region insReg distributiontemplate pdd1 volumefraction_region 0.238
|
||||
|
||||
|
||||
|
||||
#cfd coupling
|
||||
fix cfd all couple/cfd couple_every 10 mpi
|
||||
fix cfd2 all couple/cfd/force/implicit
|
||||
|
||||
# this one invokes heat transfer calculation, transfers per-particle temperature and adds convective heat flux to particles
|
||||
fix cfd3 all couple/cfd/convection T0 ${Tpart}
|
||||
|
||||
# calculate average particle temperature
|
||||
region total block INF INF INF INF INF INF units box
|
||||
|
||||
variable time equal step*dt
|
||||
variable np equal count(all,total)
|
||||
compute sumtemp all reduce/region total sum f_Temp[0]
|
||||
variable sumT1 equal c_sumtemp
|
||||
variable Tave equal v_sumT1/v_np
|
||||
|
||||
fix printheat all print 2000 "${time} ${Tave}" file ../DEM/temp_ave.txt title "#time T_ave"
|
||||
|
||||
fix tdist1 all ave/histo 200000 1 200000 324 380 56 f_Temp[0] mode vector file ../DEM/temp_histo.txt title1 "Particle temperatures [K]"
|
||||
fix tdist2 all ave/histo 200000 1 200000 324 380 224 f_Temp[0] mode vector file ../DEM/temp_histo_fine.txt title1 "Particle temperatures [K]"
|
||||
|
||||
fix integr all nve/sphere
|
||||
|
||||
#screen output
|
||||
thermo_style custom step atoms ke vol
|
||||
thermo 10000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
#dump dmp all custom/vtk 20000 ../DEM/post/dump*.equil.vtk id type x y z vx vy vz fx fy fz radius f_Temp[0] f_convectiveHeatFlux[0] f_heatSource[0]
|
||||
|
||||
run 1
|
||||
set region insReg property/atom heatSource 3.3379e-04 # = V_p x \dot{q}
|
||||
@ -0,0 +1,20 @@
|
||||
cd CFD
|
||||
cp system/controlDict_equil system/controlDict
|
||||
decomposePar -force
|
||||
mpirun -np 4 cfdemSolverRhoPimple -parallel
|
||||
cp system/controlDict_record system/controlDict
|
||||
mpirun -np 4 cfdemSolverRhoPimple -parallel
|
||||
reconstructPar
|
||||
|
||||
# make sure that time 0 folder is called 0
|
||||
mv ./*e-1[0-9]* 0
|
||||
|
||||
# remove uniform folder
|
||||
find . -name \uniform -type d -exec rm -rf {} \;
|
||||
|
||||
# make database
|
||||
mkdir dataBase1
|
||||
mv [0-2]* dataBase2/
|
||||
|
||||
rm -rf proc*
|
||||
rm -rf ./-0.*
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,177 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / 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
|
||||
|
||||
modelType "A"; // A or B
|
||||
|
||||
couplingInterval 1;
|
||||
|
||||
voidFractionModel centre;
|
||||
|
||||
locateModel turboEngine;
|
||||
|
||||
meshMotionModel noMeshMotion;
|
||||
|
||||
regionModel allRegion;
|
||||
|
||||
IOModel "off";
|
||||
|
||||
dataExchangeModel twoWayOne2One;
|
||||
|
||||
averagingModel dense;
|
||||
|
||||
clockModel standardClock;
|
||||
|
||||
smoothingModel off;
|
||||
|
||||
probeModel off;
|
||||
|
||||
forceModels
|
||||
(
|
||||
freeStreaming
|
||||
isotropicFluctuations
|
||||
evaluateFluctuations
|
||||
directedDiffusiveRelaxation
|
||||
);
|
||||
|
||||
energyModels
|
||||
(
|
||||
heatTransferGunn
|
||||
);
|
||||
|
||||
// in current branch, only one chem model can be chosen
|
||||
/*
|
||||
chemistryModels
|
||||
(
|
||||
off
|
||||
);
|
||||
*/
|
||||
chemistryModel off;
|
||||
|
||||
thermCondModel SyamlalThermCond;
|
||||
|
||||
momCoupleModels
|
||||
(
|
||||
deactivateCouple
|
||||
);
|
||||
|
||||
// recU needs to know density field name
|
||||
densityFieldName "rhoRec";
|
||||
|
||||
turbulenceModelType "turbulenceProperties";
|
||||
|
||||
|
||||
//===========================================================================//
|
||||
// sub-model properties
|
||||
|
||||
freeStreamingProps
|
||||
{
|
||||
critVoidfraction 0.98;
|
||||
// density can be chosen arbitrarily
|
||||
particleDensity 667;
|
||||
ballisticVelLimit 1.0;
|
||||
}
|
||||
|
||||
|
||||
isotropicFluctuationsProps
|
||||
{
|
||||
critVoidfraction 0.98;
|
||||
D0 1e-4;
|
||||
measureDiff true;
|
||||
}
|
||||
|
||||
evaluateFluctuationsProps
|
||||
{
|
||||
critVoidfraction 0.98;
|
||||
activeCellsName "bottomRegion";
|
||||
}
|
||||
|
||||
directedDiffusiveRelaxationProps
|
||||
{
|
||||
D0 1.0;
|
||||
measureDiff false;
|
||||
maxDisplacement 0.0025;
|
||||
relaxForT 0.05;
|
||||
ignoreCellsName "bottomRegion";
|
||||
}
|
||||
|
||||
|
||||
heatTransferGunnProps
|
||||
{
|
||||
partTempName "Temp";
|
||||
partHeatFluxName "convectiveHeatFlux";
|
||||
calcPartTempField true;
|
||||
partRefTemp 380;
|
||||
tempFieldName "T";
|
||||
voidfractionFieldName "voidfractionRec";
|
||||
// with explicit Nu, no velocity field is necessary but solver still tries to look one up - use existing solid velocity field
|
||||
velFieldName "UsRec";
|
||||
densityFieldName "rhoRec";
|
||||
maxSource 1e10;
|
||||
expNusselt true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
SyamlalThermCondProps
|
||||
{
|
||||
rhoFieldName "rhoRec";
|
||||
voidfractionFieldName "voidfractionRec";
|
||||
}
|
||||
|
||||
|
||||
centreProps
|
||||
{
|
||||
alphaMin -10.0;
|
||||
}
|
||||
|
||||
|
||||
turboEngineProps
|
||||
{
|
||||
treeSearch true;
|
||||
}
|
||||
|
||||
|
||||
engineSearchMany2ManyProps
|
||||
{
|
||||
treeSearch true;
|
||||
engineProps
|
||||
{
|
||||
treeSearch true;
|
||||
}
|
||||
}
|
||||
|
||||
twoWayOne2OneProps
|
||||
{
|
||||
useCellIdComm true;
|
||||
useStaticProcMap true;
|
||||
liggghtsPath "../DEM/in.liggghts_run";
|
||||
boundingBoxScalingFactor 1.00001;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,22 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.6 |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class uniformDimensionedVectorField;
|
||||
location "constant";
|
||||
object g;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
dimensions [0 1 -2 0 0 0 0];
|
||||
value ( 0 0 -9.81 );
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,42 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.4 |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object liggghtsCommands;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
liggghtsCommandModels
|
||||
(
|
||||
runLiggghts
|
||||
writeLiggghts
|
||||
);
|
||||
// ************************************************************************* //
|
||||
|
||||
/*runLiggghtsProps
|
||||
{
|
||||
preNo false;
|
||||
}
|
||||
|
||||
writeLiggghtsProps
|
||||
{
|
||||
writeLast off;
|
||||
overwrite off;
|
||||
}*/
|
||||
@ -0,0 +1,75 @@
|
||||
/*--------------------------------*- 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;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
convertToMeters 1;
|
||||
|
||||
|
||||
vertices
|
||||
(
|
||||
(-0.04 -0.005 0)
|
||||
(0.04 -0.005 0)
|
||||
(0.04 0.005 0)
|
||||
(-0.04 0.005 0)
|
||||
(-0.04 -0.005 0.4)
|
||||
(0.04 -0.005 0.4)
|
||||
(0.04 0.005 0.4)
|
||||
(-0.04 0.005 0.4)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (0 1 2 3 4 5 6 7) (32 4 160) 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
|
||||
(
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,41 @@
|
||||
/*--------------------------------*- 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;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
3
|
||||
(
|
||||
walls
|
||||
{
|
||||
type wall;
|
||||
inGroups 1(wall);
|
||||
nFaces 11520;
|
||||
startFace 55552;
|
||||
}
|
||||
inlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 128;
|
||||
startFace 67072;
|
||||
}
|
||||
outlet
|
||||
{
|
||||
type patch;
|
||||
nFaces 128;
|
||||
startFace 67200;
|
||||
}
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,306 @@
|
||||
/*--------------------------------*- 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;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
3
|
||||
(
|
||||
fz0
|
||||
{
|
||||
type faceZone;
|
||||
faceLabels List<label>
|
||||
128
|
||||
(
|
||||
3830
|
||||
3833
|
||||
3836
|
||||
3839
|
||||
3842
|
||||
3845
|
||||
3848
|
||||
3851
|
||||
3854
|
||||
3857
|
||||
3860
|
||||
3863
|
||||
3866
|
||||
3869
|
||||
3872
|
||||
3875
|
||||
3878
|
||||
3881
|
||||
3884
|
||||
3887
|
||||
3890
|
||||
3893
|
||||
3896
|
||||
3899
|
||||
3902
|
||||
3905
|
||||
3908
|
||||
3911
|
||||
3914
|
||||
3917
|
||||
3920
|
||||
3922
|
||||
3925
|
||||
3928
|
||||
3931
|
||||
3934
|
||||
3937
|
||||
3940
|
||||
3943
|
||||
3946
|
||||
3949
|
||||
3952
|
||||
3955
|
||||
3958
|
||||
3961
|
||||
3964
|
||||
3967
|
||||
3970
|
||||
3973
|
||||
3976
|
||||
3979
|
||||
3982
|
||||
3985
|
||||
3988
|
||||
3991
|
||||
3994
|
||||
3997
|
||||
4000
|
||||
4003
|
||||
4006
|
||||
4009
|
||||
4012
|
||||
4015
|
||||
4017
|
||||
4020
|
||||
4023
|
||||
4026
|
||||
4029
|
||||
4032
|
||||
4035
|
||||
4038
|
||||
4041
|
||||
4044
|
||||
4047
|
||||
4050
|
||||
4053
|
||||
4056
|
||||
4059
|
||||
4062
|
||||
4065
|
||||
4068
|
||||
4071
|
||||
4074
|
||||
4077
|
||||
4080
|
||||
4083
|
||||
4086
|
||||
4089
|
||||
4092
|
||||
4095
|
||||
4098
|
||||
4101
|
||||
4104
|
||||
4107
|
||||
4110
|
||||
4112
|
||||
4114
|
||||
4116
|
||||
4118
|
||||
4120
|
||||
4122
|
||||
4124
|
||||
4126
|
||||
4128
|
||||
4130
|
||||
4132
|
||||
4134
|
||||
4136
|
||||
4138
|
||||
4140
|
||||
4142
|
||||
4144
|
||||
4146
|
||||
4148
|
||||
4150
|
||||
4152
|
||||
4154
|
||||
4156
|
||||
4158
|
||||
4160
|
||||
4162
|
||||
4164
|
||||
4166
|
||||
4168
|
||||
4170
|
||||
4172
|
||||
4174
|
||||
4175
|
||||
)
|
||||
;
|
||||
flipMap List<bool> 128{0};
|
||||
}
|
||||
|
||||
fz1
|
||||
{
|
||||
type faceZone;
|
||||
faceLabels List<label>
|
||||
128
|
||||
(
|
||||
8006
|
||||
8009
|
||||
8012
|
||||
8015
|
||||
8018
|
||||
8021
|
||||
8024
|
||||
8027
|
||||
8030
|
||||
8033
|
||||
8036
|
||||
8039
|
||||
8042
|
||||
8045
|
||||
8048
|
||||
8051
|
||||
8054
|
||||
8057
|
||||
8060
|
||||
8063
|
||||
8066
|
||||
8069
|
||||
8072
|
||||
8075
|
||||
8078
|
||||
8081
|
||||
8084
|
||||
8087
|
||||
8090
|
||||
8093
|
||||
8096
|
||||
8098
|
||||
8101
|
||||
8104
|
||||
8107
|
||||
8110
|
||||
8113
|
||||
8116
|
||||
8119
|
||||
8122
|
||||
8125
|
||||
8128
|
||||
8131
|
||||
8134
|
||||
8137
|
||||
8140
|
||||
8143
|
||||
8146
|
||||
8149
|
||||
8152
|
||||
8155
|
||||
8158
|
||||
8161
|
||||
8164
|
||||
8167
|
||||
8170
|
||||
8173
|
||||
8176
|
||||
8179
|
||||
8182
|
||||
8185
|
||||
8188
|
||||
8191
|
||||
8193
|
||||
8196
|
||||
8199
|
||||
8202
|
||||
8205
|
||||
8208
|
||||
8211
|
||||
8214
|
||||
8217
|
||||
8220
|
||||
8223
|
||||
8226
|
||||
8229
|
||||
8232
|
||||
8235
|
||||
8238
|
||||
8241
|
||||
8244
|
||||
8247
|
||||
8250
|
||||
8253
|
||||
8256
|
||||
8259
|
||||
8262
|
||||
8265
|
||||
8268
|
||||
8271
|
||||
8274
|
||||
8277
|
||||
8280
|
||||
8283
|
||||
8286
|
||||
8288
|
||||
8290
|
||||
8292
|
||||
8294
|
||||
8296
|
||||
8298
|
||||
8300
|
||||
8302
|
||||
8304
|
||||
8306
|
||||
8308
|
||||
8310
|
||||
8312
|
||||
8314
|
||||
8316
|
||||
8318
|
||||
8320
|
||||
8322
|
||||
8324
|
||||
8326
|
||||
8328
|
||||
8330
|
||||
8332
|
||||
8334
|
||||
8336
|
||||
8338
|
||||
8340
|
||||
8342
|
||||
8344
|
||||
8346
|
||||
8348
|
||||
8350
|
||||
8351
|
||||
)
|
||||
;
|
||||
flipMap List<bool> 128{0};
|
||||
}
|
||||
|
||||
fzcenter
|
||||
{
|
||||
type faceZone;
|
||||
faceLabels List<label> 4(3970 3973 4065 4068);
|
||||
flipMap List<bool> 4{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
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,407 @@
|
||||
/*--------------------------------*- 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 bottomRegion;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
384
|
||||
(
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
23
|
||||
24
|
||||
25
|
||||
26
|
||||
27
|
||||
28
|
||||
29
|
||||
30
|
||||
31
|
||||
32
|
||||
33
|
||||
34
|
||||
35
|
||||
36
|
||||
37
|
||||
38
|
||||
39
|
||||
40
|
||||
41
|
||||
42
|
||||
43
|
||||
44
|
||||
45
|
||||
46
|
||||
47
|
||||
48
|
||||
49
|
||||
50
|
||||
51
|
||||
52
|
||||
53
|
||||
54
|
||||
55
|
||||
56
|
||||
57
|
||||
58
|
||||
59
|
||||
60
|
||||
61
|
||||
62
|
||||
63
|
||||
64
|
||||
65
|
||||
66
|
||||
67
|
||||
68
|
||||
69
|
||||
70
|
||||
71
|
||||
72
|
||||
73
|
||||
74
|
||||
75
|
||||
76
|
||||
77
|
||||
78
|
||||
79
|
||||
80
|
||||
81
|
||||
82
|
||||
83
|
||||
84
|
||||
85
|
||||
86
|
||||
87
|
||||
88
|
||||
89
|
||||
90
|
||||
91
|
||||
92
|
||||
93
|
||||
94
|
||||
95
|
||||
96
|
||||
97
|
||||
98
|
||||
99
|
||||
100
|
||||
101
|
||||
102
|
||||
103
|
||||
104
|
||||
105
|
||||
106
|
||||
107
|
||||
108
|
||||
109
|
||||
110
|
||||
111
|
||||
112
|
||||
113
|
||||
114
|
||||
115
|
||||
116
|
||||
117
|
||||
118
|
||||
119
|
||||
120
|
||||
121
|
||||
122
|
||||
123
|
||||
124
|
||||
125
|
||||
126
|
||||
127
|
||||
128
|
||||
129
|
||||
130
|
||||
131
|
||||
132
|
||||
133
|
||||
134
|
||||
135
|
||||
136
|
||||
137
|
||||
138
|
||||
139
|
||||
140
|
||||
141
|
||||
142
|
||||
143
|
||||
144
|
||||
145
|
||||
146
|
||||
147
|
||||
148
|
||||
149
|
||||
150
|
||||
151
|
||||
152
|
||||
153
|
||||
154
|
||||
155
|
||||
156
|
||||
157
|
||||
158
|
||||
159
|
||||
160
|
||||
161
|
||||
162
|
||||
163
|
||||
164
|
||||
165
|
||||
166
|
||||
167
|
||||
168
|
||||
169
|
||||
170
|
||||
171
|
||||
172
|
||||
173
|
||||
174
|
||||
175
|
||||
176
|
||||
177
|
||||
178
|
||||
179
|
||||
180
|
||||
181
|
||||
182
|
||||
183
|
||||
184
|
||||
185
|
||||
186
|
||||
187
|
||||
188
|
||||
189
|
||||
190
|
||||
191
|
||||
192
|
||||
193
|
||||
194
|
||||
195
|
||||
196
|
||||
197
|
||||
198
|
||||
199
|
||||
200
|
||||
201
|
||||
202
|
||||
203
|
||||
204
|
||||
205
|
||||
206
|
||||
207
|
||||
208
|
||||
209
|
||||
210
|
||||
211
|
||||
212
|
||||
213
|
||||
214
|
||||
215
|
||||
216
|
||||
217
|
||||
218
|
||||
219
|
||||
220
|
||||
221
|
||||
222
|
||||
223
|
||||
224
|
||||
225
|
||||
226
|
||||
227
|
||||
228
|
||||
229
|
||||
230
|
||||
231
|
||||
232
|
||||
233
|
||||
234
|
||||
235
|
||||
236
|
||||
237
|
||||
238
|
||||
239
|
||||
240
|
||||
241
|
||||
242
|
||||
243
|
||||
244
|
||||
245
|
||||
246
|
||||
247
|
||||
248
|
||||
249
|
||||
250
|
||||
251
|
||||
252
|
||||
253
|
||||
254
|
||||
255
|
||||
256
|
||||
257
|
||||
258
|
||||
259
|
||||
260
|
||||
261
|
||||
262
|
||||
263
|
||||
264
|
||||
265
|
||||
266
|
||||
267
|
||||
268
|
||||
269
|
||||
270
|
||||
271
|
||||
272
|
||||
273
|
||||
274
|
||||
275
|
||||
276
|
||||
277
|
||||
278
|
||||
279
|
||||
280
|
||||
281
|
||||
282
|
||||
283
|
||||
284
|
||||
285
|
||||
286
|
||||
287
|
||||
288
|
||||
289
|
||||
290
|
||||
291
|
||||
292
|
||||
293
|
||||
294
|
||||
295
|
||||
296
|
||||
297
|
||||
298
|
||||
299
|
||||
300
|
||||
301
|
||||
302
|
||||
303
|
||||
304
|
||||
305
|
||||
306
|
||||
307
|
||||
308
|
||||
309
|
||||
310
|
||||
311
|
||||
312
|
||||
313
|
||||
314
|
||||
315
|
||||
316
|
||||
317
|
||||
318
|
||||
319
|
||||
320
|
||||
321
|
||||
322
|
||||
323
|
||||
324
|
||||
325
|
||||
326
|
||||
327
|
||||
328
|
||||
329
|
||||
330
|
||||
331
|
||||
332
|
||||
333
|
||||
334
|
||||
335
|
||||
336
|
||||
337
|
||||
338
|
||||
339
|
||||
340
|
||||
341
|
||||
342
|
||||
343
|
||||
344
|
||||
345
|
||||
346
|
||||
347
|
||||
348
|
||||
349
|
||||
350
|
||||
351
|
||||
352
|
||||
353
|
||||
354
|
||||
355
|
||||
356
|
||||
357
|
||||
358
|
||||
359
|
||||
360
|
||||
361
|
||||
362
|
||||
363
|
||||
364
|
||||
365
|
||||
366
|
||||
367
|
||||
368
|
||||
369
|
||||
370
|
||||
371
|
||||
372
|
||||
373
|
||||
374
|
||||
375
|
||||
376
|
||||
377
|
||||
378
|
||||
379
|
||||
380
|
||||
381
|
||||
382
|
||||
383
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,151 @@
|
||||
/*--------------------------------*- 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 f0;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
128
|
||||
(
|
||||
3830
|
||||
3833
|
||||
3836
|
||||
3839
|
||||
3842
|
||||
3845
|
||||
3848
|
||||
3851
|
||||
3854
|
||||
3857
|
||||
3860
|
||||
3863
|
||||
3866
|
||||
3869
|
||||
3872
|
||||
3875
|
||||
3878
|
||||
3881
|
||||
3884
|
||||
3887
|
||||
3890
|
||||
3893
|
||||
3896
|
||||
3899
|
||||
3902
|
||||
3905
|
||||
3908
|
||||
3911
|
||||
3914
|
||||
3917
|
||||
3920
|
||||
3922
|
||||
3925
|
||||
3928
|
||||
3931
|
||||
3934
|
||||
3937
|
||||
3940
|
||||
3943
|
||||
3946
|
||||
3949
|
||||
3952
|
||||
3955
|
||||
3958
|
||||
3961
|
||||
3964
|
||||
3967
|
||||
3970
|
||||
3973
|
||||
3976
|
||||
3979
|
||||
3982
|
||||
3985
|
||||
3988
|
||||
3991
|
||||
3994
|
||||
3997
|
||||
4000
|
||||
4003
|
||||
4006
|
||||
4009
|
||||
4012
|
||||
4015
|
||||
4017
|
||||
4020
|
||||
4023
|
||||
4026
|
||||
4029
|
||||
4032
|
||||
4035
|
||||
4038
|
||||
4041
|
||||
4044
|
||||
4047
|
||||
4050
|
||||
4053
|
||||
4056
|
||||
4059
|
||||
4062
|
||||
4065
|
||||
4068
|
||||
4071
|
||||
4074
|
||||
4077
|
||||
4080
|
||||
4083
|
||||
4086
|
||||
4089
|
||||
4092
|
||||
4095
|
||||
4098
|
||||
4101
|
||||
4104
|
||||
4107
|
||||
4110
|
||||
4112
|
||||
4114
|
||||
4116
|
||||
4118
|
||||
4120
|
||||
4122
|
||||
4124
|
||||
4126
|
||||
4128
|
||||
4130
|
||||
4132
|
||||
4134
|
||||
4136
|
||||
4138
|
||||
4140
|
||||
4142
|
||||
4144
|
||||
4146
|
||||
4148
|
||||
4150
|
||||
4152
|
||||
4154
|
||||
4156
|
||||
4158
|
||||
4160
|
||||
4162
|
||||
4164
|
||||
4166
|
||||
4168
|
||||
4170
|
||||
4172
|
||||
4174
|
||||
4175
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,151 @@
|
||||
/*--------------------------------*- 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 f1;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
128
|
||||
(
|
||||
8006
|
||||
8009
|
||||
8012
|
||||
8015
|
||||
8018
|
||||
8021
|
||||
8024
|
||||
8027
|
||||
8030
|
||||
8033
|
||||
8036
|
||||
8039
|
||||
8042
|
||||
8045
|
||||
8048
|
||||
8051
|
||||
8054
|
||||
8057
|
||||
8060
|
||||
8063
|
||||
8066
|
||||
8069
|
||||
8072
|
||||
8075
|
||||
8078
|
||||
8081
|
||||
8084
|
||||
8087
|
||||
8090
|
||||
8093
|
||||
8096
|
||||
8098
|
||||
8101
|
||||
8104
|
||||
8107
|
||||
8110
|
||||
8113
|
||||
8116
|
||||
8119
|
||||
8122
|
||||
8125
|
||||
8128
|
||||
8131
|
||||
8134
|
||||
8137
|
||||
8140
|
||||
8143
|
||||
8146
|
||||
8149
|
||||
8152
|
||||
8155
|
||||
8158
|
||||
8161
|
||||
8164
|
||||
8167
|
||||
8170
|
||||
8173
|
||||
8176
|
||||
8179
|
||||
8182
|
||||
8185
|
||||
8188
|
||||
8191
|
||||
8193
|
||||
8196
|
||||
8199
|
||||
8202
|
||||
8205
|
||||
8208
|
||||
8211
|
||||
8214
|
||||
8217
|
||||
8220
|
||||
8223
|
||||
8226
|
||||
8229
|
||||
8232
|
||||
8235
|
||||
8238
|
||||
8241
|
||||
8244
|
||||
8247
|
||||
8250
|
||||
8253
|
||||
8256
|
||||
8259
|
||||
8262
|
||||
8265
|
||||
8268
|
||||
8271
|
||||
8274
|
||||
8277
|
||||
8280
|
||||
8283
|
||||
8286
|
||||
8288
|
||||
8290
|
||||
8292
|
||||
8294
|
||||
8296
|
||||
8298
|
||||
8300
|
||||
8302
|
||||
8304
|
||||
8306
|
||||
8308
|
||||
8310
|
||||
8312
|
||||
8314
|
||||
8316
|
||||
8318
|
||||
8320
|
||||
8322
|
||||
8324
|
||||
8326
|
||||
8328
|
||||
8330
|
||||
8332
|
||||
8334
|
||||
8336
|
||||
8338
|
||||
8340
|
||||
8342
|
||||
8344
|
||||
8346
|
||||
8348
|
||||
8350
|
||||
8351
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,27 @@
|
||||
/*--------------------------------*- 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 fcenter;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
4
|
||||
(
|
||||
3970
|
||||
3973
|
||||
4065
|
||||
4068
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,151 @@
|
||||
/*--------------------------------*- 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 fz0;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
128
|
||||
(
|
||||
4098
|
||||
3842
|
||||
4101
|
||||
3845
|
||||
4104
|
||||
3848
|
||||
4107
|
||||
3851
|
||||
4110
|
||||
3854
|
||||
4112
|
||||
3857
|
||||
4114
|
||||
4116
|
||||
3860
|
||||
4118
|
||||
3863
|
||||
4120
|
||||
4122
|
||||
3866
|
||||
4124
|
||||
3869
|
||||
4126
|
||||
4128
|
||||
3872
|
||||
4130
|
||||
3875
|
||||
4132
|
||||
4134
|
||||
3878
|
||||
4136
|
||||
3881
|
||||
4138
|
||||
4140
|
||||
3884
|
||||
4142
|
||||
3887
|
||||
4144
|
||||
4146
|
||||
3890
|
||||
4148
|
||||
3893
|
||||
4150
|
||||
4152
|
||||
3896
|
||||
4154
|
||||
3899
|
||||
4156
|
||||
4158
|
||||
3902
|
||||
4160
|
||||
3905
|
||||
4162
|
||||
4164
|
||||
3908
|
||||
4166
|
||||
3911
|
||||
4168
|
||||
4170
|
||||
3914
|
||||
4172
|
||||
3917
|
||||
4174
|
||||
4175
|
||||
3920
|
||||
3922
|
||||
3925
|
||||
3928
|
||||
3931
|
||||
3934
|
||||
3937
|
||||
3940
|
||||
3943
|
||||
3946
|
||||
3949
|
||||
3952
|
||||
3955
|
||||
3958
|
||||
3961
|
||||
3964
|
||||
3967
|
||||
3970
|
||||
3973
|
||||
3976
|
||||
3979
|
||||
3982
|
||||
3985
|
||||
3988
|
||||
3991
|
||||
3994
|
||||
3997
|
||||
4000
|
||||
4003
|
||||
4006
|
||||
4009
|
||||
4012
|
||||
4015
|
||||
4017
|
||||
4020
|
||||
4023
|
||||
4026
|
||||
4029
|
||||
4032
|
||||
4035
|
||||
4038
|
||||
4041
|
||||
4044
|
||||
4047
|
||||
4050
|
||||
4053
|
||||
4056
|
||||
4059
|
||||
4062
|
||||
4065
|
||||
4068
|
||||
4071
|
||||
4074
|
||||
4077
|
||||
4080
|
||||
4083
|
||||
4086
|
||||
3830
|
||||
4089
|
||||
3833
|
||||
4092
|
||||
3836
|
||||
4095
|
||||
3839
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,151 @@
|
||||
/*--------------------------------*- 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 fz1;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
128
|
||||
(
|
||||
8193
|
||||
8196
|
||||
8199
|
||||
8202
|
||||
8205
|
||||
8208
|
||||
8211
|
||||
8214
|
||||
8217
|
||||
8220
|
||||
8223
|
||||
8226
|
||||
8229
|
||||
8232
|
||||
8235
|
||||
8238
|
||||
8241
|
||||
8244
|
||||
8247
|
||||
8250
|
||||
8253
|
||||
8256
|
||||
8259
|
||||
8262
|
||||
8006
|
||||
8265
|
||||
8009
|
||||
8268
|
||||
8012
|
||||
8271
|
||||
8015
|
||||
8274
|
||||
8018
|
||||
8277
|
||||
8021
|
||||
8280
|
||||
8024
|
||||
8283
|
||||
8027
|
||||
8286
|
||||
8030
|
||||
8288
|
||||
8033
|
||||
8290
|
||||
8292
|
||||
8036
|
||||
8294
|
||||
8039
|
||||
8296
|
||||
8298
|
||||
8042
|
||||
8300
|
||||
8045
|
||||
8302
|
||||
8304
|
||||
8048
|
||||
8306
|
||||
8051
|
||||
8308
|
||||
8310
|
||||
8054
|
||||
8312
|
||||
8057
|
||||
8314
|
||||
8316
|
||||
8060
|
||||
8318
|
||||
8063
|
||||
8320
|
||||
8322
|
||||
8066
|
||||
8324
|
||||
8069
|
||||
8326
|
||||
8328
|
||||
8072
|
||||
8330
|
||||
8075
|
||||
8332
|
||||
8334
|
||||
8078
|
||||
8336
|
||||
8081
|
||||
8338
|
||||
8340
|
||||
8084
|
||||
8342
|
||||
8087
|
||||
8344
|
||||
8346
|
||||
8090
|
||||
8348
|
||||
8093
|
||||
8350
|
||||
8351
|
||||
8096
|
||||
8098
|
||||
8101
|
||||
8104
|
||||
8107
|
||||
8110
|
||||
8113
|
||||
8116
|
||||
8119
|
||||
8122
|
||||
8125
|
||||
8128
|
||||
8131
|
||||
8134
|
||||
8137
|
||||
8140
|
||||
8143
|
||||
8146
|
||||
8149
|
||||
8152
|
||||
8155
|
||||
8158
|
||||
8161
|
||||
8164
|
||||
8167
|
||||
8170
|
||||
8173
|
||||
8176
|
||||
8179
|
||||
8182
|
||||
8185
|
||||
8188
|
||||
8191
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,27 @@
|
||||
/*--------------------------------*- 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 fzcenter;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
4
|
||||
(
|
||||
4065
|
||||
3970
|
||||
4068
|
||||
3973
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,92 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / 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 EuclideanNorm;
|
||||
|
||||
//recPath predefinedPath;
|
||||
recPath MarkovPath;
|
||||
|
||||
volScalarFields
|
||||
(
|
||||
voidfraction
|
||||
// rho
|
||||
p
|
||||
NuField
|
||||
);
|
||||
|
||||
volVectorFields
|
||||
(
|
||||
// U
|
||||
Us
|
||||
);
|
||||
|
||||
surfaceScalarFields
|
||||
(
|
||||
phi
|
||||
);
|
||||
|
||||
//verbose true;
|
||||
|
||||
couplingSubStep 3;
|
||||
|
||||
initialRecSteps 150;
|
||||
|
||||
|
||||
//===========================================================================//
|
||||
// sub-model properties
|
||||
|
||||
standardRecModelProps
|
||||
{
|
||||
dataBases (dataBase1 dataBase2);
|
||||
storeAveragedFields true;
|
||||
}
|
||||
|
||||
EuclideanNormProps
|
||||
{
|
||||
fieldType "volScalarField";
|
||||
fieldName "voidfraction";
|
||||
}
|
||||
|
||||
MarkovPathProps
|
||||
{
|
||||
correlationSteps 50;
|
||||
meanIntervalSteps 200;
|
||||
minIntervalSteps 75;
|
||||
intervalWeights (1.0 0.0);
|
||||
}
|
||||
|
||||
predefinedPathProps
|
||||
{
|
||||
recPathName "predefRecurrencePath";
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,49 @@
|
||||
/*--------------------------------*- 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 "constant";
|
||||
object thermophysicalProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
thermoType
|
||||
{
|
||||
type hePsiThermo;
|
||||
mixture pureMixture;
|
||||
transport const;
|
||||
thermo eConst;
|
||||
equationOfState perfectGas;
|
||||
specie specie;
|
||||
energy sensibleInternalEnergy;
|
||||
}
|
||||
|
||||
mixture
|
||||
{
|
||||
specie
|
||||
{
|
||||
nMoles 1;
|
||||
molWeight 42.1;
|
||||
}
|
||||
thermodynamics
|
||||
{
|
||||
Cv 1310;
|
||||
Hf 0;
|
||||
}
|
||||
transport
|
||||
{
|
||||
mu 1e-05;
|
||||
Pr 0.72;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,30 @@
|
||||
/*--------------------------------*- 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 "constant";
|
||||
object transportProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
transportModel Newtonian;
|
||||
|
||||
// dummy for nu
|
||||
nu nu [ 0 2 -1 0 0 0 0 ] 0;
|
||||
|
||||
kf kf [ 1 1 -3 -1 0 0 0 ] 0.021;
|
||||
|
||||
Cp Cp [ 0 2 -2 -1 0 0 0 ] 1500;
|
||||
|
||||
Cv Cv [ 0 2 -2 -1 0 0 0 ] 1310;
|
||||
|
||||
molM molM [1 0 0 0 -1 0 0 ] 0.0421;
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,21 @@
|
||||
/*--------------------------------*- 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 "constant";
|
||||
object turbulenceProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
simulationType laminar;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,33 @@
|
||||
#!/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:
|
||||
|
||||
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
|
||||
@ -0,0 +1,258 @@
|
||||
/*--------------------------------*- 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 800.0;
|
||||
|
||||
deltaT 0.0025;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
writeInterval 100000000;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression off;
|
||||
|
||||
timeFormat general;
|
||||
|
||||
timePrecision 6;
|
||||
|
||||
runTimeModifiable true;
|
||||
|
||||
libs (
|
||||
|
||||
);
|
||||
|
||||
functions
|
||||
{
|
||||
fieldAverage1
|
||||
{
|
||||
type fieldAverage;
|
||||
libs ("libfieldFunctionObjects.so");
|
||||
writeControl writeTime;
|
||||
|
||||
fields
|
||||
(
|
||||
Us
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 10.0001;
|
||||
}
|
||||
voidfractionRec
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 10.0001;
|
||||
}
|
||||
voidfraction
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 10.0001;
|
||||
}
|
||||
rhoRec
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 10.0001;
|
||||
}
|
||||
phiS
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 10.0001;
|
||||
}
|
||||
NuField
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 10.0001;
|
||||
}
|
||||
addSource
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 10.0001;
|
||||
}
|
||||
T
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 10.0001;
|
||||
}
|
||||
particleTemp
|
||||
{
|
||||
mean on;
|
||||
prime2Mean off;
|
||||
base time;
|
||||
window 10.0001;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
fieldOutput
|
||||
{
|
||||
type writeObjects;
|
||||
functionObjectLibs ( "libutilityFunctionObjects.so" );
|
||||
exclusiveWriting true;
|
||||
objects ("rhoRecMean" "voidfraction" "voidfractionRec" "voidfractionMean" "voidfractionRecMean" "addSourceMean" "phiSMean" "TMean" "T" "particleTemp" "particleTempMean");
|
||||
writeControl timeStep;
|
||||
writeInterval 40000;
|
||||
}
|
||||
|
||||
probes1
|
||||
{
|
||||
type probes;
|
||||
|
||||
functionObjectLibs ("libsampling.so");
|
||||
|
||||
#include "probesDict";
|
||||
}
|
||||
/*
|
||||
fieldMinMax1
|
||||
{
|
||||
type fieldMinMax;
|
||||
libs ("libfieldFunctionObjects.so");
|
||||
writeControl timeStep;
|
||||
writeInterval 20;
|
||||
|
||||
fields (voidfraction);
|
||||
}
|
||||
*/
|
||||
fluxprobe
|
||||
{
|
||||
type surfaceRegion;
|
||||
libs ("libfieldFunctionObjects.so");
|
||||
writeControl timeStep;
|
||||
writeInterval 100;
|
||||
log true;
|
||||
writeFields false;
|
||||
regionType faceZone;
|
||||
name fzcenter;
|
||||
operation sum;
|
||||
|
||||
fields
|
||||
(
|
||||
phiRec
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
inflow
|
||||
{
|
||||
type surfaceRegion;
|
||||
libs ("libfieldFunctionObjects.so");
|
||||
writeControl timeStep;
|
||||
writeInterval 100;
|
||||
log true;
|
||||
// Output field values as well
|
||||
writeFields false;
|
||||
regionType patch;
|
||||
name inlet;
|
||||
operation sum;//areaIntegrate;
|
||||
|
||||
fields
|
||||
(
|
||||
phiRec
|
||||
);
|
||||
}
|
||||
|
||||
outflow
|
||||
{
|
||||
$inflow;
|
||||
name outlet;
|
||||
}
|
||||
|
||||
throughflow0
|
||||
{
|
||||
$inflow;
|
||||
regionType faceZone;
|
||||
name fz0;
|
||||
}
|
||||
|
||||
throughflow1
|
||||
{
|
||||
$inflow;
|
||||
regionType faceZone;
|
||||
name fz1;
|
||||
}
|
||||
|
||||
weights
|
||||
{
|
||||
// Load the library containing the 'coded' functionObject
|
||||
libs ("libutilityFunctionObjects.so");
|
||||
|
||||
type coded;
|
||||
|
||||
// Name of on-the-fly generated functionObject
|
||||
name weights;
|
||||
|
||||
codeOptions
|
||||
#{
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
#};
|
||||
|
||||
codeExecute
|
||||
#{
|
||||
IOdictionary& weightDict(const_cast<IOdictionary&>(mesh().lookupObject<IOdictionary>("weightDict")));
|
||||
|
||||
// assume linear increase of inlet velocity from 0.4 to 0.9 within N seconds
|
||||
scalar rampStart = 300.0;
|
||||
scalar rampDuration = 300.0;
|
||||
scalar currTime = mesh().time().timeOutputValue();
|
||||
|
||||
scalar w0 = 1.0;
|
||||
if(currTime <= rampStart) w0 = 1.0;
|
||||
else w0 = max(1.0 - (currTime-rampStart)/rampDuration,0.0);
|
||||
|
||||
scalarList newWeights(2);
|
||||
newWeights[0] = w0;
|
||||
newWeights[1] = 1-w0;
|
||||
/*
|
||||
scalarList newWeights(1);
|
||||
newWeights[0] = 1.0;
|
||||
*/
|
||||
weightDict.set("weights",newWeights);
|
||||
#};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
(
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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 4;
|
||||
|
||||
//- 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 4);
|
||||
// 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"
|
||||
//);
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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 ;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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 fvSolution;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
solvers
|
||||
{
|
||||
"(p|rho)"
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-6;
|
||||
relTol 0.01;
|
||||
}
|
||||
|
||||
"(correctedField)"
|
||||
{
|
||||
solver PCG;
|
||||
preconditioner DIC;
|
||||
tolerance 1e-5;
|
||||
relTol 0.05;
|
||||
}
|
||||
|
||||
"(p|rho)Final"
|
||||
{
|
||||
$p;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"(U|k|e|epsilon|R|nuTilda|c)"
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother GaussSeidel;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"(U|e|k|nuTilda)Final"
|
||||
{
|
||||
$U;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
T
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-8;
|
||||
relTol 0;
|
||||
}
|
||||
}
|
||||
|
||||
PIMPLE
|
||||
{
|
||||
momentumPredictor yes;
|
||||
nOuterCorrectors 3;
|
||||
nCorrectors 1;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
rhoMin rhoMin [ 1 -3 0 0 0 ] 0.5;
|
||||
rhoMax rhoMax [ 1 -3 0 0 0 ] 2.0;
|
||||
}
|
||||
|
||||
relaxationFactors
|
||||
{
|
||||
fields
|
||||
{
|
||||
}
|
||||
equations
|
||||
{
|
||||
".*" 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,51 @@
|
||||
/*--------------------------------*- 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
|
||||
voidfractionRec
|
||||
rhoRec
|
||||
pRec
|
||||
Us
|
||||
UsRec
|
||||
URec
|
||||
T
|
||||
particleTemp
|
||||
NuFieldRec
|
||||
addSource
|
||||
);
|
||||
|
||||
writeControl timeStep;
|
||||
writeInterval 100;
|
||||
|
||||
|
||||
// Locations to be probed.
|
||||
probeLocations
|
||||
(
|
||||
(0.0 0.0 0.002)
|
||||
(0.0 0.0 0.004)
|
||||
(0.0 0.0 0.03)
|
||||
(0.0 0.0 0.06)
|
||||
(-0.03 0.0 0.03)
|
||||
(0.03 0.0 0.03)
|
||||
(-0.03 0.0 0.06)
|
||||
(0.03 0.0 0.06)
|
||||
);
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -0,0 +1,550 @@
|
||||
/*--------------------------------*- 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 topoSetDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
actions
|
||||
(
|
||||
{
|
||||
name bottomRegion;
|
||||
type cellSet;
|
||||
action new;
|
||||
source boxToCell;
|
||||
sourceInfo
|
||||
{
|
||||
box (-0.05 -0.02 0.0)(0.05 0.02 0.008);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
name f0;
|
||||
type faceSet;
|
||||
action new;
|
||||
source boxToFace;
|
||||
sourceInfo
|
||||
{
|
||||
box (-0.05 -0.02 0.029)(0.05 0.02 0.031);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
name f1;
|
||||
type faceSet;
|
||||
action new;
|
||||
source boxToFace;
|
||||
sourceInfo
|
||||
{
|
||||
box (-0.05 -0.02 0.059)(0.05 0.02 0.061);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
name fcenter;
|
||||
type faceSet;
|
||||
action new;
|
||||
source boxToFace;
|
||||
sourceInfo
|
||||
{
|
||||
box (-0.0025 -0.0025 0.029)(0.0025 0.0025 0.031);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
name fz0;
|
||||
type faceZoneSet;
|
||||
action new;
|
||||
source setToFaceZone;
|
||||
sourceInfo
|
||||
{
|
||||
faceSet f0;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
name fz1;
|
||||
type faceZoneSet;
|
||||
action new;
|
||||
source setToFaceZone;
|
||||
sourceInfo
|
||||
{
|
||||
faceSet f1;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
name fzcenter;
|
||||
type faceZoneSet;
|
||||
action new;
|
||||
source setToFaceZone;
|
||||
sourceInfo
|
||||
{
|
||||
faceSet fcenter;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
);
|
||||
|
||||
// List of actions. Each action is a dictionary with e.g.
|
||||
// // name of set
|
||||
// name c0;
|
||||
//
|
||||
// // type: pointSet/faceSet/cellSet/faceZoneSet/cellZoneSet
|
||||
// type cellSet;
|
||||
//
|
||||
// // action to perform on set. Two types:
|
||||
// // - require no source : clear/invert/remove
|
||||
// // clear : clears set or zone
|
||||
// // invert : select all currently non-selected elements
|
||||
// // remove : removes set or zone
|
||||
// // - require source : new/add/delete/subset
|
||||
// // new : create new set or zone from source
|
||||
// // add : add source to contents
|
||||
// // delete : deletes source from contents
|
||||
// // subset : keeps elements both in contents and source
|
||||
// action new;
|
||||
//
|
||||
// The source entry varies according to the type of set:
|
||||
//
|
||||
// cellSet
|
||||
// ~~~~~~~
|
||||
//
|
||||
// // Select by explicitly providing cell labels
|
||||
// source labelToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// value (12 13 56); // labels of cells
|
||||
// }
|
||||
//
|
||||
// // Copy elements from cellSet
|
||||
// source cellToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c1;
|
||||
// }
|
||||
//
|
||||
// // Cells in cell zone
|
||||
// source zoneToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Zone"; // Name of cellZone, regular expressions allowed
|
||||
// }
|
||||
//
|
||||
// // Cells on master or slave side of faceZone
|
||||
// source faceZoneToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Zone"; // Name of faceZone, regular expressions allowed
|
||||
// option master; // master/slave
|
||||
// }
|
||||
//
|
||||
// // Select based on faceSet
|
||||
// source faceToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set f0; // Name of faceSet
|
||||
//
|
||||
// //option neighbour; // cell with neighbour in faceSet
|
||||
// //option owner; // ,, owner
|
||||
// option any; // cell with any face in faceSet
|
||||
// //option all; // cell with all faces in faceSet
|
||||
// }
|
||||
//
|
||||
// // Select based on pointSet
|
||||
// source pointToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set p0;
|
||||
// option any; // cell with any point in pointSet
|
||||
// //option edge; // cell with an edge with both points in pointSet
|
||||
// }
|
||||
//
|
||||
// // Select based on cellShape
|
||||
// source shapeToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// type hex; // hex/wedge/prism/pyr/tet/tetWedge/splitHex
|
||||
// }
|
||||
//
|
||||
// // Cells with cell centre within box ('box') or multiple boxes ('boxes')
|
||||
// source boxToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// box (0 0 0) (1 1 1);
|
||||
// //boxes ((0 0 0) (1 1 1) (10 10 10)(11 11 11));
|
||||
// }
|
||||
//
|
||||
// // Cells with cell centre within box
|
||||
// // Is skewed, rotated box. Given as origin and three spanning vectors.
|
||||
// source rotatedBoxToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// origin (0.2 0.2 -10);
|
||||
// i (0.2 0.2 0);
|
||||
// j (-0.2 0.2 0);
|
||||
// k (10 10 10);
|
||||
// }
|
||||
//
|
||||
// // Cells with centre within cylinder
|
||||
// source cylinderToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// p1 (0.2 0.2 -10); // start point on cylinder axis
|
||||
// p2 (0.2 0.2 0); // end point on cylinder axis
|
||||
// radius 5.0;
|
||||
// }
|
||||
//
|
||||
// // Cells with centre within sphere
|
||||
// source sphereToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// centre (0.2 0.2 -10);
|
||||
// radius 5.0;
|
||||
// }
|
||||
//
|
||||
// // Cells with cellCentre nearest to coordinates
|
||||
// source nearestToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// points ((0 0 0) (1 1 1)(2 2 2));
|
||||
// }
|
||||
//
|
||||
// // Select based on surface
|
||||
// source surfaceToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// file "www.avl.com-geometry.stl";
|
||||
// useSurfaceOrientation false; // use closed surface inside/outside
|
||||
// // test (ignores includeCut,
|
||||
// // outsidePoints)
|
||||
// outsidePoints ((-99 -99 -59)); // definition of outside
|
||||
// includeCut false; // cells cut by surface
|
||||
// includeInside false; // cells not on outside of surf
|
||||
// includeOutside false; // cells on outside of surf
|
||||
// nearDistance -1; // cells with centre near surf
|
||||
// // (set to -1 if not used)
|
||||
// curvature 0.9; // cells within nearDistance
|
||||
// // and near surf curvature
|
||||
// // (set to -100 if not used)
|
||||
// }
|
||||
//
|
||||
// // values of field within certain range
|
||||
// source fieldToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// fieldName U; // Note: uses mag(U) since volVectorField
|
||||
// min 0.1;
|
||||
// max 0.5;
|
||||
// }
|
||||
//
|
||||
// // Mesh region (non-face connected part of (subset of)mesh)
|
||||
// source regionToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c0; // optional name of cellSet giving mesh subset
|
||||
// insidePoints ((1 2 3)); // points inside region to select
|
||||
// nErode 0; // optional number of layers to erode
|
||||
// // selection
|
||||
// }
|
||||
//
|
||||
// // Cells underneath plane such that volume is reached. E.g. for use
|
||||
// // in setFields to set the level given a wanted volume.
|
||||
// source targetVolumeToCell;
|
||||
// sourceInfo
|
||||
// {
|
||||
// volume 2e-05;
|
||||
// normal (0 1 0); // usually in direction of gravity
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// faceSet
|
||||
// ~~~~~~~
|
||||
//
|
||||
// // Copy elements from faceSet
|
||||
// source faceToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set f1;
|
||||
// }
|
||||
//
|
||||
// // Select based on cellSet
|
||||
// source cellToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c0;
|
||||
// option all; // All faces of cells
|
||||
// //option both; // Only faces whose owner&neighbour are in cellSet
|
||||
// }
|
||||
//
|
||||
// // Select based on pointSet
|
||||
// source pointToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set p0;
|
||||
// option any; // Faces using any point in pointSet
|
||||
// //option all // Faces with all points in pointSet
|
||||
// //option edge // Faces with two consecutive points in pointSet
|
||||
// }
|
||||
//
|
||||
// // Select by explicitly providing face labels
|
||||
// source labelToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// value (12 13 56); // labels of faces
|
||||
// }
|
||||
//
|
||||
// // All faces of patch
|
||||
// source patchToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Wall"; // Name of patch or patch group,
|
||||
// // (regular expressions allowed)
|
||||
// }
|
||||
//
|
||||
// // All boundary faces
|
||||
// source boundaryToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// }
|
||||
//
|
||||
// // All faces of faceZone
|
||||
// source zoneToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Zone1"; // Name of faceZone, regular expressions allowed
|
||||
// }
|
||||
//
|
||||
// // Faces with face centre within box ('box') or multiple boxes ('boxes')
|
||||
// source boxToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// box (0 0 0) (1 1 1);
|
||||
// //boxes ((0 0 0) (1 1 1) (10 10 10)(11 11 11));
|
||||
// }
|
||||
//
|
||||
// // Faces with normal to within certain angle aligned with vector.
|
||||
// source normalToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// normal (0 0 1); // Vector
|
||||
// cos 0.01; // Tolerance (max cos of angle)
|
||||
// }
|
||||
//
|
||||
// // Walk on faces in faceSet, starting from face nearest given position
|
||||
// source regionToFace;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set f0;
|
||||
// nearPoint (0.1 0.1 0.005);
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// pointSet
|
||||
// ~~~~~~~
|
||||
//
|
||||
// // Copy elements from pointSet
|
||||
// source pointToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set p1;
|
||||
// }
|
||||
//
|
||||
// // Select based on cellSet
|
||||
// source cellToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c0;
|
||||
// option all; // all points of cell
|
||||
// }
|
||||
//
|
||||
// // Select based on faceSet
|
||||
// source faceToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set f0; // name of faceSet
|
||||
// option all; // all points of face
|
||||
// }
|
||||
//
|
||||
// // Select by explicitly providing point labels
|
||||
// source labelToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// value (12 13 56); // labels of points
|
||||
// }
|
||||
//
|
||||
// // All points in pointzone
|
||||
// source zoneToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// name ".*Zone"; // name of pointZone, regular expressions allowed
|
||||
// }
|
||||
//
|
||||
// // Points nearest to coordinates
|
||||
// source nearestToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// points ((0 0 0) (1 1 1));
|
||||
// }
|
||||
//
|
||||
// // Points with coordinate within box ('box') or multiple boxes ('boxes')
|
||||
// source boxToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// box (0 0 0) (1 1 1);
|
||||
// //boxes ((0 0 0) (1 1 1) (10 10 10)(11 11 11));
|
||||
// }
|
||||
//
|
||||
// // Select based on surface
|
||||
// source surfaceToPoint;
|
||||
// sourceInfo
|
||||
// {
|
||||
// file "www.avl.com-geometry.stl";
|
||||
// nearDistance 0.1; // points near to surface
|
||||
// includeInside false; // points on inside of surface
|
||||
// // (requires closed surface with consistent
|
||||
// // normals)
|
||||
// includeOutside false; // ,, outside ,,
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// cellZoneSet
|
||||
// ~~~~~~~~~~~
|
||||
// (mirrors operations on a cellSet into a cellZone)
|
||||
//
|
||||
// // Select based on cellSet
|
||||
// source setToCellZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set c0; // name of cellSet
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// faceZoneSet
|
||||
// ~~~~~~~~~~~
|
||||
// // Select based on faceSet without orientation
|
||||
// source setToFaceZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// faceSet f0; // name of faceSet
|
||||
// }
|
||||
//
|
||||
// // Select based on faceSet, using cellSet to determine orientation
|
||||
// source setsToFaceZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// faceSet f0; // name of faceSet
|
||||
// cellSet c0; // name of cellSet of slave side
|
||||
// flip false; // optional: flip the faceZone (so now the cellSet
|
||||
// // is the master side)
|
||||
// }
|
||||
//
|
||||
// // Select based on surface. Orientation from normals on surface
|
||||
// {
|
||||
// name fz0;
|
||||
// type faceZoneSet;
|
||||
// action new;
|
||||
// source searchableSurfaceToFaceZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// surface searchableSphere;
|
||||
// centre (0.05 0.05 0.005);
|
||||
// radius 0.025;
|
||||
// //name sphere.stl; // Optional name if surface triSurfaceMesh
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// pointZoneSet
|
||||
// ~~~~~~~~~~~~
|
||||
// (mirrors operations on a pointSet into a pointZone)
|
||||
//
|
||||
// // Select based on pointSet
|
||||
// source setToPointZone;
|
||||
// sourceInfo
|
||||
// {
|
||||
// set p0; // name of pointSet
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
/*
|
||||
actions
|
||||
(
|
||||
// Example:pick up internal faces on outside of cellSet
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// Load initial cellSet
|
||||
{
|
||||
name c0;
|
||||
type cellSet;
|
||||
action new;
|
||||
source labelToCell;
|
||||
sourceInfo
|
||||
{
|
||||
value (12 13 56);
|
||||
}
|
||||
}
|
||||
|
||||
// Get all faces in cellSet
|
||||
{
|
||||
name f0;
|
||||
type faceSet;
|
||||
action new;
|
||||
source cellToFace;
|
||||
sourceInfo
|
||||
{
|
||||
set c0;
|
||||
option all;
|
||||
}
|
||||
}
|
||||
|
||||
// Determine inverse cellSet
|
||||
{
|
||||
name c1;
|
||||
type cellSet;
|
||||
action new;
|
||||
source cellToCell;
|
||||
sourceInfo
|
||||
{
|
||||
set c0;
|
||||
}
|
||||
}
|
||||
{
|
||||
name c1;
|
||||
type cellSet;
|
||||
action invert;
|
||||
}
|
||||
|
||||
// Keep in f0 all faces in c1
|
||||
{
|
||||
name f0;
|
||||
type faceSet;
|
||||
action subset;
|
||||
source cellToFace;
|
||||
sourceInfo
|
||||
{
|
||||
set c1;
|
||||
option all;
|
||||
}
|
||||
}
|
||||
);
|
||||
*/
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,75 @@
|
||||
fname='temp_histo_fine.txt';
|
||||
|
||||
% number of header lines
|
||||
nheader=4;
|
||||
|
||||
inputarr = dlmread(fname,'' ,nheader,0);
|
||||
|
||||
% number of time steps
|
||||
ntimes = 1000;
|
||||
|
||||
% number of bins
|
||||
nbins = 224;
|
||||
dt = 1.0;
|
||||
|
||||
lowerbound = 1;
|
||||
upperbound = lowerbound + nbins - 1;
|
||||
|
||||
fid0 = fopen(strcat('stat_',fname), 'w');
|
||||
fprintf(fid0,'# time index || ave || std || maximum || FWHF\n');
|
||||
|
||||
for i=0:ntimes
|
||||
|
||||
maxval = 0.0;
|
||||
for j= lowerbound:upperbound
|
||||
if(inputarr(j,3) > maxval)
|
||||
maxval = inputarr(j,3);
|
||||
end
|
||||
end
|
||||
|
||||
hm = 0.5*maxval
|
||||
lower = 0.0;
|
||||
upper = 0.0;
|
||||
|
||||
mean = 0.0;
|
||||
meansqr = 0.0;
|
||||
counter = 0;
|
||||
|
||||
for j = lowerbound:upperbound-1
|
||||
if(inputarr(j,3) < hm && inputarr(j+1,3) >= hm)
|
||||
lower = 0.5*(inputarr(j,2)+inputarr(j+1,2));
|
||||
j
|
||||
hm
|
||||
inputarr(j,3)
|
||||
inputarr(j+1,3)
|
||||
lower
|
||||
% lower = inputarr(j,2) + (inputarr(j+1,2) - inputarr(j,2)) * (hm - inputarr(j,3)) / (inputarr(j+1,3) - inputarr(j,3));
|
||||
end
|
||||
if(inputarr(j,3) > hm && inputarr(j+1,3) <= hm)
|
||||
upper = 0.5*(inputarr(j,2)+inputarr(j+1,2));
|
||||
%upper = inputarr(j+1,2) - (inputarr(j+1,2) - inputarr(j,2)) * (hm - inputarr(j+1,3)) / (inputarr(j,3) - inputarr(j+1,3));
|
||||
end
|
||||
|
||||
mean = mean + inputarr(j,2) * inputarr(j,3);
|
||||
meansqr = meansqr + inputarr(j,2)^2 * inputarr(j,3);
|
||||
counter = counter + inputarr(j,3);
|
||||
end
|
||||
|
||||
mean = mean/double(counter);
|
||||
std = meansqr/double(counter) - mean^2;
|
||||
std = sqrt(std);
|
||||
fwhm = upper - lower;
|
||||
upper
|
||||
lower
|
||||
|
||||
if(i>0)
|
||||
fprintf(fid0,'%f\t%f\t%f\t%f\t%f\n',i*dt,mean,std,maxval,fwhm);
|
||||
end
|
||||
|
||||
|
||||
lowerbound = upperbound + 2;
|
||||
upperbound = lowerbound + nbins - 1;
|
||||
|
||||
end
|
||||
|
||||
fclose(fid0);
|
||||
@ -0,0 +1,131 @@
|
||||
# variables
|
||||
|
||||
# material parameters
|
||||
|
||||
variable partDens equal 667
|
||||
variable partDiam equal 0.00099
|
||||
variable partRad equal 0.5*${partDiam}
|
||||
|
||||
# particle-particle properties
|
||||
variable knPP equal 1600
|
||||
variable ktPP equal 800
|
||||
# ATTENTION: LIGGGHTS scales damping coefficients with m_eff
|
||||
variable gnPP equal 3.1192e+04
|
||||
variable gtPP equal 2.4446e+04
|
||||
variable muPP equal 0.1
|
||||
|
||||
|
||||
###############
|
||||
# the following parameters need to be updated
|
||||
###############
|
||||
|
||||
variable rfPP equal 0.1
|
||||
|
||||
|
||||
# particle-wall properties
|
||||
# wall 1 = front and side walls
|
||||
# wall 2 = back wall
|
||||
variable knPW equal v_knPP
|
||||
variable ktPW equal v_ktPP
|
||||
variable gnPW equal v_gnPP/sqrt(2.0)
|
||||
variable gtPW equal v_gtPP/sqrt(2.0)
|
||||
variable muPW1 equal 0.2
|
||||
variable muPW2 equal 0.2
|
||||
variable rfPW1 equal 0.1
|
||||
variable rfPW2 equal 0.1
|
||||
|
||||
variable Tpart equal 330
|
||||
|
||||
variable dt equal 0.0025
|
||||
#0.001
|
||||
variable skin equal 0.0005
|
||||
###############################################
|
||||
|
||||
atom_style granular
|
||||
atom_modify map array
|
||||
communicate single vel yes
|
||||
|
||||
boundary f f f
|
||||
newton off
|
||||
units si
|
||||
processors 2 1 2
|
||||
|
||||
read_restart ../DEM/liggghts.restart
|
||||
reset_timestep 0
|
||||
|
||||
group empty subtract all all
|
||||
atom_modify first empty
|
||||
|
||||
neighbor ${skin} bin
|
||||
#neigh_modify delay 10 include empty
|
||||
|
||||
|
||||
#neighbor ${skin} bin
|
||||
neigh_modify delay 0
|
||||
|
||||
#Material properties required for new pair styles
|
||||
|
||||
fix m1 all property/global kn peratomtypepair 3 ${knPP} ${knPW} ${knPW} ${knPW} 0 0 ${knPW} 0 0
|
||||
fix m2 all property/global kt peratomtypepair 3 ${ktPP} ${ktPW} ${ktPW} ${ktPW} 0 0 ${ktPW} 0 0
|
||||
fix m3 all property/global gamman peratomtypepair 3 ${gnPP} ${gnPW} ${gnPW} ${gnPW} 0 0 ${gnPW} 0 0
|
||||
fix m4 all property/global gammat peratomtypepair 3 ${gtPP} ${gtPW} ${gtPW} ${gtPW} 0 0 ${gtPW} 0 0
|
||||
fix m5 all property/global coefficientFriction peratomtypepair 3 ${muPP} ${muPW1} ${muPW2} ${muPW1} 0 0 ${muPW2} 0 0
|
||||
fix m6 all property/global coefficientRollingFriction peratomtypepair 3 ${rfPP} ${rfPW1} ${rfPW2} ${rfPW1} 0 0 ${rfPW2} 0 0
|
||||
|
||||
#Thermal properties
|
||||
# therm. conductivity not relevant because collisional heat transfer negligible
|
||||
fix ftco all property/global thermalConductivity peratomtype 0.0 0.0 0.0
|
||||
fix ftca all property/global thermalCapacity peratomtype 1920. 1920. 1920.
|
||||
|
||||
|
||||
#pair style
|
||||
pair_style gran model hooke/stiffness tangential no_history
|
||||
pair_coeff * *
|
||||
pair_modify compute no
|
||||
|
||||
#timestep, gravity
|
||||
timestep ${dt}
|
||||
|
||||
|
||||
fix walls all wall/reflect xlo EDGE xhi EDGE ylo EDGE yhi EDGE zlo EDGE zhi EDGE
|
||||
|
||||
|
||||
|
||||
#cfd coupling
|
||||
fix cfd all couple/cfd couple_every 1 one2one
|
||||
fix cfd2 all couple/cfd/recurrence transfer_force yes transfer_fluctuations yes
|
||||
|
||||
# this one invokes heat transfer calculation, transfers per-particle temperature and adds convective heat flux to particles
|
||||
fix cfd3 all couple/cfd/convection T0 ${Tpart}
|
||||
|
||||
# calculate average particle temperature
|
||||
region total block INF INF INF INF INF INF units box
|
||||
|
||||
variable time equal step*dt
|
||||
variable np equal count(all,total)
|
||||
compute sumtemp all reduce/region total sum f_Temp[0]
|
||||
variable sumT1 equal c_sumtemp
|
||||
variable Tave equal v_sumT1/v_np
|
||||
|
||||
fix printheat all print 10 "${time} ${Tave}" file ../DEM/temp_ave.txt title "#time T_ave"
|
||||
|
||||
#fix tdist1 all ave/histo 1000 1 1000 324 380 56 f_Temp[0] mode vector file ../DEM/temp_histo.txt title1 "Particle temperatures [K]"
|
||||
#fix tdist2 all ave/histo 1000 1 1000 324 380 448 f_Temp[0] mode vector file ../DEM/temp_histo_fine.txt title1 "Particle temperatures [K]"
|
||||
|
||||
fix tdist1 all ave/histo 400 1 400 324 380 56 f_Temp[0] mode vector file ../DEM/temp_histo.txt title1 "Particle temperatures [K]"
|
||||
fix tdist2 all ave/histo 400 1 400 324 380 448 f_Temp[0] mode vector file ../DEM/temp_histo_fine.txt title1 "Particle temperatures [K]"
|
||||
|
||||
|
||||
fix integr all nve/sphere
|
||||
|
||||
#screen output
|
||||
thermo_style custom step atoms ke vol
|
||||
thermo 10000
|
||||
thermo_modify lost ignore norm no
|
||||
compute_modify thermo_temp dynamic yes
|
||||
|
||||
dump dmp all custom/vtk 10000 ../DEM/post/dump*.liggghts_coupled.vtk id type x y z vx vy vz fx fy fz radius f_Temp[0] f_convectiveHeatFlux[0] f_heatSource[0]
|
||||
|
||||
run 1
|
||||
set region total property/atom Temp ${Tpart}
|
||||
neigh_modify delay 0 no_build yes
|
||||
@ -0,0 +1,15 @@
|
||||
mv ../db1/DEM/liggghts.restartCFDEM_-0.005000 DEM/liggghts.restart
|
||||
|
||||
cd CFD
|
||||
cp ../../db1/CFD/0/phiMean 0/phiRec
|
||||
cp ../../db1/CFD/0/pMean 0/pRec
|
||||
cp ../../db1/CFD/0/rhoMean 0/rhoRec
|
||||
cp ../../db1/CFD/0/UMean 0/URec
|
||||
cp ../../db1/CFD/0/UsMean 0/UsRec
|
||||
cp ../../db1/CFD/0/voidfractionMean 0/voidfractionRec
|
||||
|
||||
mv ../../db1/CFD/dataBase1 .
|
||||
mv ../../db2/CFD/dataBase2 .
|
||||
decomposePar
|
||||
./decomposeParDB.sh dataBase1
|
||||
./decomposeParDB.sh dataBase2
|
||||
@ -0,0 +1 @@
|
||||
foamJob mpirun -np 4 rcfdemSolverCoupledHeattransfer -parallel
|
||||
Reference in New Issue
Block a user