surfaceFilmModels: Replaced the simplistic constant heat capacity thermodynamics with rhoThermo

The constant heat capacity hacked thermo in surfaceFilmModels and the
corresponding transfer terms in Lagrangian have been replaced by the standard
OpenFOAM rhoThermo which provides a general handling of thermo-physical
properties, in particular non-constant heat capacity.  Further rationalisation
of liquid and solid properties has also been undertaken in support of this work
to provide a completely consistent interface to sensible and absolute enthalpy.

Now for surfaceFilmModels the thermo-physical model and properties are specified
in a constant/<region>/thermophysicalProperties dictionary consistent with all
other types of continuum simulation.

This significantly rationalises, simplifies and generalises the handling of
thermo-physical properties for film simulations and is a start at doing the same
for Lagrangian.
This commit is contained in:
Henry Weller
2021-03-21 23:04:40 +00:00
parent 8ec5eac35e
commit 76e07b0da6
176 changed files with 1530 additions and 2458 deletions

View File

@ -6,7 +6,6 @@ cd ${0%/*} || exit 1 # Run from this directory
cleanCase
rm -rf constant/wallFilmRegion
rm -f *.obj
rm -rf constant/wallFilmRegion/polyMesh
#------------------------------------------------------------------------------

View File

@ -19,19 +19,13 @@ surfaceFilmModel thermoSingleLayer;
regionName wallFilmRegion;
thermophysicalProperties
{
type liquid;
useReferenceValues no;
liquid H2O;
}
viscosity
{
model liquid;
model Newtonian;
}
sigma 0.07;
deltaWet 1e-4;
hydrophilic no;

View File

@ -0,0 +1,32 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
properties liquid;
energy sensibleInternalEnergy;
}
mixture
{
H2O;
}
// ************************************************************************* //

View File

@ -31,7 +31,7 @@ divSchemes
div(phid,alpha) Gauss upwind;
div(phi,U) Gauss upwind;
div(phi,h) Gauss upwind;
div(phi,e) Gauss upwind;
div(nHat) Gauss linear;
}

View File

@ -25,7 +25,7 @@ solvers
relTol 0;
}
"(U|h).*"
"(U|e).*"
{
solver smoothSolver;
smoother symGaussSeidel;

View File

@ -30,7 +30,7 @@ boundaryField
"(region0_to.*)"
{
type mapped;
field Ts;
field T;
average 300;
setAverage no;
value uniform 300;

View File

@ -6,7 +6,6 @@ cd ${0%/*} || exit 1 # Run from this directory
cleanCase
rm -rf constant/wallFilmRegion
rm -f *.obj
rm -rf constant/wallFilmRegion/polyMesh
#------------------------------------------------------------------------------

View File

@ -19,19 +19,13 @@ surfaceFilmModel thermoSingleLayer;
regionName wallFilmRegion;
thermophysicalProperties
{
type liquid;
useReferenceValues no;
liquid H2O;
}
viscosity
{
model liquid;
model Newtonian;
}
sigma 0.07;
deltaWet 1e-4;
hydrophilic no;

View File

@ -0,0 +1,32 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
properties liquid;
energy sensibleInternalEnergy;
}
mixture
{
H2O;
}
// ************************************************************************* //

View File

@ -31,7 +31,7 @@ divSchemes
div(phid,alpha) Gauss upwind;
div(phi,U) Gauss upwind;
div(phi,h) Gauss upwind;
div(phi,e) Gauss upwind;
div(nHat) Gauss linear;
}

View File

@ -26,7 +26,7 @@ solvers
maxIter 100;
}
"(U|h).*"
"(U|e).*"
{
solver smoothSolver;
smoother GaussSeidel;

View File

@ -6,7 +6,6 @@ cd ${0%/*} || exit 1 # Run from this directory
cleanCase
rm -rf constant/wallFilmRegion
rm -f *.obj
rm -rf constant/wallFilmRegion/polyMesh
#------------------------------------------------------------------------------

View File

@ -15,20 +15,21 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
surfaceFilmModel kinematicSingleLayer;
surfaceFilmModel thermoSingleLayer;
regionName wallFilmRegion;
thermophysicalProperties
viscosity
{
type constant;
specie water;
rho0 1000;
mu0 1e-3;
sigma0 0.07;
model Newtonian;
}
sigma 0.07;
deltaWet 1e-12;
hydrophilic no;
momentumTransport
{
model laminar;
@ -57,5 +58,23 @@ forces
}
}
upperSurfaceModels
{
heatTransfer
{
model constant;
c0 1;
}
}
lowerSurfaceModels
{
heatTransfer
{
model constant;
c0 1;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,32 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
properties liquid;
energy sensibleInternalEnergy;
}
mixture
{
H2O;
}
// ************************************************************************* //

View File

@ -31,7 +31,7 @@ divSchemes
div(phid,alpha) Gauss upwind;
div(phi,U) Gauss upwind;
div(phi,h) Gauss upwind;
div(phi,e) Gauss upwind;
div(nHat) Gauss linear;
}

View File

@ -25,7 +25,7 @@ solvers
relTol 0;
}
"(U|h).*"
"(U|e).*"
{
solver smoothSolver;
smoother symGaussSeidel;

View File

@ -6,6 +6,6 @@ cd ${0%/*} || exit 1 # Run from this directory
cleanCase
rm -rf constant/wallFilm
rm -rf constant/wallFilm/polyMesh
#------------------------------------------------------------------------------

View File

@ -19,19 +19,13 @@ surfaceFilmModel thermoSingleLayer;
regionName wallFilm;
thermophysicalProperties
{
type liquid;
useReferenceValues no;
liquid H2O;
}
viscosity
{
model liquid;
model Newtonian;
}
sigma 0.07;
deltaWet 1e-4;
hydrophilic no;

View File

@ -0,0 +1,32 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
properties liquid;
energy sensibleInternalEnergy;
}
mixture
{
H2O;
}
// ************************************************************************* //

View File

@ -31,7 +31,7 @@ divSchemes
div(phid,alpha) Gauss upwind;
div(phi,U) Gauss upwind;
div(phi,h) Gauss upwind;
div(phi,e) Gauss upwind;
div(nHat) Gauss linear;
}

View File

@ -25,7 +25,7 @@ solvers
relTol 0;
}
"(U|h).*"
"(U|e).*"
{
solver PBiCGStab;
preconditioner DILU;

View File

@ -6,6 +6,6 @@ cd ${0%/*} || exit 1 # Run from this directory
cleanCase
rm -rf 0/T.*
rm -rf constant/plateRegion
rm -rf constant/plateRegion/polyMesh
#------------------------------------------------------------------------------

View File

@ -0,0 +1,32 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType
{
type heRhoThermo;
mixture pureMixture;
properties liquid;
energy sensibleInternalEnergy;
}
mixture
{
H2O;
}
// ************************************************************************* //

View File

@ -21,53 +21,16 @@ regionName plateRegion;
phase liquid;
thermophysicalProperties
{
type liquid;
mixture
{
liquid
{
type H2O;
// Set Cp constant and the corresponding linear function for h for
// compatibility with the current hard-coded thermodynamics model in
// surfaceFilm
Cp
{
a 4200;
b 0;
c 0;
d 0;
e 0;
f 0;
}
h
{
a -1252230; // -Cp*TRef where TRef = 298.15
b 4200;
c 0;
d 0;
e 0;
f 0;
}
}
}
useReferenceValues no;
}
viscosity
{
model liquid;
model Newtonian;
}
deltaWet 1e-12;
sigma 0.07;
hydrophilic no;
deltaWet 1e-12;
hydrophilic no;
transfer
{

View File

@ -25,34 +25,7 @@ thermoType
mixture
{
liquid
{
type H2O;
// Set Cp constant and the corresponding linear function for h
// for compatibility with the current hard-coded thermodynamics model
// in surfaceFilm
Cp
{
a 4200;
b 0;
c 0;
d 0;
e 0;
f 0;
}
h
{
a -1252230; // -Cp*TRef where TRef = 298.15
b 4200;
c 0;
d 0;
e 0;
f 0;
}
}
H2O;
}

View File

@ -31,7 +31,7 @@ divSchemes
div(phid,alpha) Gauss upwind;
div(phi,U) Gauss upwind;
div(phi,h) Gauss upwind;
div(phi,e) Gauss upwind;
}
laplacianSchemes

View File

@ -17,7 +17,7 @@ FoamFile
solvers
{
"(U|h|alpha).*"
"(U|e|alpha).*"
{
solver PBiCGStab;
preconditioner DILU;