Demo case for using rStatAnalysis as post-processing tool.

This case is a simple bubble column, which is run by reactingTwoPhaseEulerFoam.
Upon completion, rStatAnalysis can be run to compute the recurrence statistics
of the bubble column.

This demo case must be run in parallel, as rStatAnalysis apparently does not run
as a single, serial process.
This commit is contained in:
MarkoRamius
2018-01-16 10:33:16 +11:00
parent 334e2f224e
commit 1fea5461c9
36 changed files with 1804 additions and 0 deletions

View File

@ -0,0 +1,22 @@
# ignore log files
log.*
*.log
# ignore mesh
polyMesh/
# ignore time steps
[0-9]
[1-9]*
[0-9].[0-9]*
# ignore latex-related files
*.aux
*.pdf
myDistMatrix.tex
# ignore recurrence data
recurrenceMatrix
recurrencePath
rec_jump.dat
myMatrix.txt

View File

@ -0,0 +1,43 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volScalarField;
location "0";
object T.air;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 300;
boundaryField
{
inlet
{
type fixedValue;
value uniform 300;
}
outlet
{
type inletOutlet;
phi phi.air;
inletValue uniform 300;
value uniform 300;
}
walls
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,43 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volScalarField;
location "0";
object T.water;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 300;
boundaryField
{
inlet
{
type fixedValue;
value uniform 300;
}
outlet
{
type inletOutlet;
phi phi.water;
inletValue uniform 300;
value uniform 300;
}
walls
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,41 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volVectorField;
location "0";
object U.air;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
inlet
{
type fixedValue;
value uniform (0 0 0.25744);
}
outlet
{
type zeroGradient;
}
walls
{
type fixedValue;
value uniform (0 0 0);
}
}
// ************************************************************************* //

View File

@ -0,0 +1,41 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volVectorField;
location "0";
object U.water;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
inlet
{
type fixedValue;
value uniform (0 0 0);
}
outlet
{
type slip;
}
walls
{
type fixedValue;
value uniform (0 0 0);
}
}
// ************************************************************************* //

View File

@ -0,0 +1,43 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volScalarField;
location "0";
object alpha.air;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0.6;
}
outlet
{
type inletOutlet;
phi phi.air;
inletValue uniform 0;
value uniform 0;
}
walls
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object alphat.air;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type calculated;
value $internalField;
}
outlet
{
type calculated;
value $internalField;
}
walls
{
type compressible::alphatWallFunction;
Prt 0.85;
value $internalField;
}
defaultFaces
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object alphat.water;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type calculated;
value $internalField;
}
outlet
{
type calculated;
value $internalField;
}
walls
{
type compressible::alphatWallFunction;
Prt 0.85;
value $internalField;
}
defaultFaces
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,44 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volScalarField;
location "0";
object epsilon.air;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -3 0 0 0 0];
internalField uniform 0.000248;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0.000248;
}
outlet
{
type inletOutlet;
phi phi.air;
inletValue uniform 0.000248;
value uniform 0.000248;
}
walls
{
type epsilonWallFunction;
value uniform 0.000248;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,44 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volScalarField;
location "0";
object epsilon.water;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -3 0 0 0 0];
internalField uniform 0.000248;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0.000248;
}
outlet
{
type inletOutlet;
phi phi.water;
inletValue uniform 0.000248;
value uniform 0.000248;
}
walls
{
type epsilonWallFunction;
value uniform 0.000248;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,44 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volScalarField;
location "0";
object k.air;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.000216;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0.000216;
}
outlet
{
type inletOutlet;
phi phi.air;
inletValue uniform 0.000216;
value uniform 0.000216;
}
walls
{
type kqRWallFunction;
value uniform 0.000216;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,44 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volScalarField;
location "0";
object k.water;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0.000216;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0.000216;
}
outlet
{
type inletOutlet;
phi phi.water;
inletValue uniform 0.000216;
value uniform 0.000216;
}
walls
{
type kqRWallFunction;
value uniform 0.000216;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,42 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volScalarField;
location "0";
object nut.air;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 1e-08;
boundaryField
{
inlet
{
type calculated;
value uniform 1e-08;
}
outlet
{
type calculated;
value uniform 1e-08;
}
walls
{
type nutkWallFunction;
value uniform 1e-08;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,42 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class volScalarField;
location "0";
object nut.water;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 1e-08;
boundaryField
{
inlet
{
type calculated;
value uniform 1e-08;
}
outlet
{
type calculated;
value uniform 1e-08;
}
walls
{
type nutkWallFunction;
value uniform 1e-08;
}
}
// ************************************************************************* //

View File

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

View File

@ -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;
object p_rgh;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 1e5;
boundaryField
{
inlet
{
type fixedFluxPressure;
value $internalField;
}
outlet
{
type prghPressure;
p $internalField;
value $internalField;
}
walls
{
type fixedFluxPressure;
value $internalField;
}
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -0,0 +1,15 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase
rm -rf 0
cd recMat
./clean.sh
#------------------------------------------------------------------------------

View File

@ -0,0 +1,28 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Set application name
application=`getApplication`
rm -rf 0
cp -r 0.org 0
runApplication blockMesh
runApplication renumberMesh -overwrite
runApplication decomposePar
runParallel $application
runParallel rStatAnalysis
cd recMat
./plot.sh
#------------------------------------------------------------------------------

View File

@ -0,0 +1,20 @@
# oscillatingBubbleColumn
## Case description
This case demonstrates the use of the utility `rStatAnalysis` to create the recurrence
statistics and create a plot of the recurrence matrix. The underlying simulation case
is a plain, quasi 2D bubble column, which is computed by `reactingTwoPhaseEulerFoam`.
After the two-fluid solver has finished, `rStatAnalysis` is run to create the
recurrence statistics. A slight modification to the class `standardRecModel`, now
allows to specify an alternative path to the recurrence data base, which defaults
to a sub-directory of the case-directory named *dataBase*. In this case, however,
we specify the case-directory to act as the data base, as be use `rStatAnalysis`
purely as a post-processing tool for the current case.
## Tested
This case has been tested with:
* OpenFOAM-4.1

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / 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);
// ************************************************************************* //

View File

@ -0,0 +1,163 @@
/*--------------------------------*- 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 dictionary;
location "constant";
object phaseProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
type heatAndMomentumTransferTwoPhaseSystem;
phases (air water);
air
{
type purePhaseModel;
diameterModel isothermal;
isothermalCoeffs
{
d0 3e-3;
p0 1e5;
}
residualAlpha 1e-6;
}
water
{
type purePhaseModel;
diameterModel constant;
constantCoeffs
{
d 1e-4;
}
residualAlpha 1e-6;
}
blending
{
default
{
type linear;
minFullyContinuousAlpha.air 0.7;
minPartlyContinuousAlpha.air 0.5;
minFullyContinuousAlpha.water 0.7;
minPartlyContinuousAlpha.water 0.5;
}
}
surfaceTension
(
(air and water)
{
type constant;
sigma 0.07;
}
);
aspectRatio
(
(air in water)
{
type constant;
E0 1.0;
}
(water in air)
{
type constant;
E0 1.0;
}
);
drag
(
(air in water)
{
type SchillerNaumann;
residualRe 1e-3;
swarmCorrection
{
type none;
}
}
(water in air)
{
type SchillerNaumann;
residualRe 1e-3;
swarmCorrection
{
type none;
}
}
(air and water)
{
type segregated;
m 0.5;
n 8;
swarmCorrection
{
type none;
}
}
);
virtualMass
(
(air in water)
{
type constantCoefficient;
Cvm 0.5;
}
(water in air)
{
type constantCoefficient;
Cvm 0.5;
}
);
heatTransfer
(
(air in water)
{
type RanzMarshall;
residualAlpha 1e-4;
}
(water in air)
{
type RanzMarshall;
residualAlpha 1e-4;
}
);
lift
(
);
wallLubrication
(
);
turbulentDispersion
(
);
// Minimum allowable pressure
pMin 10000;
// ************************************************************************* //

View File

@ -0,0 +1,80 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / 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;
//verbose true;
recNorm sqrDiffNorm;
recPath simpleRandomPath;
//recStatAnalysis off;//standardRecStatAnalysis;
volScalarFields
(
alpha.air
);
volVectorFields
(
U.water
);
surfaceScalarFields
(
);
//===========================================================================//
// sub-model properties
standardRecModelProps
{
dataBase ".";
}
sqrDiffNormProps
{
normConstant -1.0;
fieldType "volScalarField";
fieldName "alpha.air";
}
simpleRandomPathProps
{
}
noRecStatAnalysis
{
}
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties.air;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState perfectGas;
specie specie;
energy sensibleInternalEnergy;
}
mixture
{
specie
{
nMoles 1;
molWeight 28.9;
}
thermodynamics
{
Cp 1007;
Hf 0;
}
transport
{
mu 1.84e-05;
Pr 0.7;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties.water;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
transport const;
thermo hConst;
equationOfState perfectFluid;
specie specie;
energy sensibleInternalEnergy;
}
mixture
{
specie
{
nMoles 1;
molWeight 18;
}
equationOfState
{
R 3000;
rho0 1027;
}
thermodynamics
{
Cp 4195;
Hf 0;
}
transport
{
mu 3.645e-4;
Pr 2.289;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,21 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object turbulenceProperties.air;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType laminar;
// ************************************************************************* //

View File

@ -0,0 +1,33 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object turbulenceProperties.water;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType LES;
LES
{
LESModel Smagorinsky;
turbulence on;
printCoeffs on;
delta cubeRootVol;
cubeRootVolCoeffs
{
}
}
// ************************************************************************* //

View File

@ -0,0 +1,7 @@
#!/bin/bash
rm -f *.log
rm -f *.aux
rm -f *.txt
rm -f *.pdf
rm -f myDistMatrix.tex

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,252 @@
/*--------------------------------*- 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 blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
// # this blockMeshDict was generated by m4
// # vertex coordinates were generated using pre-defined symbols
vertices
(
// first row - 17
(0 0 0) // 0
(0.085 0 0) // 1
(0.115 0 0) // 2
(0.20 0 0) // 3
(0 0.02 0) // 4
(0.085 0.02 0) // 5
(0.115 0.02 0) // 6
(0.20 0.02 0) // 7
(0 0.03 0) // 8
(0.085 0.03 0) // 9
(0.115 0.03 0) // 10
(0.20 0.03 0) // 11
(0 0.05 0) // 12
(0.085 0.05 0) // 13
(0.115 0.05 0) // 14
(0.20 0.05 0) // 15
// second row
(0 0 0.10) // 16
(0.085 0 0.10) // 17
(0.115 0 0.10) // 18
(0.20 0 0.10) // 19
(0 0.02 0.10) // 20
(0.085 0.02 0.10) // 21
(0.115 0.02 0.10) // 22
(0.20 0.02 0.10) // 23
(0 0.03 0.10) // 24
(0.085 0.03 0.10) // 25
(0.115 0.03 0.10) // 26
(0.20 0.03 0.10) // 27
(0 0.05 0.10) // 28
(0.085 0.05 0.10) // 29
(0.115 0.05 0.10) // 30
(0.20 0.05 0.10) // 31
// third row
(0 0 0.30) // 32
(0.085 0 0.30) // 33
(0.115 0 0.30) // 34
(0.20 0 0.30) // 35
(0 0.02 0.30) // 36
(0.085 0.02 0.30) // 37
(0.115 0.02 0.30) // 38
(0.20 0.02 0.30) // 39
(0 0.03 0.30) // 40
(0.085 0.03 0.30) // 41
(0.115 0.03 0.30) // 42
(0.20 0.03 0.30) // 43
(0 0.05 0.30) // 44
(0.085 0.05 0.30) // 45
(0.115 0.05 0.30) // 46
(0.20 0.05 0.30) // 47
// forth row
(0 0 0.45) // 48
(0.085 0 0.45) // 49
(0.115 0 0.45) // 50
(0.20 0 0.45) // 51
(0 0.02 0.45) // 52
(0.085 0.02 0.45) // 53
(0.115 0.02 0.45) // 54
(0.20 0.02 0.45) // 55
(0 0.03 0.45) // 56
(0.085 0.03 0.45) // 57
(0.115 0.03 0.45) // 58
(0.20 0.03 0.45) // 59
(0 0.05 0.45) // 60
(0.085 0.05 0.45) // 61
(0.115 0.05 0.45) // 62
(0.20 0.05 0.45) // 63
);
// # mesh size was calculated
blocks
(
// first row
hex (0 1 5 4 16 17 21 20) (17 4 20) simpleGrading (1 1 1) // 1
hex (1 2 6 5 17 18 22 21) (6 4 20) simpleGrading (1 1 1) // 2
hex (2 3 7 6 18 19 23 22) (17 4 20) simpleGrading (1 1 1) // 3
hex (4 5 9 8 20 21 25 24) (17 2 20) simpleGrading (1 1 1) // 4
hex (5 6 10 9 21 22 26 25) (6 2 20) simpleGrading (1 1 1) // 5
hex (6 7 11 10 22 23 27 26) (17 2 20) simpleGrading (1 1 1) // 6
hex (8 9 13 12 24 25 29 28) (17 4 20) simpleGrading (1 1 1) // 7
hex (9 10 14 13 25 26 30 29) (6 4 20) simpleGrading (1 1 1) // 8
hex (10 11 15 14 26 27 31 30) (17 4 20) simpleGrading (1 1 1) // 9
// second row
hex (16 17 21 20 32 33 37 36) (17 4 40) simpleGrading (1 1 1) // 10
hex (17 18 22 21 33 34 38 37) (6 4 40) simpleGrading (1 1 1) // 11
hex (18 19 23 22 34 35 39 38) (17 4 40) simpleGrading (1 1 1) // 12
hex (20 21 25 24 36 37 41 40) (17 2 40) simpleGrading (1 1 1) // 13
hex (21 22 26 25 37 38 42 41) (6 2 40) simpleGrading (1 1 1) // 14
hex (22 23 27 26 38 39 43 42) (17 2 40) simpleGrading (1 1 1) // 15
hex (24 25 29 28 40 41 45 44) (17 4 40) simpleGrading (1 1 1) // 16
hex (25 26 30 29 41 42 46 45) (6 4 40) simpleGrading (1 1 1) // 17
hex (26 27 31 30 42 43 47 46) (17 4 40) simpleGrading (1 1 1) // 18
// third row
hex (32 33 37 36 48 49 53 52) (17 4 30) simpleGrading (1 1 1) // 19
hex (33 34 38 37 49 50 54 53) (6 4 30) simpleGrading (1 1 1) // 20
hex (34 35 39 38 50 51 55 54) (17 4 30) simpleGrading (1 1 1) // 21
hex (36 37 41 40 52 53 57 56) (17 2 30) simpleGrading (1 1 1) // 22
hex (37 38 42 41 53 54 58 57) (6 2 30) simpleGrading (1 1 1) // 23
hex (38 39 43 42 54 55 59 58) (17 2 30) simpleGrading (1 1 1) // 24
hex (40 41 45 44 56 57 61 60) (17 4 30) simpleGrading (1 1 1) // 25
hex (41 42 46 45 57 58 62 61) (6 4 30) simpleGrading (1 1 1) // 26
hex (42 43 47 46 58 59 63 62) (17 4 30) simpleGrading (1 1 1) // 27
);
edges
(
);
boundary
(
inlet
{
type patch;
faces
(
(9 10 6 5)
);
}
outlet
{
type patch;
faces
(
(48 49 53 52)
(49 50 54 53)
(50 51 55 54)
(52 53 57 56)
(53 54 58 57)
(54 55 59 58)
(56 57 61 60)
(57 58 62 61)
(58 59 63 62)
);
}
walls
{
type wall;
faces
(
// bottom
(4 5 1 0)
(5 6 2 1)
(6 7 3 2)
(8 9 5 4)
(10 11 7 6)
(12 13 9 8)
(13 14 10 9)
(14 15 11 10)
// walls - first row
(0 1 17 16)
(1 2 18 17)
(2 3 19 18)
//
(3 7 23 19)
(7 11 27 23)
(11 15 31 27)
//
(15 14 30 31)
(14 13 29 30)
(13 12 28 29)
//
(12 8 24 28)
(8 4 20 24)
(4 0 16 20)
// walls - second row
(16 17 33 32)
(17 18 34 33)
(18 19 35 34)
//
(19 23 39 35)
(23 27 43 39)
(27 31 47 43)
//
(31 30 46 47)
(30 29 45 46)
(29 28 44 45)
//
(28 24 40 44)
(24 20 36 40)
(20 16 32 36)
// walls - third row
(32 33 49 48)
(33 34 50 49)
(34 35 51 50)
//
(35 39 55 51)
(39 43 59 55)
(43 47 63 59)
//
(47 46 62 63)
(46 45 61 62)
(45 44 60 61)
//
(44 40 56 60)
(40 36 52 56)
(36 32 48 52)
);
}
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -0,0 +1,59 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application reactingTwoPhaseEulerFoam;
startFrom latestTime;
startTime 0;
stopAt endTime;
endTime 50;
deltaT 0.0001;
writeControl adjustableRunTime;
writeInterval 0.1;
purgeWrite 0;
writeFormat binary;
writePrecision 6;
writeCompression uncompressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
adjustTimeStep yes;
maxCo 0.35;
maxDeltaT 1;
functions
{
}
// ************************************************************************* //

View File

@ -0,0 +1,28 @@
/*--------------------------------*- 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 dictionary;
note "mesh decomposition control dictionary";
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 2;
method scotch;
scotchCoeffs
{
}
// ************************************************************************* //

View File

@ -0,0 +1,75 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / 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 none;
div(phi,alpha.air) Gauss vanLeer01;
div(phir,alpha.air) Gauss vanLeer01;
"div\((alphaRhoPhi|alphaPhi|phi).*,U.*\)" Gauss limitedLinearV 1;
"div\((alphaRhoPhi|alphaPhi).*,(h|e).*\)" Gauss limitedLinear 1;
"div\((alphaRhoPhi|alphaPhi).*,K.*\)" Gauss limitedLinear 1;
"div\(alphaPhi.*,p\)" Gauss limitedLinear 1;
"div\(phim,(k|epsilon)m\)" Gauss limitedLinear 1;
"div\((alphaRhoPhi|alphaPhi).*,(k|epsilon).*\)" Gauss limitedLinear 1;
div(((alpha.air*nuEff)*dev2(T(grad(U.air))))) Gauss linear;
div(((alpha.air*nuEff.air)*dev2(T(grad(U.air))))) Gauss linear;
div(((alpha.water*nuEff.water)*dev2(T(grad(U.water))))) Gauss linear;
div(alphaPhi.air,thermo:rho.air) Gauss linear;
div(alphaPhi.water,thermo:rho.water) Gauss linear;
"div\(\(\(\(alpha.**thermo:rho.*\)*nuEff.*\)*dev2\(T\(grad\(U.*\)\)\)\)\)" Gauss linear;
}
laplacianSchemes
{
default Gauss linear uncorrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default uncorrected;
}
fluxRequired
{
default no;
p ;
}
// ************************************************************************* //

View File

@ -0,0 +1,91 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
alpha.air
{
nAlphaCorr 1;
nAlphaSubCycles 2;
}
p_rgh
{
solver GAMG;
smoother DIC;
nPreSweeps 0;
nPostSweeps 2;
nFinestSweeps 2;
cacheAgglomeration true;
nCellsInCoarsestLevel 330;
agglomerator faceAreaPair;
mergeLevels 1;
tolerance 1e-8;
relTol 0.01;
}
p_rghFinal
{
$p_rgh;
relTol 0;
}
"U.*"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-7;
relTol 0;
minIter 1;
}
"e.*"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-8;
relTol 0;
minIter 1;
}
"(k|epsilon|Theta).*"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-8;
relTol 0;
minIter 1;
}
}
PIMPLE
{
nOuterCorrectors 3;
nCorrectors 1;
nNonOrthogonalCorrectors 0;
}
relaxationFactors
{
equations
{
".*" 1;
}
}
// ************************************************************************* //