reactingEulerFoam/.../ThermalPhaseChangePhaseSystem: Improvements

The thermal phase system now operates with saturation models specified
per phase-pair, and can therefore represent multiple transfer processes
across different interfaces. There is no longer a "phaseChange" switch;
instead the selection of a saturation model for a given interface
enables phase change across that interface. This includes both
interfacial phase change and nucleate wall boiling.

Both interfacial phase change and wall boiling models now include
support for there being a single specified volatile component which
undergoes phase change.

A correction has been made to the phase change energy transfer when only
interfacial phase change is enabled.

The thermal phase change tutorials have all been updated to reflect
these changes in the user interface.

Patch contributed by Juho Peltola, VTT.
This commit is contained in:
Will Bainbridge
2020-01-15 18:36:44 +00:00
parent 26c0b39729
commit aedb440750
32 changed files with 536 additions and 327 deletions

View File

@ -17,8 +17,8 @@ if ! isTest $@
then
foamDictionary system/controlDict -entry endTime -set 4
foamDictionary system/controlDict -entry startTime -set 0.5
runParallel -a foamDictionary 0.5/T.liquid -entry boundaryField.wall.q -set "uniform 73900"
runParallel -a foamDictionary 0.5/U.liquid -entry boundaryField.inlet.type -set "fixedValue"
runParallel -a foamDictionary -expand 0.5/T.liquid -entry boundaryField.wall.q -set "uniform 73900"
runParallel -a foamDictionary -expand 0.5/U.liquid -entry boundaryField.inlet.type -set "fixedValue"
runParallel -a $application
fi

View File

@ -19,8 +19,6 @@ type thermalPhaseChangePopulationBalanceMultiphaseSystem;
phases (gas gas2 liquid);
phaseChange on;
populationBalances (bubbles);
gas
@ -36,16 +34,16 @@ gas
sizeGroups
(
f1 {dSph 1.0e-4; value 0 ;}
f2 {dSph 1.2e-4; value 0 ;}
f1 {dSph 1.0e-4; value 0 ;}
f2 {dSph 1.2e-4; value 0 ;}
f3 {dSph 1.44e-4; value 0 ;}
f4 {dSph 1.728e-4; value 0 ;}
f5 {dSph 2.074e-4; value 0 ;}
f4 {dSph 1.728e-4; value 0 ;}
f5 {dSph 2.074e-4; value 0 ;}
f6 {dSph 2.49e-4; value 0 ;}
f7 {dSph 2.99e-4; value 0 ;}
f8 {dSph 3.6e-4; value 0 ;}
f9 {dSph 4.3e-4; value 0 ;}
f10 {dSph 5.16e-4; value 1 ;}
f7 {dSph 2.99e-4; value 0 ;}
f8 {dSph 3.6e-4; value 0 ;}
f9 {dSph 4.3e-4; value 0 ;}
f10 {dSph 5.16e-4; value 1 ;}
);
}
@ -315,30 +313,58 @@ blending
aspectRatio
();
saturationModel
{
type function1;
function scale;
functionCoeffs
saturation
(
(gas and liquid)
{
xScale 1e-6;
scale 1;
value
type function1;
function scale;
functionCoeffs
{
type tableFile;
format csv;
nHeaderLine 1;
refColumn 1;
componentColumns (0);
separator ";";
mergeSeparators no;
file "R12.csv";
outOfBounds clamp;
interpolationScheme linear;
xScale 1e-6;
scale 1;
value
{
type tableFile;
format csv;
nHeaderLine 1;
refColumn 1;
componentColumns (0);
separator ";";
mergeSeparators no;
file "R12.csv";
outOfBounds clamp;
interpolationScheme linear;
}
}
};
};
}
(gas2 and liquid)
{
type function1;
function scale;
functionCoeffs
{
xScale 1e-6;
scale 1;
value
{
type tableFile;
format csv;
nHeaderLine 1;
refColumn 1;
componentColumns (0);
separator ";";
mergeSeparators no;
file "R12.csv";
outOfBounds clamp;
interpolationScheme linear;
}
}
}
);
surfaceTension
(

View File

@ -19,8 +19,6 @@ type thermalPhaseChangeTwoPhaseSystem;
phases (gas liquid);
phaseChange on;
gas
{
type purePhaseModel;
@ -141,30 +139,33 @@ blending
aspectRatio
();
saturationModel
{
type function1;
function scale;
functionCoeffs
saturation
(
(gas and liquid)
{
xScale 1e-6;
scale 1;
value
type function1;
function scale;
functionCoeffs
{
type tableFile;
format csv;
nHeaderLine 1;
refColumn 1;
componentColumns (0);
separator ";";
mergeSeparators no;
file "R12.csv";
outOfBounds clamp;
interpolationScheme linear;
}
};
};
xScale 1e-6;
scale 1;
value
{
type tableFile;
format csv;
nHeaderLine 1;
refColumn 1;
componentColumns (0);
separator ";";
mergeSeparators no;
file "R12.csv";
outOfBounds clamp;
interpolationScheme linear;
}
};
}
);
surfaceTension
(

View File

@ -19,8 +19,6 @@ type thermalPhaseChangeTwoPhaseSystem;
phases (gas liquid);
phaseChange on;
gas
{
type purePhaseModel;
@ -178,30 +176,33 @@ blending
aspectRatio
();
saturationModel
{
type function1;
function scale;
functionCoeffs
saturation
(
(gas and liquid)
{
xScale 1e-6;
scale 1;
value
type function1;
function scale;
functionCoeffs
{
type tableFile;
format csv;
nHeaderLine 1;
refColumn 1;
componentColumns (0);
separator ";";
mergeSeparators no;
file "R12.csv";
outOfBounds clamp;
interpolationScheme linear;
}
};
};
xScale 1e-6;
scale 1;
value
{
type tableFile;
format csv;
nHeaderLine 1;
refColumn 1;
componentColumns (0);
separator ";";
mergeSeparators no;
file "R12.csv";
outOfBounds clamp;
interpolationScheme linear;
}
};
}
);
surfaceTension
(

View File

@ -17,8 +17,8 @@ if ! isTest $@
then
foamDictionary system/controlDict -entry endTime -set 4
foamDictionary system/controlDict -entry startTime -set 0.5
runParallel -a foamDictionary 0.5/T.liquid -entry boundaryField.wall.q -set "uniform 73900"
runParallel -a foamDictionary 0.5/U.liquid -entry boundaryField.inlet.type -set "fixedValue"
runParallel -a foamDictionary -expand 0.5/T.liquid -entry boundaryField.wall.q -set "uniform 73900"
runParallel -a foamDictionary -expand 0.5/U.liquid -entry boundaryField.inlet.type -set "fixedValue"
runParallel -a $application
fi

View File

@ -19,8 +19,6 @@ type thermalPhaseChangePopulationBalanceTwoPhaseSystem;
phases (gas liquid);
phaseChange on;
populationBalances (bubbles);
gas
@ -36,15 +34,15 @@ gas
sizeGroups
(
f1 {dSph 1.0e-4; value 0 ;}
f2 {dSph 1.2e-4; value 0 ;}
f1 {dSph 1.0e-4; value 0 ;}
f2 {dSph 1.2e-4; value 0 ;}
f3 {dSph 1.44e-4; value 0 ;}
f4 {dSph 1.728e-4; value 0 ;}
f5 {dSph 2.074e-4; value 0 ;}
f4 {dSph 1.728e-4; value 0 ;}
f5 {dSph 2.074e-4; value 0 ;}
f6 {dSph 2.49e-4; value 0 ;}
f7 {dSph 2.99e-4; value 0 ;}
f8 {dSph 3.6e-4; value 1.0 ;}
f9 {dSph 4.3e-4; value 0 ;}
f7 {dSph 2.99e-4; value 0 ;}
f8 {dSph 3.6e-4; value 1.0 ;}
f9 {dSph 4.3e-4; value 0 ;}
f10 {dSph 5.16e-4; value 0 ;}
f11 {dSph 6.19e-4; value 0 ;}
f12 {dSph 7.43e-4; value 0 ;}
@ -224,30 +222,33 @@ blending
aspectRatio
();
saturationModel
{
type function1;
function scale;
functionCoeffs
saturation
(
(gas and liquid)
{
xScale 1e-6;
scale 1;
value
type function1;
function scale;
functionCoeffs
{
type tableFile;
format csv;
nHeaderLine 1;
refColumn 1;
componentColumns (0);
separator ";";
mergeSeparators no;
file "R12.csv";
outOfBounds clamp;
interpolationScheme linear;
xScale 1e-6;
scale 1;
value
{
type tableFile;
format csv;
nHeaderLine 1;
refColumn 1;
componentColumns (0);
separator ";";
mergeSeparators no;
file "R12.csv";
outOfBounds clamp;
interpolationScheme linear;
}
}
};
};
}
);
surfaceTension
(

View File

@ -64,13 +64,15 @@ surfaceTension
}
);
saturationModel
{
type constant;
pSat 1e5;
Tsat 372.76;
};
saturation
(
(steam and water)
{
type constant;
pSat 1e5;
Tsat 372.76;
}
);
aspectRatio
(