mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -185,12 +185,10 @@ void Foam::smoluchowskiJumpTFvPatchScalarField::updateCoeffs()
|
||||
|
||||
dimensionedScalar Pr
|
||||
(
|
||||
dimensionedScalar::lookupOrDefault
|
||||
(
|
||||
"Pr",
|
||||
thermophysicalProperties,
|
||||
1.0
|
||||
)
|
||||
"Pr",
|
||||
dimless,
|
||||
thermophysicalProperties.subDict("mixture").subDict("transport")
|
||||
.lookup("Pr")
|
||||
);
|
||||
|
||||
Field<scalar> C2
|
||||
|
||||
@ -1,23 +0,0 @@
|
||||
Info<< "Reading thermophysicalProperties\n" << endl;
|
||||
|
||||
// Pr defined as a separate constant to enable calculation of k, currently
|
||||
// inaccessible through thermo
|
||||
IOdictionary thermophysicalProperties
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"thermophysicalProperties",
|
||||
runTime.constant(),
|
||||
mesh,
|
||||
IOobject::MUST_READ_IF_MODIFIED,
|
||||
IOobject::NO_WRITE
|
||||
)
|
||||
);
|
||||
|
||||
dimensionedScalar Pr
|
||||
(
|
||||
"Pr",
|
||||
dimless,
|
||||
thermophysicalProperties.subDict("mixture").subDict("transport")
|
||||
.lookup("Pr")
|
||||
);
|
||||
@ -46,7 +46,6 @@ int main(int argc, char *argv[])
|
||||
#include "createTime.H"
|
||||
#include "createMesh.H"
|
||||
#include "createFields.H"
|
||||
#include "readThermophysicalProperties.H"
|
||||
#include "readTimeControls.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -236,13 +235,10 @@ int main(int argc, char *argv[])
|
||||
|
||||
if (!inviscid)
|
||||
{
|
||||
volScalarField k("k", thermo.Cp()*muEff/Pr);
|
||||
solve
|
||||
(
|
||||
fvm::ddt(rho, e) - fvc::ddt(rho, e)
|
||||
- fvm::laplacian(turbulence->alphaEff(), e)
|
||||
+ fvc::laplacian(turbulence->alpha(), e)
|
||||
- fvc::laplacian(k, T)
|
||||
);
|
||||
thermo.correct();
|
||||
rhoE = rho*(e + 0.5*magSqr(U));
|
||||
|
||||
@ -45,7 +45,6 @@ int main(int argc, char *argv[])
|
||||
#include "createTime.H"
|
||||
#include "createMesh.H"
|
||||
#include "createFields.H"
|
||||
#include "readThermophysicalProperties.H"
|
||||
#include "readTimeControls.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -14,14 +14,22 @@
|
||||
volScalarField& he1 = thermo1.he();
|
||||
volScalarField& he2 = thermo2.he();
|
||||
|
||||
volScalarField Cpv1(thermo1.Cpv());
|
||||
volScalarField Cpv2(thermo2.Cpv());
|
||||
|
||||
fvScalarMatrix he1Eqn
|
||||
(
|
||||
fvm::ddt(alpha1, he1)
|
||||
+ fvm::div(alphaPhi1, he1)
|
||||
|
||||
// Compressibity correction
|
||||
- fvm::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), he1)
|
||||
|
||||
- fvm::laplacian(k1, he1)
|
||||
==
|
||||
heatTransferCoeff*(thermo1.he(p, thermo2.T())/thermo1.Cp())/rho1
|
||||
- fvm::Sp(heatTransferCoeff/thermo1.Cp()/rho1, he1)
|
||||
heatTransferCoeff*(thermo2.T() - thermo1.T())/rho1
|
||||
+ heatTransferCoeff*he1/Cpv1/rho1
|
||||
- fvm::Sp(heatTransferCoeff/Cpv1/rho1, he1)
|
||||
+ alpha1*(dpdt/rho1 - (fvc::ddt(K1) + fvc::div(phi1, K1)))
|
||||
);
|
||||
|
||||
@ -29,10 +37,15 @@
|
||||
(
|
||||
fvm::ddt(alpha2, he2)
|
||||
+ fvm::div(alphaPhi2, he2)
|
||||
|
||||
// Compressibity correction
|
||||
- fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), he2)
|
||||
|
||||
- fvm::laplacian(k2, he2)
|
||||
==
|
||||
heatTransferCoeff*(thermo2.he(p, thermo1.T())/thermo2.Cp())/rho2
|
||||
- fvm::Sp(heatTransferCoeff/thermo2.Cp()/rho2, he2)
|
||||
heatTransferCoeff*(thermo1.T() - thermo2.T())/rho2
|
||||
+ heatTransferCoeff*he2/Cpv2/rho2
|
||||
- fvm::Sp(heatTransferCoeff/Cpv2/rho2, he2)
|
||||
+ alpha2*(dpdt/rho2 - (fvc::ddt(K2) + fvc::div(phi2, K2)))
|
||||
);
|
||||
|
||||
|
||||
@ -31,6 +31,9 @@ fvVectorMatrix U2Eqn(U2, U2.dimensions()*dimVol/dimTime);
|
||||
fvm::ddt(alpha1, U1)
|
||||
+ fvm::div(alphaPhi1, U1)
|
||||
|
||||
// Compressibity correction
|
||||
- fvm::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), U1)
|
||||
|
||||
+ Cvm*rho2*alpha1*alpha2/rho1*
|
||||
(
|
||||
fvm::ddt(U1)
|
||||
@ -61,6 +64,9 @@ fvVectorMatrix U2Eqn(U2, U2.dimensions()*dimVol/dimTime);
|
||||
fvm::ddt(alpha2, U2)
|
||||
+ fvm::div(alphaPhi2, U2)
|
||||
|
||||
// Compressibity correction
|
||||
- fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), U2)
|
||||
|
||||
+ Cvm*rho2*alpha1*alpha2/rho2*
|
||||
(
|
||||
fvm::ddt(U2)
|
||||
|
||||
@ -2,8 +2,8 @@ surfaceScalarField alphaPhi1("alphaPhi" + phase1Name, phi1);
|
||||
surfaceScalarField alphaPhi2("alphaPhi" + phase2Name, phi2);
|
||||
|
||||
{
|
||||
word alphaScheme("div(phi,alpha)");
|
||||
word alpharScheme("div(phir,alpha)");
|
||||
word alphaScheme("div(phi," + alpha1.name() + ')');
|
||||
word alpharScheme("div(phir," + alpha1.name() + ')');
|
||||
|
||||
surfaceScalarField phic("phic", phi);
|
||||
surfaceScalarField phir("phir", phi1 - phi2);
|
||||
|
||||
@ -16,6 +16,10 @@ if (turbulence)
|
||||
(
|
||||
fvm::ddt(alpha2, epsilon)
|
||||
+ fvm::div(alphaPhi2, epsilon)
|
||||
|
||||
// Compressibity correction
|
||||
- fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), epsilon)
|
||||
|
||||
- fvm::laplacian
|
||||
(
|
||||
alpha1Eps*nuEff2, epsilon,
|
||||
@ -41,6 +45,10 @@ if (turbulence)
|
||||
(
|
||||
fvm::ddt(alpha2, k)
|
||||
+ fvm::div(alphaPhi2, k)
|
||||
|
||||
// Compressibity correction
|
||||
- fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), k)
|
||||
|
||||
- fvm::laplacian
|
||||
(
|
||||
alpha1k*nuEff2, k,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
EXE_INC = \
|
||||
EXE_INC = -g \
|
||||
-IphaseModel/lnInclude \
|
||||
-ImultiphaseSystem/lnInclude \
|
||||
-ImultiphaseFixedFluxPressure \
|
||||
|
||||
@ -32,9 +32,10 @@ forAllIter(PtrDictionary<phaseModel>, fluid.phases(), iter)
|
||||
"div(Rc)"
|
||||
)
|
||||
==
|
||||
- fvm::Sp(fluid.dragCoeff(phase, dragCoeffs())/phase.rho(), U)
|
||||
//- fvm::Sp(fluid.dragCoeff(phase, dragCoeffs())/phase.rho(), U)
|
||||
//- (alpha*phase.rho())*fluid.lift(phase)
|
||||
+ (alpha/phase.rho())*fluid.Svm(phase)
|
||||
//+
|
||||
(alpha/phase.rho())*fluid.Svm(phase)
|
||||
- fvm::Sp
|
||||
(
|
||||
slamDampCoeff
|
||||
@ -53,7 +54,7 @@ forAllIter(PtrDictionary<phaseModel>, fluid.phases(), iter)
|
||||
alpha*(1 + (1/phase.rho())*fluid.Cvm(phase)),
|
||||
UEqns[phasei]
|
||||
);
|
||||
UEqns[phasei].relax();
|
||||
//UEqns[phasei].relax();
|
||||
|
||||
phasei++;
|
||||
}
|
||||
|
||||
@ -67,8 +67,29 @@
|
||||
const volScalarField& alpha = phase;
|
||||
|
||||
alphafs.set(phasei, fvc::interpolate(alpha).ptr());
|
||||
rAUs.set(phasei, (1.0/UEqns[phasei].A()).ptr());
|
||||
rAlphaAUfs.set(phasei, fvc::interpolate(alpha*rAUs[phasei]).ptr());
|
||||
|
||||
volScalarField dragCoeffi
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"dragCoeffi",
|
||||
runTime.timeName(),
|
||||
mesh
|
||||
),
|
||||
fluid.dragCoeff(phase, dragCoeffs())/phase.rho(),
|
||||
zeroGradientFvPatchScalarField::typeName
|
||||
);
|
||||
dragCoeffi.correctBoundaryConditions();
|
||||
|
||||
rAUs.set(phasei, (1.0/(UEqns[phasei].A() + dragCoeffi)).ptr());
|
||||
rAlphaAUfs.set
|
||||
(
|
||||
phasei,
|
||||
(
|
||||
alphafs[phasei]
|
||||
/fvc::interpolate(UEqns[phasei].A() + dragCoeffi)
|
||||
).ptr()
|
||||
);
|
||||
|
||||
HbyAs[phasei] = rAUs[phasei]*UEqns[phasei].H();
|
||||
|
||||
@ -115,10 +136,9 @@
|
||||
}
|
||||
|
||||
phiHbyAs[phasei] +=
|
||||
fvc::interpolate
|
||||
(
|
||||
(1.0/phase.rho())*rAUs[phasei]*(*dcIter())
|
||||
)*phase2Ptr->phi();
|
||||
fvc::interpolate((*dcIter())/phase.rho())
|
||||
/fvc::interpolate(UEqns[phasei].A() + dragCoeffi)
|
||||
*phase2Ptr->phi();
|
||||
|
||||
HbyAs[phasei] +=
|
||||
(1.0/phase.rho())*rAUs[phasei]*(*dcIter())
|
||||
@ -240,7 +260,7 @@
|
||||
+ rAlphaAUfs[phasei]*mSfGradp/phase.rho()
|
||||
);
|
||||
|
||||
// phase.U() = fvc::reconstruct(phase.phi());
|
||||
//phase.U() = fvc::reconstruct(phase.phi());
|
||||
phase.U().correctBoundaryConditions();
|
||||
|
||||
U += alpha*phase.U();
|
||||
|
||||
@ -2,24 +2,16 @@
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: http://www.openfoam.org |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
|
||||
root "";
|
||||
case "";
|
||||
instance "";
|
||||
local "";
|
||||
|
||||
class dictionary;
|
||||
object meshQualityDict;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//- Maximum non-orthogonality allowed. Set to 180 to disable.
|
||||
|
||||
@ -744,7 +744,7 @@ int main(int argc, char *argv[])
|
||||
// Read
|
||||
// ~~~~
|
||||
|
||||
triSurface surf("constant/triSurface/" + surfFileName);
|
||||
triSurface surf(runTime.constantPath()/"triSurface"/surfFileName);
|
||||
|
||||
Info<< "Statistics:" << endl;
|
||||
surf.writeStats(Info);
|
||||
@ -1338,7 +1338,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
vtkSurfaceWriter().write
|
||||
(
|
||||
runTime.constant()/"triSurface", // outputDir
|
||||
runTime.constantPath()/"triSurface",// outputDir
|
||||
sFeatFileName, // surfaceName
|
||||
surf.points(),
|
||||
faces,
|
||||
@ -1350,7 +1350,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
vtkSurfaceWriter().write
|
||||
(
|
||||
runTime.constant()/"triSurface", // outputDir
|
||||
runTime.constantPath()/"triSurface",// outputDir
|
||||
sFeatFileName, // surfaceName
|
||||
surf.points(),
|
||||
faces,
|
||||
@ -1403,7 +1403,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
vtkSurfaceWriter().write
|
||||
(
|
||||
runTime.constant()/"triSurface", // outputDir
|
||||
runTime.constantPath()/"triSurface",// outputDir
|
||||
sFeatFileName, // surfaceName
|
||||
surf.points(),
|
||||
faces,
|
||||
@ -1482,7 +1482,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
vtkSurfaceWriter().write
|
||||
(
|
||||
runTime.constant()/"triSurface", // outputDir
|
||||
runTime.constantPath()/"triSurface",// outputDir
|
||||
sFeatFileName, // surfaceName
|
||||
surf.points(),
|
||||
faces,
|
||||
|
||||
@ -439,9 +439,20 @@ bool finishReaction = false;
|
||||
|
||||
<readThermoSpecieName>{thermoSpecieName} {
|
||||
string specieString(foamSpecieString(YYText()));
|
||||
specieString.replaceAll(" ", "_");
|
||||
size_t strEnd = specieString.find_last_not_of('_');
|
||||
currentSpecieName = specieString.substr(0, strEnd + 1);
|
||||
// Old format
|
||||
size_t spacePos = specieString.find(' ');
|
||||
if (spacePos != string::npos)
|
||||
{
|
||||
currentSpecieName = specieString(0, spacePos);
|
||||
}
|
||||
else
|
||||
{
|
||||
currentSpecieName = specieString;
|
||||
}
|
||||
// New format
|
||||
// specieString.replaceAll(" ", "_");
|
||||
// size_t strEnd = specieString.find_last_not_of('_');
|
||||
// currentSpecieName = specieString.substr(0, strEnd + 1);
|
||||
BEGIN(readThermoDate);
|
||||
}
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ runApplication datToFoam grid256.dat
|
||||
|
||||
CONST="constant"
|
||||
cat $CONST/pointsHeader $CONST/points.tmp > $CONST/polyMesh/points
|
||||
runApplication collapseEdges "2e-07" 5
|
||||
runApplication collapseEdges
|
||||
moveTimeMeshToConstant
|
||||
|
||||
echo "Changing patch type to wedge type in boundary file"
|
||||
|
||||
@ -0,0 +1,84 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object collapseDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
collapseEdgesCoeffs
|
||||
{
|
||||
// Edges shorter than this absolute value will be merged
|
||||
minimumEdgeLength 2e-7;
|
||||
|
||||
// The maximum angle between two edges that share a point attached to
|
||||
// no other edges
|
||||
maximumMergeAngle 5;
|
||||
|
||||
// The amount that minimumEdgeLength will be reduced by for each
|
||||
// edge if that edge's collapse generates a poor quality face
|
||||
reductionFactor 0.5;
|
||||
}
|
||||
|
||||
|
||||
collapseFacesCoeffs
|
||||
{
|
||||
// The initial face length factor
|
||||
initialFaceLengthFactor 0.5;
|
||||
|
||||
// The amount that initialFaceLengthFactor will be reduced by for each
|
||||
// face if its collapse generates a poor quality face
|
||||
reductionFactor $initialFaceLengthFactor;
|
||||
|
||||
// If the face can't be collapsed to an edge, and it has a span less than
|
||||
// the target face length multiplied by this coefficient, collapse it
|
||||
// to a point.
|
||||
maxCollapseFaceToPointSideLengthCoeff 0.3;
|
||||
|
||||
// Allow early collapse of edges to a point
|
||||
allowEarlyCollapseToPoint on;
|
||||
|
||||
// Fraction to premultiply maxCollapseFaceToPointSideLengthCoeff by if
|
||||
// allowEarlyCollapseToPoint is enabled
|
||||
allowEarlyCollapseCoeff 0.2;
|
||||
|
||||
// Defining how close to the midpoint (M) of the projected
|
||||
// vertices line a projected vertex (X) can be before making this
|
||||
// an invalid edge collapse
|
||||
//
|
||||
// X---X-g----------------M----X-----------g----X--X
|
||||
//
|
||||
// Only allow a collapse if all projected vertices are outwith
|
||||
// guardFraction (g) of the distance form the face centre to the
|
||||
// furthest vertex in the considered direction
|
||||
guardFraction 0.1;
|
||||
}
|
||||
|
||||
|
||||
meshQualityCoeffs
|
||||
{
|
||||
// Name of the dictionary that has the mesh quality coefficients used
|
||||
// by motionSmoother::checkMesh
|
||||
#include "meshQualityDict";
|
||||
|
||||
// Maximum number of smoothing iterations for the reductionFactors
|
||||
maximumSmoothingIterations 2;
|
||||
|
||||
// Maximum number of outer iterations is mesh quality checking is enabled
|
||||
maximumIterations 10;
|
||||
|
||||
// Maximum number of iterations deletion of a point can cause a bad face
|
||||
// to be constructed before it is forced to not be deleted
|
||||
maxPointErrorCount 5;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,67 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object meshQualityDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//- Maximum non-orthogonality allowed. Set to 180 to disable.
|
||||
maxNonOrtho 180;
|
||||
|
||||
//- Max skewness allowed. Set to <0 to disable.
|
||||
maxBoundarySkewness 50;
|
||||
|
||||
//- Max skewness allowed. Set to <0 to disable.
|
||||
maxInternalSkewness 10;
|
||||
|
||||
//- Max concaveness allowed. Is angle (in degrees) below which concavity
|
||||
// is allowed. 0 is straight face, <0 would be convex face.
|
||||
// Set to 180 to disable.
|
||||
maxConcave 80;
|
||||
|
||||
//- Minimum pyramid volume. Is absolute volume of cell pyramid.
|
||||
// Set to a sensible fraction of the smallest cell volume expected.
|
||||
// Set to very negative number (e.g. -1E30) to disable.
|
||||
minVol 1e-20;
|
||||
|
||||
//- Minimum quality of the tet formed by the face-centre
|
||||
// and variable base point minimum decomposition triangles and
|
||||
// the cell centre. This has to be a positive number for tracking
|
||||
// to work. Set to very negative number (e.g. -1E30) to
|
||||
// disable.
|
||||
// <0 = inside out tet,
|
||||
// 0 = flat tet
|
||||
// 1 = regular tet
|
||||
minTetQuality 1e-30;
|
||||
|
||||
//- Minimum face area. Set to <0 to disable.
|
||||
minArea -1;
|
||||
|
||||
//- Minimum face twist. Set to <-1 to disable. dot product of face normal
|
||||
//- and face centre triangles normal
|
||||
minTwist 0.0;
|
||||
|
||||
//- minimum normalised cell determinant
|
||||
//- 1 = hex, <= 0 = folded or flattened illegal cell
|
||||
minDeterminant 0.001;
|
||||
|
||||
//- minFaceWeight (0 -> 0.5)
|
||||
minFaceWeight 0.02;
|
||||
|
||||
//- minVolRatio (0 -> 1)
|
||||
minVolRatio 0.01;
|
||||
|
||||
//must be >0 for Fluent compatibility
|
||||
minTriangleTwist -1;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -27,25 +27,20 @@ gradSchemes
|
||||
|
||||
divSchemes
|
||||
{
|
||||
default none;
|
||||
default none;
|
||||
|
||||
div(phi,alpha) Gauss limitedLinear01 1;
|
||||
div(phir,alpha) Gauss limitedLinear01 1;
|
||||
div(alphaPhiair,Uair) Gauss limitedLinearV 1;
|
||||
div(alphaPhiwater,Uwater) Gauss limitedLinearV 1;
|
||||
div(phiair,Uair) Gauss limitedLinearV 1;
|
||||
div(phiwater,Uwater) Gauss limitedLinearV 1;
|
||||
div((alphaair*Rc)) Gauss linear;
|
||||
div((alphawater*Rc)) Gauss linear;
|
||||
div(alphaPhiair,hair) Gauss limitedLinear 1;
|
||||
div(alphaPhiwater,hwater) Gauss limitedLinear 1;
|
||||
div(alphaPhiwater,k) Gauss limitedLinear 1;
|
||||
div(alphaPhiwater,epsilon) Gauss limitedLinear 1;
|
||||
div(phi,Theta) Gauss limitedLinear 1;
|
||||
div(phidair,p) Gauss upwind;
|
||||
div(phidwater,p) Gauss upwind;
|
||||
div(phiair,Kair) Gauss limitedLinear 1;
|
||||
div(phiwater,Kwater) Gauss limitedLinear 1;
|
||||
div(phi,alphaair) Gauss vanLeer;
|
||||
div(phir,alphaair) Gauss vanLeer;
|
||||
|
||||
"div\(alphaPhi.*,U.*\)" Gauss limitedLinearV 1;
|
||||
"div\(phi.*,U.*\)" Gauss limitedLinearV 1;
|
||||
"div\(\(alpha.*Rc\)\)" Gauss linear;
|
||||
"div\(phid.*,p\)" Gauss upwind;
|
||||
|
||||
"div\(alphaPhi.*,h.*\)" Gauss limitedLinear 1;
|
||||
"div\(phi.*,K.*\)" Gauss limitedLinear 1;
|
||||
|
||||
"div\(alphaPhi.*,(k|epsilon)\)" Gauss limitedLinear 1;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
|
||||
@ -63,23 +63,7 @@ solvers
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"Theta.*"
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"k.*"
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-05;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"epsilon.*"
|
||||
"(k|epsilon|Theta).*"
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
|
||||
@ -17,7 +17,7 @@ FoamFile
|
||||
|
||||
application compressibleTwoPhaseEulerFoam;
|
||||
|
||||
startFrom latestTime;
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
|
||||
@ -17,57 +17,52 @@ FoamFile
|
||||
|
||||
ddtSchemes
|
||||
{
|
||||
default Euler;
|
||||
default Euler;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
{
|
||||
default Gauss linear;
|
||||
default Gauss linear;
|
||||
}
|
||||
|
||||
divSchemes
|
||||
{
|
||||
default none;
|
||||
default none;
|
||||
|
||||
div(phi,alpha1) Gauss vanLeer;
|
||||
div(phir,alpha1) Gauss vanLeer;
|
||||
|
||||
"div\(alphaPhi.,U.\)" Gauss limitedLinearV 1;
|
||||
"div\(phi.,U.\)" Gauss limitedLinearV 1;
|
||||
"div\(\(alpha.*Rc\)\)" Gauss linear;
|
||||
"div\(phid.,p\)" Gauss upwind;
|
||||
|
||||
"div\(alphaPhi.,h.\)" Gauss limitedLinear 1;
|
||||
"div\(phi.,K.\)" Gauss limitedLinear 1;
|
||||
|
||||
div(alphaPhi1,U1) Gauss limitedLinearV 1;
|
||||
div(alphaPhi2,U2) Gauss limitedLinearV 1;
|
||||
div(phi1,U1) Gauss limitedLinearV 1;
|
||||
div(phi2,U2) Gauss limitedLinearV 1;
|
||||
div(alphaPhi1,h1) Gauss limitedLinear 1;
|
||||
div(alphaPhi2,h2) Gauss limitedLinear 1;
|
||||
div(alphaPhi2,k) Gauss limitedLinear 1;
|
||||
div(alphaPhi2,epsilon) Gauss limitedLinear 1;
|
||||
div(phi,alpha) Gauss limitedLinear01 1;
|
||||
div(phir,alpha) Gauss limitedLinear01 1;
|
||||
div(phi,Theta) Gauss limitedLinear 1;
|
||||
div((alpha1*Rc)) Gauss linear;
|
||||
div((alpha2*Rc)) Gauss linear;
|
||||
div(phid1,p) Gauss upwind;
|
||||
div(phid2,p) Gauss upwind;
|
||||
div(phi1,K1) Gauss limitedLinear 1;
|
||||
div(phi2,K2) Gauss limitedLinear 1;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default Gauss linear uncorrected;
|
||||
default Gauss linear uncorrected;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
{
|
||||
default linear;
|
||||
default linear;
|
||||
}
|
||||
|
||||
snGradSchemes
|
||||
{
|
||||
default uncorrected;
|
||||
default uncorrected;
|
||||
}
|
||||
|
||||
fluxRequired
|
||||
{
|
||||
default no;
|
||||
p ;
|
||||
alpha1 ;
|
||||
default no;
|
||||
p ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -90,8 +90,8 @@ solvers
|
||||
|
||||
PIMPLE
|
||||
{
|
||||
nOuterCorrectors 1;
|
||||
nCorrectors 2;
|
||||
nOuterCorrectors 3;
|
||||
nCorrectors 1;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
nAlphaCorr 1;
|
||||
nAlphaSubCycles 2;
|
||||
|
||||
@ -32,12 +32,14 @@ FoamFile
|
||||
front
|
||||
{
|
||||
type empty;
|
||||
inGroups 1(empty);
|
||||
nFaces 3072;
|
||||
startFace 6336;
|
||||
}
|
||||
back
|
||||
{
|
||||
type empty;
|
||||
inGroups 1(empty);
|
||||
nFaces 3072;
|
||||
startFace 9408;
|
||||
}
|
||||
|
||||
@ -0,0 +1,49 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object thermophysicalProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
thermoType
|
||||
{
|
||||
type heRhoThermo;
|
||||
mixture pureMixture;
|
||||
transport const;
|
||||
thermo hConst;
|
||||
equationOfState perfectGas;
|
||||
specie specie;
|
||||
energy sensibleEnthalpy;
|
||||
}
|
||||
|
||||
mixture
|
||||
{
|
||||
specie
|
||||
{
|
||||
nMoles 1;
|
||||
molWeight 28.9;
|
||||
}
|
||||
thermodynamics
|
||||
{
|
||||
Cp 1007;
|
||||
Hf 0;
|
||||
}
|
||||
transport
|
||||
{
|
||||
mu 1.84e-05;
|
||||
Pr 0.7;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,53 @@
|
||||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: dev |
|
||||
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
location "constant";
|
||||
object thermophysicalProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
thermoType
|
||||
{
|
||||
type heRhoThermo;
|
||||
mixture pureMixture;
|
||||
transport const;
|
||||
thermo hConst;
|
||||
equationOfState perfectFluid;
|
||||
specie specie;
|
||||
energy sensibleEnthalpy;
|
||||
}
|
||||
|
||||
mixture
|
||||
{
|
||||
specie
|
||||
{
|
||||
nMoles 1;
|
||||
molWeight 28.9;
|
||||
}
|
||||
equationOfState
|
||||
{
|
||||
rho0 1027;
|
||||
}
|
||||
thermodynamics
|
||||
{
|
||||
Cp 4195;
|
||||
Hf 0;
|
||||
}
|
||||
transport
|
||||
{
|
||||
mu 3.645e-4;
|
||||
Pr 2.289;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -17,14 +17,6 @@ FoamFile
|
||||
|
||||
phase1
|
||||
{
|
||||
rho0 0;
|
||||
rho 0.88;
|
||||
R 287;
|
||||
Cp 1007;
|
||||
nu 2.46e-05;
|
||||
d 4e-3;
|
||||
|
||||
kappa 2.63e-2;
|
||||
diameterModel isothermal;
|
||||
isothermalCoeffs
|
||||
{
|
||||
@ -35,14 +27,6 @@ phase1
|
||||
|
||||
phase2
|
||||
{
|
||||
rho 733;
|
||||
rho0 733;
|
||||
R 1e10;
|
||||
Cp 4195;
|
||||
nu 2.73e-6;
|
||||
d 1e-4;
|
||||
|
||||
kappa 0.668;
|
||||
diameterModel constant;
|
||||
constantCoeffs
|
||||
{
|
||||
@ -54,12 +38,13 @@ phase2
|
||||
Cvm 0.5;
|
||||
|
||||
// Lift coefficient
|
||||
Cl 0;
|
||||
Cl 0;
|
||||
|
||||
// Dispersed-phase turbulence coefficient
|
||||
Ct 0.2;
|
||||
Ct 1;
|
||||
|
||||
// Minimum allowable pressure
|
||||
pMin 10000;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -29,16 +29,18 @@ divSchemes
|
||||
{
|
||||
default none;
|
||||
|
||||
div(phi,alpha1) Gauss limitedLinear01 1;
|
||||
div(phir,alpha1) Gauss limitedLinear01 1;
|
||||
"div\(phi.,U.\)" Gauss limitedLinearV 1;
|
||||
div(phi,alpha1) Gauss vanLeer;
|
||||
div(phir,alpha1) Gauss vanLeer;
|
||||
|
||||
"div\(alphaPhi.,U.\)" Gauss limitedLinearV 1;
|
||||
"div\(\(alpha.*Rc.\)\)" Gauss linear;
|
||||
"div\(alphaPhi.,(k|epsilon)\)" Gauss limitedLinear 1;
|
||||
div(phi,Theta) Gauss limitedLinear 1;
|
||||
"div\(phi.,K.\)" Gauss linear;
|
||||
"div\(alphaPhi.,T.\)" Gauss limitedLinear 1;
|
||||
"div\(phi.,U.\)" Gauss limitedLinearV 1;
|
||||
"div\(\(alpha.*Rc\)\)" Gauss linear;
|
||||
"div\(phid.,p\)" Gauss linear;
|
||||
|
||||
"div\(alphaPhi.,h.\)" Gauss limitedLinear 1;
|
||||
"div\(phi.,K.\)" Gauss linear;
|
||||
|
||||
"div\(alphaPhi.,(k|epsilon)\)" Gauss limitedLinear 1;
|
||||
}
|
||||
|
||||
laplacianSchemes
|
||||
|
||||
@ -36,7 +36,7 @@ solvers
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
U
|
||||
"U.*"
|
||||
{
|
||||
solver smoothSolver;
|
||||
smoother GaussSeidel;
|
||||
@ -45,14 +45,6 @@ solvers
|
||||
relTol 0.1;
|
||||
}
|
||||
|
||||
UFinal
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
tolerance 1e-07;
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"alpha.*"
|
||||
{
|
||||
solver PBiCG;
|
||||
@ -61,7 +53,7 @@ solvers
|
||||
relTol 0;
|
||||
}
|
||||
|
||||
"(k|epsilon|Theta|T).*"
|
||||
"(k|epsilon|Theta|h).*"
|
||||
{
|
||||
solver PBiCG;
|
||||
preconditioner DILU;
|
||||
@ -76,7 +68,7 @@ PIMPLE
|
||||
nCorrectors 3;
|
||||
nNonOrthogonalCorrectors 0;
|
||||
nAlphaCorr 1;
|
||||
correctAlpha yes;
|
||||
nAlphaSubCycles 2;
|
||||
pRefCell 0;
|
||||
pRefValue 0;
|
||||
}
|
||||
@ -85,16 +77,15 @@ relaxationFactors
|
||||
{
|
||||
fields
|
||||
{
|
||||
p 1;
|
||||
}
|
||||
equations
|
||||
{
|
||||
"U.*" 1;
|
||||
"h.*" 1;
|
||||
"alpha.*" 1;
|
||||
"Theta.*" 1;
|
||||
"k.*" 1;
|
||||
"epsilon.*" 1;
|
||||
"T.*" 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -14,8 +14,6 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
phaseChange on;
|
||||
|
||||
phaseChangeTwoPhaseMixture SchnerrSauer;
|
||||
|
||||
pSat pSat [1 -1 -2 0 0] 2300; // saturation pressure
|
||||
|
||||
@ -38,6 +38,7 @@ FoamFile
|
||||
defaultFaces
|
||||
{
|
||||
type empty;
|
||||
inGroups 1(empty);
|
||||
nFaces 3750;
|
||||
startFace 3850;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user