ENH: chtMulti* : adapted to use solidBasicThermo

This commit is contained in:
mattijs
2010-06-11 16:38:22 +01:00
parent 2b88a6829d
commit 4c3021ba61
45 changed files with 545 additions and 1292 deletions

View File

@ -6,10 +6,12 @@ EXE_INC = \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/basicSolidThermo/lnInclude \
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel
EXE_LIBS = \
-lbasicThermophysicalModels \
-lbasicSolidThermo \
-lspecie \
-lcompressibleRASModels \
-lcompressibleLESModels \

View File

@ -37,6 +37,7 @@ Description
#include "regionProperties.H"
#include "compressibleCourantNo.H"
#include "solidRegionDiffNo.H"
#include "basicSolidThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -7,6 +7,7 @@ EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
-I$(LIB_SRC)/thermophysicalModels/basicSolidThermo/lnInclude \
-I$(LIB_SRC)/turbulenceModels \
-I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel/lnInclude \
-I$(LIB_SRC)/turbulenceModels/compressible/RAS/lnInclude
@ -14,5 +15,6 @@ EXE_INC = \
EXE_LIBS = \
-lfiniteVolume \
-lbasicThermophysicalModels \
-lbasicSolidThermo \
-lspecie \
-lcompressibleRASModels

View File

@ -35,6 +35,7 @@ Description
#include "fixedGradientFvPatchFields.H"
#include "regionProperties.H"
#include "compressibleCourantNo.H"
#include "basicSolidThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -1,8 +1,5 @@
// Initialise solid field pointer lists
PtrList<volScalarField> rhos(solidRegions.size());
PtrList<volScalarField> cps(solidRegions.size());
PtrList<volScalarField> Ks(solidRegions.size());
PtrList<volScalarField> Ts(solidRegions.size());
PtrList<basicSolidThermo> thermos(solidRegions.size());
// Populate solid field pointer lists
forAll(solidRegions, i)
@ -10,75 +7,10 @@
Info<< "*** Reading solid mesh thermophysical properties for region "
<< solidRegions[i].name() << nl << endl;
Info<< " Adding to rhos\n" << endl;
rhos.set
Info<< " Adding to thermos\n" << endl;
thermos.set
(
i,
new volScalarField
(
IOobject
(
"rho",
runTime.timeName(),
solidRegions[i],
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
solidRegions[i]
)
);
Info<< " Adding to cps\n" << endl;
cps.set
(
i,
new volScalarField
(
IOobject
(
"cp",
runTime.timeName(),
solidRegions[i],
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
solidRegions[i]
)
);
Info<< " Adding to Ks\n" << endl;
Ks.set
(
i,
new volScalarField
(
IOobject
(
"K",
runTime.timeName(),
solidRegions[i],
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
solidRegions[i]
)
);
Info<< " Adding to Ts\n" << endl;
Ts.set
(
i,
new volScalarField
(
IOobject
(
"T",
runTime.timeName(),
solidRegions[i],
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
solidRegions[i]
)
basicSolidThermo::New(solidRegions[i])
);
}

View File

@ -1,6 +1,14 @@
fvMesh& mesh = solidRegions[i];
basicSolidThermo& thermo = thermos[i];
volScalarField& rho = rhos[i];
volScalarField& cp = cps[i];
volScalarField& K = Ks[i];
volScalarField& T = Ts[i];
tmp<volScalarField> trho = thermo.rho();
const volScalarField& rho = trho();
tmp<volScalarField> tcp = thermo.cp();
const volScalarField& cp = tcp();
tmp<volScalarField> tK = thermo.K();
//tmp<volSymmTensorField> tK = thermo.directionalK();
const volScalarField& K = tK();
volScalarField& T = thermo.T();

View File

@ -1,8 +1,5 @@
// Initialise solid field pointer lists
PtrList<volScalarField> rhos(solidRegions.size());
PtrList<volScalarField> cps(solidRegions.size());
PtrList<volScalarField> Ks(solidRegions.size());
PtrList<volScalarField> Ts(solidRegions.size());
PtrList<basicSolidThermo> thermos(solidRegions.size());
// Populate solid field pointer lists
forAll(solidRegions, i)
@ -10,75 +7,10 @@
Info<< "*** Reading solid mesh thermophysical properties for region "
<< solidRegions[i].name() << nl << endl;
Info<< " Adding to rhos\n" << endl;
rhos.set
Info<< " Adding to thermos\n" << endl;
thermos.set
(
i,
new volScalarField
(
IOobject
(
"rho",
runTime.timeName(),
solidRegions[i],
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
solidRegions[i]
)
);
Info<< " Adding to cps\n" << endl;
cps.set
(
i,
new volScalarField
(
IOobject
(
"cp",
runTime.timeName(),
solidRegions[i],
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
solidRegions[i]
)
);
Info<< " Adding to Ks\n" << endl;
Ks.set
(
i,
new volScalarField
(
IOobject
(
"K",
runTime.timeName(),
solidRegions[i],
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
solidRegions[i]
)
);
Info<< " Adding to Ts\n" << endl;
Ts.set
(
i,
new volScalarField
(
IOobject
(
"T",
runTime.timeName(),
solidRegions[i],
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
solidRegions[i]
)
basicSolidThermo::New(solidRegions[i])
);
}

View File

@ -1,6 +1,14 @@
fvMesh& mesh = solidRegions[i];
basicSolidThermo& thermo = thermos[i];
volScalarField& rho = rhos[i];
volScalarField& cp = cps[i];
volScalarField& K = Ks[i];
volScalarField& T = Ts[i];
tmp<volScalarField> trho = thermo.rho();
const volScalarField& rho = trho();
tmp<volScalarField> tcp = thermo.cp();
const volScalarField& cp = tcp();
tmp<volScalarField> tK = thermo.K();
//tmp<volSymmTensorField> tK = thermo.directionalK();
const volScalarField& K = tK();
volScalarField& T = thermo.T();

View File

@ -1,15 +1,17 @@
scalar DiNum = -GREAT;
forAll(solidRegions, regionI)
forAll(solidRegions, i)
{
# include "setRegionSolidFields.H"
DiNum = max
(
solidRegionDiffNo
(
solidRegions[regionI],
solidRegions[i],
runTime,
rhos[regionI]*cps[regionI],
Ks[regionI]
rho*cp,
K
),
DiNum
);

View File

@ -18,4 +18,8 @@ wmake libso radiation
wmake libso barotropicCompressibilityModel
wmake libso thermalPorousZone
# Should be combined with solids&solidMixture
wmake libso basicSolidThermo
# ----------------------------------------------------------------- end-of-file

View File

@ -1,29 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object K;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 1 -3 -1 0 0 0];
internalField uniform 80;
boundaryField
{
".*"
{
type calculated;
}
}
// ************************************************************************* //

View File

@ -1,29 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object cp;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 -1 0 0 0];
internalField uniform 450;
boundaryField
{
".*"
{
type calculated;
}
}
// ************************************************************************* //

View File

@ -1,29 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object rho;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -3 0 0 0 0 0];
internalField uniform 8000;
boundaryField
{
".*"
{
type calculated;
}
}
// ************************************************************************* //

View File

@ -5,14 +5,8 @@ cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
rm -rf constant/polyMesh/sets
runApplication blockMesh
runApplication setSet -batch makeCellSets.setSet
rm -f constant/polyMesh/sets/*_old
runApplication setsToZones -noFlipMap
runApplication splitMeshRegions -cellZones -overwrite
# remove fluid fields from solid regions (important for post-processing)
@ -21,11 +15,11 @@ do
rm -f 0*/$i/{mut,alphat,epsilon,k,p,p,U}
done
# remove solid fields from fluid regions (important for post-processing)
for i in bottomAir topAir
do
rm -f 0*/$i/{cp,K,rho}
done
## remove solid fields from fluid regions (important for post-processing)
#for i in bottomAir topAir
#do
# rm -f 0*/$i/{cp,K,rho}
#done
for i in bottomAir topAir heater leftSolid rightSolid
do

View File

@ -0,0 +1,76 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object solidThermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType constSolidThermo;
//thermoType interpolatedSolidThermo;
//thermoType directionalSolidThermo;
constSolidThermoCoeffs
{
//- constant properties
rho rho [1 -3 0 0 0 0 0] 8000;
cp cp [0 2 -2 -1 0 0 0] 450;
K K [1 1 -3 -1 0 0 0] 80;
// N/A
Hf Hf [0 2 -2 0 0 0 0] 1;
emissivity emissivity [0 0 0 0 0 0 0] 1;
}
interpolatedSolidThermoCoeffs
{
//- interpolated properties
TValues (100 1000);
rhoValues (1700 1700);
cpValues (1700 1700);
KValues (80 40);
HfValues (1 1);
emissivityValues (1 1);
}
directionalSolidThermoCoeffs
{
//- does interpolation and directional K in coordinate system.
// Specify multiple values, one for each temperature. Properties are
// interpolated according to the local temperature.
TValues (100 1000);
rhoValues (1700 1700);
cpValues (1700 1700);
KValues ((40 40 40) (40 40 40));
coordinateSystem
{
origin (-0.000062 0.000019 0.000039);
coordinateRotation
{
type axes;
e1 (1 0 0);
e3 (-3.1807824E-6 -0.99813473 0.0610505);
}
}
HfValues (1 1);
emissivityValues (1 1);
}
// ************************************************************************* //

View File

@ -0,0 +1 @@
../heater/solidThermophysicalProperties

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/

View File

@ -0,0 +1 @@
../heater/solidThermophysicalProperties

View File

@ -1,11 +1,16 @@
cellSet heater new boxToCell (-0.01 0 -100 )(0.01 0.01 100)
cellSet heater add boxToCell (-0.01 -100 -0.01)(0.01 0.01 0.01)
cellZoneSet heater new setToCellZone heater
cellSet leftSolid new boxToCell (-100 0 -100 )(-0.01 0.01 100)
cellZoneSet leftSolid new setToCellZone leftSolid
cellSet rightSolid new boxToCell (0.01 0 -100 )(100 0.01 100)
cellZoneSet rightSolid new setToCellZone rightSolid
cellSet topAir new boxToCell (-100 0.01 -100 )(100 100 100)
cellZoneSet topAir new setToCellZone topAir
cellSet bottomAir clear
cellSet bottomAir add cellToCell heater
cellSet bottomAir add cellToCell leftSolid
cellSet bottomAir add cellToCell rightSolid
cellSet bottomAir add cellToCell topAir
cellSet bottomAir invert
cellZoneSet bottomAir new setToCellZone bottomAir

View File

@ -55,9 +55,10 @@ dictionaryReplacement
"bottomAir_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffle;
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
K K;
K basicThermo;
KName none;
value uniform 300;
}
}

View File

@ -45,9 +45,10 @@ dictionaryReplacement
}
"heater_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffle;
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
K K;
K solidThermo;
KName none;
value uniform 300;
}
minY
@ -58,47 +59,6 @@ dictionaryReplacement
}
}
rho
{
internalField uniform 8000;
boundaryField
{
".*"
{
type calculated;
value uniform 8000;
}
}
}
K
{
internalField uniform 80;
boundaryField
{
".*"
{
type zeroGradient;
value uniform 80;
}
}
}
cp
{
internalField uniform 450;
boundaryField
{
".*"
{
type zeroGradient;
value uniform 450;
}
}
}
}
// ************************************************************************* //

View File

@ -41,55 +41,14 @@ dictionaryReplacement
}
"leftSolid_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffle;
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
K K;
K solidThermo;
KName none;
value uniform 300;
}
}
}
rho
{
internalField uniform 8000;
boundaryField
{
".*"
{
type calculated;
value uniform 8000;
}
}
}
K
{
internalField uniform 80;
boundaryField
{
".*"
{
type zeroGradient;
value uniform 80;
}
}
}
cp
{
internalField uniform 450;
boundaryField
{
".*"
{
type zeroGradient;
value uniform 450;
}
}
}
}
// ************************************************************************* //

View File

@ -41,55 +41,14 @@ dictionaryReplacement
}
"rightSolid_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffle;
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
K K;
K solidThermo;
KName none;
value uniform 300;
}
}
}
rho
{
internalField uniform 8000;
boundaryField
{
".*"
{
type calculated;
value uniform 8000;
}
}
}
K
{
internalField uniform 80;
boundaryField
{
".*"
{
type zeroGradient;
value uniform 80;
}
}
}
cp
{
internalField uniform 450;
boundaryField
{
".*"
{
type zeroGradient;
value uniform 450;
}
}
}
}
// ************************************************************************* //

View File

@ -66,9 +66,10 @@ dictionaryReplacement
"topAir_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffle;
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
K K;
K basicThermo;
KName none;
value uniform 300;
}
}

View File

@ -1,29 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object K;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 1 -3 -1 0 0 0];
internalField uniform 80;
boundaryField
{
".*"
{
type calculated;
}
}
// ************************************************************************* //

View File

@ -1,29 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object cp;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 -1 0 0 0];
internalField uniform 450;
boundaryField
{
".*"
{
type calculated;
}
}
// ************************************************************************* //

View File

@ -1,29 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object rho;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -3 0 0 0 0 0];
internalField uniform 8000;
boundaryField
{
".*"
{
type calculated;
}
}
// ************************************************************************* //

View File

@ -9,19 +9,19 @@ rm -rf constant/polyMesh/sets
runApplication blockMesh
runApplication snappyHexMesh -overwrite
runApplication splitMeshRegions -cellZones
runApplication splitMeshRegions -cellZones -overwrite
# remove fluid fields from solid regions (important for post-processing)
for i in heater leftSolid rightSolid
do
rm -f 0*/$i/{mut,alphat,epsilon,k,p,p,U}
rm -f 0*/$i/{mut,alphat,epsilon,k,p,U}
done
# remove solid fields from fluid regions (important for post-processing)
for i in bottomAir topAir
do
rm -f 0*/$i/{cp,K,rho}
done
# No solid fields to remove from fluid regions (important for post-processing)
#for i in bottomAir topAir
#do
# rm -f 0*/$i/{cp,K,rho}
#done
for i in bottomAir topAir heater leftSolid rightSolid
do

View File

@ -14,9 +14,9 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
RASModel kEpsilon;
RASModel laminar;
turbulence off;
turbulence on;
printCoeffs on;

View File

@ -0,0 +1,76 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object solidThermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType constSolidThermo;
//thermoType interpolatedSolidThermo;
//thermoType directionalSolidThermo;
constSolidThermoCoeffs
{
//- constant properties
rho rho [1 -3 0 0 0 0 0] 8000;
cp cp [0 2 -2 -1 0 0 0] 450;
K K [1 1 -3 -1 0 0 0] 80;
// N/A
Hf Hf [0 2 -2 0 0 0 0] 1;
emissivity emissivity [0 0 0 0 0 0 0] 1;
}
interpolatedSolidThermoCoeffs
{
//- interpolated properties
TValues (100 1000);
rhoValues (1700 1700);
cpValues (1700 1700);
KValues (80 40);
HfValues (1 1);
emissivityValues (1 1);
}
directionalSolidThermoCoeffs
{
//- does interpolation and directional K in coordinate system.
// Specify multiple values, one for each temperature. Properties are
// interpolated according to the local temperature.
TValues (100 1000);
rhoValues (1700 1700);
cpValues (1700 1700);
KValues ((40 40 40) (40 40 40));
coordinateSystem
{
origin (-0.000062 0.000019 0.000039);
coordinateRotation
{
type axes;
e1 (1 0 0);
e3 (-3.1807824E-6 -0.99813473 0.0610505);
}
}
HfValues (1 1);
emissivityValues (1 1);
}
// ************************************************************************* //

View File

@ -0,0 +1,76 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object solidThermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType constSolidThermo;
//thermoType interpolatedSolidThermo;
//thermoType directionalSolidThermo;
constSolidThermoCoeffs
{
//- constant properties
rho rho [1 -3 0 0 0 0 0] 8000;
cp cp [0 2 -2 -1 0 0 0] 450;
K K [1 1 -3 -1 0 0 0] 80;
// N/A
Hf Hf [0 2 -2 0 0 0 0] 1;
emissivity emissivity [0 0 0 0 0 0 0] 1;
}
interpolatedSolidThermoCoeffs
{
//- interpolated properties
TValues (100 1000);
rhoValues (1700 1700);
cpValues (1700 1700);
KValues (80 40);
HfValues (1 1);
emissivityValues (1 1);
}
directionalSolidThermoCoeffs
{
//- does interpolation and directional K in coordinate system.
// Specify multiple values, one for each temperature. Properties are
// interpolated according to the local temperature.
TValues (100 1000);
rhoValues (1700 1700);
cpValues (1700 1700);
KValues ((40 40 40) (40 40 40));
coordinateSystem
{
origin (-0.000062 0.000019 0.000039);
coordinateRotation
{
type axes;
e1 (1 0 0);
e3 (-3.1807824E-6 -0.99813473 0.0610505);
}
}
HfValues (1 1);
emissivityValues (1 1);
}
// ************************************************************************* //

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/

View File

@ -0,0 +1,76 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object solidThermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType constSolidThermo;
//thermoType interpolatedSolidThermo;
//thermoType directionalSolidThermo;
constSolidThermoCoeffs
{
//- constant properties
rho rho [1 -3 0 0 0 0 0] 8000;
cp cp [0 2 -2 -1 0 0 0] 450;
K K [1 1 -3 -1 0 0 0] 80;
// N/A
Hf Hf [0 2 -2 0 0 0 0] 1;
emissivity emissivity [0 0 0 0 0 0 0] 1;
}
interpolatedSolidThermoCoeffs
{
//- interpolated properties
TValues (100 1000);
rhoValues (1700 1700);
cpValues (1700 1700);
KValues (80 40);
HfValues (1 1);
emissivityValues (1 1);
}
directionalSolidThermoCoeffs
{
//- does interpolation and directional K in coordinate system.
// Specify multiple values, one for each temperature. Properties are
// interpolated according to the local temperature.
TValues (100 1000);
rhoValues (1700 1700);
cpValues (1700 1700);
KValues ((40 40 40) (40 40 40));
coordinateSystem
{
origin (-0.000062 0.000019 0.000039);
coordinateRotation
{
type axes;
e1 (1 0 0);
e3 (-3.1807824E-6 -0.99813473 0.0610505);
}
}
HfValues (1 1);
emissivityValues (1 1);
}
// ************************************************************************* //

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
@ -14,9 +14,9 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
RASModel kEpsilon;
RASModel laminar;
turbulence off;
turbulence on;
printCoeffs on;

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/

View File

@ -1,11 +0,0 @@
cellSet heater new boxToCell (-0.01 0 -100 )(0.01 0.01 100)
cellSet heater add boxToCell (-0.01 -100 -0.01)(0.01 0.01 0.01)
cellSet leftSolid new boxToCell (-100 0 -100 )(-0.01 0.01 100)
cellSet rightSolid new boxToCell (0.01 0 -100 )(100 0.01 100)
cellSet topAir new boxToCell (-100 0.01 -100 )(100 100 100)
cellSet bottomAir clear
cellSet bottomAir add cellToCell heater
cellSet bottomAir add cellToCell leftSolid
cellSet bottomAir add cellToCell rightSolid
cellSet bottomAir add cellToCell topAir
cellSet bottomAir invert

View File

@ -16,52 +16,25 @@ FoamFile
dictionaryReplacement
{
U
{
internalField uniform (0 0 0);
boundaryField
boundary
{
minX
{
type fixedValue;
value uniform (0 0 0);
type wall;
}
maxX
{
type fixedValue;
value uniform (0 0 0);
type wall;
}
}
minY
U
{
type fixedValue;
value uniform (0 0 0);
}
internalField uniform (0.01 0 0);
minZ
boundaryField
{
type fixedValue;
value uniform (0 0 0);
}
maxZ
{
type fixedValue;
value uniform (0 0 0);
}
bottomAir_to_leftSolid
{
type fixedValue;
value uniform (0 0 0);
}
bottomAir_to_heater
{
type fixedValue;
value uniform (0 0 0);
}
bottomAir_to_rightSolid
".*"
{
type fixedValue;
value uniform (0 0 0);
@ -71,47 +44,21 @@ dictionaryReplacement
T
{
internalField uniform 300;
boundaryField
{
minX
".*"
{
type zeroGradient;
}
maxX
"bottomAir_to_.*"
{
type zeroGradient;
}
minY
{
type zeroGradient;
}
minZ
{
type zeroGradient;
}
maxZ
{
type zeroGradient;
}
bottomAir_to_leftSolid
{
type compressible::turbulentTemperatureCoupledBaffle;
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
K K;
value uniform 300;
}
bottomAir_to_heater
{
type compressible::turbulentTemperatureCoupledBaffle;
neighbourFieldName T;
K K;
value uniform 300;
}
bottomAir_to_rightSolid
{
type compressible::turbulentTemperatureCoupledBaffle;
neighbourFieldName T;
K K;
K basicThermo;
KName none;
value uniform 300;
}
}
@ -125,47 +72,9 @@ dictionaryReplacement
boundaryField
{
minX
".*"
{
type zeroGradient;
value uniform 0.01;
}
maxX
{
type zeroGradient;
value uniform 0.01;
}
minY
{
type zeroGradient;
value uniform 0.01;
}
minZ
{
type zeroGradient;
value uniform 0.01;
}
maxZ
{
type zeroGradient;
value uniform 0.01;
}
bottomAir_to_leftSolid
{
type zeroGradient;
value uniform 0.01;
}
bottomAir_to_heater
{
type zeroGradient;
value uniform 0.01;
}
bottomAir_to_rightSolid
{
type zeroGradient;
type compressible::epsilonWallFunction;
value uniform 0.01;
}
}
@ -174,49 +83,12 @@ dictionaryReplacement
k
{
internalField uniform 0.1;
boundaryField
{
minX
".*"
{
type zeroGradient;
value uniform 0.1;
}
maxX
{
type zeroGradient;
value uniform 0.1;
}
minY
{
type zeroGradient;
value uniform 0.1;
}
minZ
{
type zeroGradient;
value uniform 0.1;
}
maxZ
{
type zeroGradient;
value uniform 0.1;
}
bottomAir_to_leftSolid
{
type zeroGradient;
value uniform 0.1;
}
bottomAir_to_heater
{
type zeroGradient;
value uniform 0.1;
}
bottomAir_to_rightSolid
{
type zeroGradient;
type compressible::kqRWallFunction;
value uniform 0.1;
}
}
@ -224,53 +96,17 @@ dictionaryReplacement
p
{
internalField uniform 1E5;
internalField uniform 100000;
boundaryField
{
minX
{
type buoyantPressure;
value 1e5;
}
maxX
{
type buoyantPressure;
value 1e5;
}
minY
{
type buoyantPressure;
value 1e5;
}
minZ
{
type buoyantPressure;
value 1e5;
}
maxZ
{
type buoyantPressure;
value 1e5;
}
bottomAir_to_leftSolid
{
type buoyantPressure;
value 1e5;
}
bottomAir_to_heater
{
type buoyantPressure;
value 1e5;
}
bottomAir_to_rightSolid
".*"
{
type buoyantPressure;
value 1e5;
}
}
}
}
// ************************************************************************* //

View File

@ -17,7 +17,7 @@ FoamFile
libs ("libOpenFOAM.so" "libcompressibleTurbulenceModel.so" "libcompressibleRASModels.so");
application snappyHexMesh;
application chtMultiRegionFoam;
startFrom latestTime;
@ -30,9 +30,8 @@ endTime 200;
deltaT 0.001;
writeControl adjustableRunTime;
writeInterval 50;
//writeControl timeStep;
//writeInterval 100;
purgeWrite 0;
@ -50,6 +49,8 @@ runTimeModifiable true;
maxCo 0.3;
maxDi 10.0;
adjustTimeStep yes;

View File

@ -22,8 +22,8 @@ numberOfSubdomains 4;
//- Keep owner and neighbour on same processor for faces in zones:
// preserveFaceZones (heater solid1 solid3);
method scotch;
// method hierarchical;
// method scotch;
method hierarchical;
// method simple;
// method metis;
// method manual;

View File

@ -16,169 +16,49 @@ FoamFile
dictionaryReplacement
{
boundary
{
minY
{
type patch;
}
minZ
{
type patch;
}
maxZ
{
type patch;
}
}
T
{
internalField uniform 300;
boundaryField
{
".*"
{
type zeroGradient;
value uniform 300;
}
"heater_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
K solidThermo;
KName none;
value uniform 300;
}
minY
{
type fixedValue;
value uniform 500;
}
minZ
{
type zeroGradient;
}
maxZ
{
type zeroGradient;
}
heater_to_bottomAir
{
type compressible::turbulentTemperatureCoupledBaffle;
neighbourFieldName T;
K K;
value uniform 300;
}
heater_to_leftSolid
{
type compressible::turbulentTemperatureCoupledBaffle;
neighbourFieldName T;
K K;
value uniform 300;
}
heater_to_rightSolid
{
type compressible::turbulentTemperatureCoupledBaffle;
neighbourFieldName T;
K K;
value uniform 300;
}
heater_to_topAir
{
type compressible::turbulentTemperatureCoupledBaffle;
neighbourFieldName T;
K K;
value uniform 300;
}
}
}
rho
{
internalField uniform 8000;
boundaryField
{
minY
{
type zeroGradient;
}
minZ
{
type zeroGradient;
}
maxZ
{
type zeroGradient;
}
heater_to_bottomAir
{
type zeroGradient;
}
heater_to_leftSolid
{
type zeroGradient;
}
heater_to_rightSolid
{
type zeroGradient;
}
heater_to_topAir
{
type zeroGradient;
}
}
}
K
{
internalField uniform 80;
boundaryField
{
minY
{
type zeroGradient;
}
minZ
{
type zeroGradient;
}
maxZ
{
type zeroGradient;
}
heater_to_bottomAir
{
type zeroGradient;
}
heater_to_leftSolid
{
type zeroGradient;
}
heater_to_rightSolid
{
type zeroGradient;
}
heater_to_topAir
{
type zeroGradient;
}
}
}
cp
{
internalField uniform 450;
boundaryField
{
minY
{
type zeroGradient;
}
minZ
{
type zeroGradient;
}
maxZ
{
type zeroGradient;
}
heater_to_bottomAir
{
type zeroGradient;
}
heater_to_leftSolid
{
type zeroGradient;
}
heater_to_rightSolid
{
type zeroGradient;
}
heater_to_topAir
{
type zeroGradient;
}
}
}
}
// ************************************************************************* //

View File

@ -16,147 +16,39 @@ FoamFile
dictionaryReplacement
{
boundary
{
minZ
{
type patch;
}
maxZ
{
type patch;
}
}
T
{
internalField uniform 300;
boundaryField
{
minX
".*"
{
type zeroGradient;
}
minZ
{
type zeroGradient;
}
maxZ
{
type zeroGradient;
}
leftSolid_to_bottomAir
{
type compressible::turbulentTemperatureCoupledBaffle;
neighbourFieldName T;
K K;
value uniform 300;
}
leftSolid_to_heater
{
type compressible::turbulentTemperatureCoupledBaffle;
neighbourFieldName T;
K K;
value uniform 300;
}
leftSolid_to_topAir
"leftSolid_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffle;
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
K K;
K solidThermo;
KName none;
value uniform 300;
}
}
}
rho
{
internalField uniform 8000;
boundaryField
{
minX
{
type zeroGradient;
}
minZ
{
type zeroGradient;
}
maxZ
{
type zeroGradient;
}
leftSolid_to_bottomAir
{
type zeroGradient;
}
leftSolid_to_heater
{
type zeroGradient;
}
leftSolid_to_topAir
{
type zeroGradient;
}
}
}
K
{
internalField uniform 80;
boundaryField
{
minX
{
type zeroGradient;
}
minZ
{
type zeroGradient;
}
maxZ
{
type zeroGradient;
}
leftSolid_to_bottomAir
{
type zeroGradient;
}
leftSolid_to_heater
{
type zeroGradient;
}
leftSolid_to_topAir
{
type zeroGradient;
}
}
}
cp
{
internalField uniform 450;
boundaryField
{
minX
{
type zeroGradient;
}
minZ
{
type zeroGradient;
}
maxZ
{
type zeroGradient;
}
leftSolid_to_bottomAir
{
type zeroGradient;
}
leftSolid_to_heater
{
type zeroGradient;
}
leftSolid_to_topAir
{
type zeroGradient;
}
}
}
}
// ************************************************************************* //

View File

@ -16,144 +16,37 @@ FoamFile
dictionaryReplacement
{
boundary
{
minZ
{
type patch;
}
maxZ
{
type patch;
}
}
T
{
internalField uniform 300;
boundaryField
{
maxX
".*"
{
type zeroGradient;
}
minZ
{
type zeroGradient;
}
maxZ
{
type zeroGradient;
}
rightSolid_to_heater
{
type compressible::turbulentTemperatureCoupledBaffle;
neighbourFieldName T;
K K;
value uniform 300;
}
rightSolid_to_bottomAir
"rightSolid_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffle;
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
K K;
K solidThermo;
KName none;
value uniform 300;
}
rightSolid_to_topAir
{
type compressible::turbulentTemperatureCoupledBaffle;
neighbourFieldName T;
K K;
value uniform 300;
}
}
}
rho
{
internalField uniform 8000;
boundaryField
{
maxX
{
type zeroGradient;
}
minZ
{
type zeroGradient;
}
maxZ
{
type zeroGradient;
}
rightSolid_to_bottomAir
{
type zeroGradient;
}
rightSolid_to_heater
{
type zeroGradient;
}
rightSolid_to_topAir
{
type zeroGradient;
}
}
}
K
{
internalField uniform 80;
boundaryField
{
maxX
{
type zeroGradient;
}
minZ
{
type zeroGradient;
}
maxZ
{
type zeroGradient;
}
rightSolid_to_bottomAir
{
type zeroGradient;
}
rightSolid_to_heater
{
type zeroGradient;
}
rightSolid_to_topAir
{
type zeroGradient;
}
}
}
cp
{
internalField uniform 450;
boundaryField
{
maxX
{
type zeroGradient;
}
minZ
{
type zeroGradient;
}
maxZ
{
type zeroGradient;
}
rightSolid_to_bottomAir
{
type zeroGradient;
}
rightSolid_to_heater
{
type zeroGradient;
}
rightSolid_to_topAir
{
type zeroGradient;
}
}
}
}

View File

@ -19,8 +19,14 @@ dictionaryReplacement
U
{
internalField uniform (0.01 0 0);
boundaryField
{
".*"
{
type fixedValue;
value uniform (0 0 0);
}
minX
{
type fixedValue;
@ -30,39 +36,6 @@ dictionaryReplacement
{
type inletOutlet;
inletValue uniform ( 0 0 0 );
}
maxY
{
type fixedValue;
value uniform (0 0 0);
}
minZ
{
type fixedValue;
value uniform (0 0 0);
}
maxZ
{
type fixedValue;
value uniform (0 0 0);
}
topAir_to_leftSolid
{
type fixedValue;
value uniform (0 0 0);
}
topAir_to_heater
{
type fixedValue;
value uniform (0 0 0);
}
topAir_to_rightSolid
{
type fixedValue;
value uniform ( 0 0 0 );
}
}
@ -74,11 +47,11 @@ dictionaryReplacement
boundaryField
{
maxY
".*"
{
type fixedValue;
value uniform 300;
type zeroGradient;
}
minX
{
type fixedValue;
@ -86,39 +59,17 @@ dictionaryReplacement
}
maxX
{
type fixedValue;
type inletOutlet;
inletValue uniform 300;
value uniform 300;
}
minZ
{
type fixedValue;
value uniform 300;
}
maxZ
{
type fixedValue;
value uniform 300;
}
topAir_to_leftSolid
{
type compressible::turbulentTemperatureCoupledBaffle;
neighbourFieldName T;
K K;
value uniform 300;
}
topAir_to_heater
"topAir_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffle;
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
K K;
value uniform 300;
}
topAir_to_rightSolid
{
type compressible::turbulentTemperatureCoupledBaffle;
neighbourFieldName T;
K K;
K basicThermo;
KName none;
value uniform 300;
}
}
@ -126,10 +77,16 @@ dictionaryReplacement
epsilon
{
// Set the value on all bc to non-zero. Not used in simulation
// since zeroGradient; only used in initialisation.
internalField uniform 0.01;
boundaryField
{
".*"
{
type compressible::epsilonWallFunction;
value uniform 0.01;
}
minX
{
type fixedValue;
@ -137,44 +94,8 @@ dictionaryReplacement
}
maxX
{
type zeroGradient;
value uniform 0.01;
}
minY
{
type zeroGradient;
value uniform 0.01;
}
maxY
{
type zeroGradient;
value uniform 0.01;
}
minZ
{
type zeroGradient;
value uniform 0.01;
}
maxZ
{
type zeroGradient;
value uniform 0.01;
}
topAir_to_leftSolid
{
type zeroGradient;
value uniform 0.01;
}
topAir_to_heater
{
type zeroGradient;
value uniform 0.01;
}
topAir_to_rightSolid
{
type zeroGradient;
type inletOutlet;
inletValue uniform 0.01;
value uniform 0.01;
}
}
@ -183,50 +104,24 @@ dictionaryReplacement
k
{
internalField uniform 0.1;
boundaryField
{
".*"
{
type compressible::kqRWallFunction;
value uniform 0.1;
}
minX
{
type fixedValue;
value uniform 0.1;
}
maxX
{
type zeroGradient;
value uniform 0.1;
}
maxY
{
type zeroGradient;
value uniform 0.1;
}
minZ
{
type zeroGradient;
value uniform 0.1;
}
maxZ
{
type zeroGradient;
value uniform 0.1;
}
topAir_to_leftSolid
{
type zeroGradient;
value uniform 0.1;
}
topAir_to_heater
{
type zeroGradient;
value uniform 0.1;
}
topAir_to_rightSolid
{
type zeroGradient;
type inletOutlet;
inletValue uniform 0.1;
value uniform 0.1;
}
}
@ -234,59 +129,23 @@ dictionaryReplacement
p
{
internalField uniform 1E5;
internalField uniform 100000;
boundaryField
{
minX
".*"
{
type buoyantPressure;
value 1e5;
}
maxX
{
type waveTransmissive;
//field p;
phi phi;
rho rho;
psi psi;
gamma 1.4; // cp/cv
fieldInf 1e5;
lInf 0.40; // double length of domain
value uniform 1e5;
}
maxY
{
type buoyantPressure;
value 1e5;
}
minZ
{
type buoyantPressure;
value 1e5;
}
maxZ
{
type buoyantPressure;
value 1e5;
}
topAir_to_leftSolid
{
type buoyantPressure;
value 1e5;
}
topAir_to_heater
{
type buoyantPressure;
value 1e5;
}
topAir_to_rightSolid
{
type buoyantPressure;
value 1e5;
gamma 1.4;
fieldInf 100000;
lInf 0.4;
value uniform 100000;
}
}
}