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/repositories/OpenFOAM-dev
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -61,74 +61,86 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
surfaceScalarField rho_pos
|
surfaceScalarField rho_pos
|
||||||
(
|
(
|
||||||
|
"rho_pos",
|
||||||
fvc::interpolate(rho, pos, "reconstruct(rho)")
|
fvc::interpolate(rho, pos, "reconstruct(rho)")
|
||||||
);
|
);
|
||||||
surfaceScalarField rho_neg
|
surfaceScalarField rho_neg
|
||||||
(
|
(
|
||||||
|
"rho_neg",
|
||||||
fvc::interpolate(rho, neg, "reconstruct(rho)")
|
fvc::interpolate(rho, neg, "reconstruct(rho)")
|
||||||
);
|
);
|
||||||
|
|
||||||
surfaceVectorField rhoU_pos
|
surfaceVectorField rhoU_pos
|
||||||
(
|
(
|
||||||
|
"rhoU_pos",
|
||||||
fvc::interpolate(rhoU, pos, "reconstruct(U)")
|
fvc::interpolate(rhoU, pos, "reconstruct(U)")
|
||||||
);
|
);
|
||||||
surfaceVectorField rhoU_neg
|
surfaceVectorField rhoU_neg
|
||||||
(
|
(
|
||||||
|
"rhoU_neg",
|
||||||
fvc::interpolate(rhoU, neg, "reconstruct(U)")
|
fvc::interpolate(rhoU, neg, "reconstruct(U)")
|
||||||
);
|
);
|
||||||
|
|
||||||
volScalarField rPsi(1.0/psi);
|
volScalarField rPsi(1.0/psi);
|
||||||
surfaceScalarField rPsi_pos
|
surfaceScalarField rPsi_pos
|
||||||
(
|
(
|
||||||
|
"rPsi_pos",
|
||||||
fvc::interpolate(rPsi, pos, "reconstruct(T)")
|
fvc::interpolate(rPsi, pos, "reconstruct(T)")
|
||||||
);
|
);
|
||||||
surfaceScalarField rPsi_neg
|
surfaceScalarField rPsi_neg
|
||||||
(
|
(
|
||||||
|
"rPsi_neg",
|
||||||
fvc::interpolate(rPsi, neg, "reconstruct(T)")
|
fvc::interpolate(rPsi, neg, "reconstruct(T)")
|
||||||
);
|
);
|
||||||
|
|
||||||
surfaceScalarField e_pos
|
surfaceScalarField e_pos
|
||||||
(
|
(
|
||||||
|
"e_pos",
|
||||||
fvc::interpolate(e, pos, "reconstruct(T)")
|
fvc::interpolate(e, pos, "reconstruct(T)")
|
||||||
);
|
);
|
||||||
surfaceScalarField e_neg
|
surfaceScalarField e_neg
|
||||||
(
|
(
|
||||||
|
"e_neg",
|
||||||
fvc::interpolate(e, neg, "reconstruct(T)")
|
fvc::interpolate(e, neg, "reconstruct(T)")
|
||||||
);
|
);
|
||||||
|
|
||||||
surfaceVectorField U_pos(rhoU_pos/rho_pos);
|
surfaceVectorField U_pos("U_pos", rhoU_pos/rho_pos);
|
||||||
surfaceVectorField U_neg(rhoU_neg/rho_neg);
|
surfaceVectorField U_neg("U_neg", rhoU_neg/rho_neg);
|
||||||
|
|
||||||
surfaceScalarField p_pos(rho_pos*rPsi_pos);
|
surfaceScalarField p_pos("p_pos", rho_pos*rPsi_pos);
|
||||||
surfaceScalarField p_neg(rho_neg*rPsi_neg);
|
surfaceScalarField p_neg("p_neg", rho_neg*rPsi_neg);
|
||||||
|
|
||||||
surfaceScalarField phiv_pos(U_pos & mesh.Sf());
|
surfaceScalarField phiv_pos("phiv_pos", U_pos & mesh.Sf());
|
||||||
surfaceScalarField phiv_neg(U_neg & mesh.Sf());
|
surfaceScalarField phiv_neg("phiv_neg", U_neg & mesh.Sf());
|
||||||
|
|
||||||
volScalarField c(sqrt(thermo.Cp()/thermo.Cv()*rPsi));
|
volScalarField c(sqrt(thermo.Cp()/thermo.Cv()*rPsi));
|
||||||
surfaceScalarField cSf_pos
|
surfaceScalarField cSf_pos
|
||||||
(
|
(
|
||||||
|
"cSf_pos",
|
||||||
fvc::interpolate(c, pos, "reconstruct(T)")*mesh.magSf()
|
fvc::interpolate(c, pos, "reconstruct(T)")*mesh.magSf()
|
||||||
);
|
);
|
||||||
surfaceScalarField cSf_neg
|
surfaceScalarField cSf_neg
|
||||||
(
|
(
|
||||||
|
"cSf_neg",
|
||||||
fvc::interpolate(c, neg, "reconstruct(T)")*mesh.magSf()
|
fvc::interpolate(c, neg, "reconstruct(T)")*mesh.magSf()
|
||||||
);
|
);
|
||||||
|
|
||||||
surfaceScalarField ap
|
surfaceScalarField ap
|
||||||
(
|
(
|
||||||
|
"ap",
|
||||||
max(max(phiv_pos + cSf_pos, phiv_neg + cSf_neg), v_zero)
|
max(max(phiv_pos + cSf_pos, phiv_neg + cSf_neg), v_zero)
|
||||||
);
|
);
|
||||||
surfaceScalarField am
|
surfaceScalarField am
|
||||||
(
|
(
|
||||||
|
"am",
|
||||||
min(min(phiv_pos - cSf_pos, phiv_neg - cSf_neg), v_zero)
|
min(min(phiv_pos - cSf_pos, phiv_neg - cSf_neg), v_zero)
|
||||||
);
|
);
|
||||||
|
|
||||||
surfaceScalarField a_pos(ap/(ap - am));
|
surfaceScalarField a_pos("a_pos", ap/(ap - am));
|
||||||
|
|
||||||
surfaceScalarField amaxSf("amaxSf", max(mag(am), mag(ap)));
|
surfaceScalarField amaxSf("amaxSf", max(mag(am), mag(ap)));
|
||||||
|
|
||||||
surfaceScalarField aSf(am*a_pos);
|
surfaceScalarField aSf("aSf", am*a_pos);
|
||||||
|
|
||||||
if (fluxScheme == "Tadmor")
|
if (fluxScheme == "Tadmor")
|
||||||
{
|
{
|
||||||
@ -136,13 +148,13 @@ int main(int argc, char *argv[])
|
|||||||
a_pos = 0.5;
|
a_pos = 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
surfaceScalarField a_neg(1.0 - a_pos);
|
surfaceScalarField a_neg("a_neg", 1.0 - a_pos);
|
||||||
|
|
||||||
phiv_pos *= a_pos;
|
phiv_pos *= a_pos;
|
||||||
phiv_neg *= a_neg;
|
phiv_neg *= a_neg;
|
||||||
|
|
||||||
surfaceScalarField aphiv_pos(phiv_pos - aSf);
|
surfaceScalarField aphiv_pos("aphiv_pos", phiv_pos - aSf);
|
||||||
surfaceScalarField aphiv_neg(phiv_neg + aSf);
|
surfaceScalarField aphiv_neg("aphiv_neg", phiv_neg + aSf);
|
||||||
|
|
||||||
// Reuse amaxSf for the maximum positive and negative fluxes
|
// Reuse amaxSf for the maximum positive and negative fluxes
|
||||||
// estimated by the central scheme
|
// estimated by the central scheme
|
||||||
@ -166,6 +178,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
surfaceScalarField phiEp
|
surfaceScalarField phiEp
|
||||||
(
|
(
|
||||||
|
"phiEp",
|
||||||
aphiv_pos*(rho_pos*(e_pos + 0.5*magSqr(U_pos)) + p_pos)
|
aphiv_pos*(rho_pos*(e_pos + 0.5*magSqr(U_pos)) + p_pos)
|
||||||
+ aphiv_neg*(rho_neg*(e_neg + 0.5*magSqr(U_neg)) + p_neg)
|
+ aphiv_neg*(rho_neg*(e_neg + 0.5*magSqr(U_neg)) + p_neg)
|
||||||
+ aSf*p_pos - aSf*p_neg
|
+ aSf*p_pos - aSf*p_neg
|
||||||
@ -202,6 +215,7 @@ int main(int argc, char *argv[])
|
|||||||
// --- Solve energy
|
// --- Solve energy
|
||||||
surfaceScalarField sigmaDotU
|
surfaceScalarField sigmaDotU
|
||||||
(
|
(
|
||||||
|
"sigmaDotU",
|
||||||
(
|
(
|
||||||
fvc::interpolate(muEff)*mesh.magSf()*fvc::snGrad(U)
|
fvc::interpolate(muEff)*mesh.magSf()*fvc::snGrad(U)
|
||||||
+ (mesh.Sf() & fvc::interpolate(tauMC))
|
+ (mesh.Sf() & fvc::interpolate(tauMC))
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -77,6 +77,7 @@ void Foam::multiphaseSystem::solveAlphas()
|
|||||||
phasei,
|
phasei,
|
||||||
new surfaceScalarField
|
new surfaceScalarField
|
||||||
(
|
(
|
||||||
|
"phi" + alpha1.name() + "Corr",
|
||||||
fvc::flux
|
fvc::flux
|
||||||
(
|
(
|
||||||
phi_,
|
phi_,
|
||||||
@ -106,7 +107,7 @@ void Foam::multiphaseSystem::solveAlphas()
|
|||||||
{
|
{
|
||||||
surfaceScalarField phic
|
surfaceScalarField phic
|
||||||
(
|
(
|
||||||
(mag(phi_) + mag(phase1.phi() - phase2.phi()))/mesh_.magSf()
|
(mag(phi_) + mag(phir))/mesh_.magSf()
|
||||||
);
|
);
|
||||||
|
|
||||||
phir += min(cAlpha()*phic, max(phic))*nHatf(phase1, phase2);
|
phir += min(cAlpha()*phic, max(phic))*nHatf(phase1, phase2);
|
||||||
|
|||||||
@ -65,6 +65,7 @@
|
|||||||
const volScalarField& alpha = phase;
|
const volScalarField& alpha = phase;
|
||||||
|
|
||||||
alphafs.set(phasei, fvc::interpolate(alpha).ptr());
|
alphafs.set(phasei, fvc::interpolate(alpha).ptr());
|
||||||
|
alphafs[phasei].rename("hmm" + alpha.name());
|
||||||
|
|
||||||
volScalarField dragCoeffi
|
volScalarField dragCoeffi
|
||||||
(
|
(
|
||||||
@ -227,7 +228,7 @@
|
|||||||
|
|
||||||
if (pimple.finalNonOrthogonalIter())
|
if (pimple.finalNonOrthogonalIter())
|
||||||
{
|
{
|
||||||
surfaceScalarField mSfGradp(pEqnIncomp.flux()/rAUf);
|
surfaceScalarField mSfGradp("mSfGradp", pEqnIncomp.flux()/rAUf);
|
||||||
|
|
||||||
phasei = 0;
|
phasei = 0;
|
||||||
phi = dimensionedScalar("phi", phi.dimensions(), 0);
|
phi = dimensionedScalar("phi", phi.dimensions(), 0);
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -569,6 +569,7 @@ void Foam::multiphaseMixture::solveAlphas
|
|||||||
phasei,
|
phasei,
|
||||||
new surfaceScalarField
|
new surfaceScalarField
|
||||||
(
|
(
|
||||||
|
"phi" + alpha.name() + "Corr",
|
||||||
fvc::flux
|
fvc::flux
|
||||||
(
|
(
|
||||||
phi_,
|
phi_,
|
||||||
|
|||||||
@ -2,8 +2,8 @@
|
|||||||
volScalarField& he1 = thermo1.he();
|
volScalarField& he1 = thermo1.he();
|
||||||
volScalarField& he2 = thermo2.he();
|
volScalarField& he2 = thermo2.he();
|
||||||
|
|
||||||
volScalarField Cpv1(thermo1.Cpv());
|
volScalarField Cpv1("Cpv1", thermo1.Cpv());
|
||||||
volScalarField Cpv2(thermo2.Cpv());
|
volScalarField Cpv2("Cpv2", thermo2.Cpv());
|
||||||
|
|
||||||
volScalarField heatTransferCoeff(fluid.heatTransferCoeff());
|
volScalarField heatTransferCoeff(fluid.heatTransferCoeff());
|
||||||
|
|
||||||
|
|||||||
@ -66,6 +66,7 @@
|
|||||||
|
|
||||||
volVectorField DDtU1
|
volVectorField DDtU1
|
||||||
(
|
(
|
||||||
|
"DDtU1",
|
||||||
fvc::ddt(U1)
|
fvc::ddt(U1)
|
||||||
+ fvc::div(phi1, U1)
|
+ fvc::div(phi1, U1)
|
||||||
- fvc::div(phi1)*U1
|
- fvc::div(phi1)*U1
|
||||||
@ -73,6 +74,7 @@
|
|||||||
|
|
||||||
volVectorField DDtU2
|
volVectorField DDtU2
|
||||||
(
|
(
|
||||||
|
"DDtU2",
|
||||||
fvc::ddt(U2)
|
fvc::ddt(U2)
|
||||||
+ fvc::div(phi2, U2)
|
+ fvc::div(phi2, U2)
|
||||||
- fvc::div(phi2)*U2
|
- fvc::div(phi2)*U2
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
surfaceScalarField alpha1f(fvc::interpolate(alpha1));
|
surfaceScalarField alpha1f("alpha1f", fvc::interpolate(alpha1));
|
||||||
surfaceScalarField alpha2f(scalar(1) - alpha1f);
|
surfaceScalarField alpha2f("alpha2f", scalar(1) - alpha1f);
|
||||||
|
|
||||||
rAU1 = 1.0/U1Eqn.A();
|
rAU1 = 1.0/U1Eqn.A();
|
||||||
rAU2 = 1.0/U2Eqn.A();
|
rAU2 = 1.0/U2Eqn.A();
|
||||||
@ -189,7 +189,7 @@
|
|||||||
|
|
||||||
if (pimple.finalNonOrthogonalIter())
|
if (pimple.finalNonOrthogonalIter())
|
||||||
{
|
{
|
||||||
surfaceScalarField mSfGradp(pEqnIncomp.flux()/rAUf);
|
surfaceScalarField mSfGradp("mSfGradp", pEqnIncomp.flux()/rAUf);
|
||||||
|
|
||||||
phi1.boundaryField() ==
|
phi1.boundaryField() ==
|
||||||
mrfZones.relative
|
mrfZones.relative
|
||||||
|
|||||||
@ -603,6 +603,8 @@ void mixtureKEpsilon<BasicTurbulenceModel>::correct()
|
|||||||
// Update k, epsilon and G at the wall
|
// Update k, epsilon and G at the wall
|
||||||
kl.boundaryField().updateCoeffs();
|
kl.boundaryField().updateCoeffs();
|
||||||
epsilonl.boundaryField().updateCoeffs();
|
epsilonl.boundaryField().updateCoeffs();
|
||||||
|
|
||||||
|
Gc().checkOut();
|
||||||
}
|
}
|
||||||
|
|
||||||
tmp<volScalarField> Gd;
|
tmp<volScalarField> Gd;
|
||||||
@ -621,6 +623,8 @@ void mixtureKEpsilon<BasicTurbulenceModel>::correct()
|
|||||||
// Update k, epsilon and G at the wall
|
// Update k, epsilon and G at the wall
|
||||||
kg.boundaryField().updateCoeffs();
|
kg.boundaryField().updateCoeffs();
|
||||||
epsilong.boundaryField().updateCoeffs();
|
epsilong.boundaryField().updateCoeffs();
|
||||||
|
|
||||||
|
Gd().checkOut();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mixture turbulence generation
|
// Mixture turbulence generation
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -79,7 +79,15 @@ Foam::LESModel<BasicTurbulenceModel>::LESModel
|
|||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
||||||
delta_(LESdelta::New("delta", U.mesh(), LESDict_))
|
delta_
|
||||||
|
(
|
||||||
|
LESdelta::New
|
||||||
|
(
|
||||||
|
IOobject::groupName("delta", U.group()),
|
||||||
|
U.mesh(),
|
||||||
|
LESDict_
|
||||||
|
)
|
||||||
|
)
|
||||||
{
|
{
|
||||||
// Force the construction of the mesh deltaCoeffs which may be needed
|
// Force the construction of the mesh deltaCoeffs which may be needed
|
||||||
// for the construction of the derived models and BCs
|
// for the construction of the derived models and BCs
|
||||||
|
|||||||
@ -21,24 +21,14 @@ runApplication renumberMesh -overwrite
|
|||||||
# force removal of fields generated by snappy
|
# force removal of fields generated by snappy
|
||||||
\rm -rf 0
|
\rm -rf 0
|
||||||
|
|
||||||
|
|
||||||
# - generate face/cell sets and zones
|
# - generate face/cell sets and zones
|
||||||
|
|
||||||
#runApplication setSet -batch createInletOutletSets.setSet
|
|
||||||
#mv log.setSet log.createInletOutletSets.setSet
|
|
||||||
runApplication topoSet -dict system/createInletOutletSets.topoSetDict
|
runApplication topoSet -dict system/createInletOutletSets.topoSetDict
|
||||||
#mv log.topoSet log.createInletOutletSets.topoSet
|
|
||||||
|
|
||||||
|
|
||||||
# - create the inlet/outlet and AMI patches
|
# - create the inlet/outlet and AMI patches
|
||||||
|
|
||||||
runApplication createPatch -overwrite
|
runApplication createPatch -overwrite
|
||||||
|
|
||||||
|
|
||||||
# - test by running moveDynamicMes
|
# - test by running moveDynamicMes
|
||||||
#runApplication moveDynamicMesh -checkAMI
|
#runApplication moveDynamicMesh -checkAMI
|
||||||
|
|
||||||
|
# - set the initial fields
|
||||||
# - apply the initial fields
|
|
||||||
|
|
||||||
cp -rf 0.org 0
|
cp -rf 0.org 0
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -64,7 +64,7 @@ geometry
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
propellerTip.obj
|
propellerTip.obj.gz
|
||||||
{
|
{
|
||||||
type triSurfaceMesh;
|
type triSurfaceMesh;
|
||||||
name propellerTip;
|
name propellerTip;
|
||||||
|
|||||||
@ -9,6 +9,7 @@ cleanCase
|
|||||||
|
|
||||||
cd ../wingMotion2D_simpleFoam
|
cd ../wingMotion2D_simpleFoam
|
||||||
cleanCase
|
cleanCase
|
||||||
|
rm -rf 0
|
||||||
|
|
||||||
cd ../wingMotion2D_pimpleDyMFoam
|
cd ../wingMotion2D_pimpleDyMFoam
|
||||||
cleanCase
|
cleanCase
|
||||||
|
|||||||
@ -13,6 +13,7 @@ runApplication snappyHexMesh -overwrite
|
|||||||
cd ../wingMotion2D_simpleFoam
|
cd ../wingMotion2D_simpleFoam
|
||||||
runApplication extrudeMesh
|
runApplication extrudeMesh
|
||||||
runApplication createPatch -overwrite
|
runApplication createPatch -overwrite
|
||||||
|
cp -r 0.org 0
|
||||||
runApplication simpleFoam
|
runApplication simpleFoam
|
||||||
|
|
||||||
# Copy the mesh from the steady state case and map the results to a
|
# Copy the mesh from the steady state case and map the results to a
|
||||||
|
|||||||
@ -35,26 +35,26 @@ FoamFile
|
|||||||
nFaces 62;
|
nFaces 62;
|
||||||
startFace 25291;
|
startFace 25291;
|
||||||
}
|
}
|
||||||
|
wing
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
inGroups 1(wall);
|
||||||
|
nFaces 378;
|
||||||
|
startFace 25353;
|
||||||
|
}
|
||||||
front
|
front
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
inGroups 1(empty);
|
inGroups 1(empty);
|
||||||
nFaces 12565;
|
nFaces 12565;
|
||||||
startFace 25353;
|
startFace 25731;
|
||||||
}
|
}
|
||||||
back
|
back
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
inGroups 1(empty);
|
inGroups 1(empty);
|
||||||
nFaces 12565;
|
nFaces 12565;
|
||||||
startFace 37918;
|
startFace 38296;
|
||||||
}
|
|
||||||
wing
|
|
||||||
{
|
|
||||||
type wall;
|
|
||||||
inGroups 1(wall);
|
|
||||||
nFaces 378;
|
|
||||||
startFace 50483;
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -35,26 +35,26 @@ FoamFile
|
|||||||
nFaces 62;
|
nFaces 62;
|
||||||
startFace 25291;
|
startFace 25291;
|
||||||
}
|
}
|
||||||
|
wing
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
inGroups 1(wall);
|
||||||
|
nFaces 378;
|
||||||
|
startFace 25353;
|
||||||
|
}
|
||||||
front
|
front
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
inGroups 1(empty);
|
inGroups 1(empty);
|
||||||
nFaces 12565;
|
nFaces 12565;
|
||||||
startFace 25353;
|
startFace 25731;
|
||||||
}
|
}
|
||||||
back
|
back
|
||||||
{
|
{
|
||||||
type empty;
|
type empty;
|
||||||
inGroups 1(empty);
|
inGroups 1(empty);
|
||||||
nFaces 12565;
|
nFaces 12565;
|
||||||
startFace 37918;
|
startFace 38296;
|
||||||
}
|
|
||||||
wing
|
|
||||||
{
|
|
||||||
type wall;
|
|
||||||
inGroups 1(wall);
|
|
||||||
nFaces 378;
|
|
||||||
startFace 50483;
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -14,55 +14,41 @@ FoamFile
|
|||||||
}
|
}
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
// This application/dictionary controls:
|
|
||||||
// - optional: create new patches from boundary faces (either given as
|
|
||||||
// a set of patches or as a faceSet)
|
|
||||||
// - always: order faces on coupled patches such that they are opposite. This
|
|
||||||
// is done for all coupled faces, not just for any patches created.
|
|
||||||
// - optional: synchronise points on coupled patches.
|
|
||||||
|
|
||||||
// 1. Create cyclic:
|
|
||||||
// - specify where the faces should come from
|
|
||||||
// - specify the type of cyclic. If a rotational specify the rotationAxis
|
|
||||||
// and centre to make matching easier
|
|
||||||
// - always create both halves in one invocation with correct 'neighbourPatch'
|
|
||||||
// setting.
|
|
||||||
// - optionally pointSync true to guarantee points to line up.
|
|
||||||
|
|
||||||
// 2. Correct incorrect cyclic:
|
|
||||||
// This will usually fail upon loading:
|
|
||||||
// "face 0 area does not match neighbour 2 by 0.0100005%"
|
|
||||||
// " -- possible face ordering problem."
|
|
||||||
// - in polyMesh/boundary file:
|
|
||||||
// - loosen matchTolerance of all cyclics to get case to load
|
|
||||||
// - or change patch type from 'cyclic' to 'patch'
|
|
||||||
// and regenerate cyclic as above
|
|
||||||
|
|
||||||
|
|
||||||
// Do a synchronisation of coupled points after creation of any patches.
|
|
||||||
// Note: this does not work with points that are on multiple coupled patches
|
|
||||||
// with transformations (i.e. cyclics).
|
|
||||||
pointSync false;
|
pointSync false;
|
||||||
|
|
||||||
// Patches to create.
|
|
||||||
patches
|
patches
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
// Name of new patch
|
// Name of new patch
|
||||||
name wing;
|
name front;
|
||||||
|
|
||||||
// Type of new patch
|
// Type of new patch
|
||||||
patchInfo
|
patchInfo
|
||||||
{
|
{
|
||||||
type wall;
|
type empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
// How to construct: either from 'patches' or 'set'
|
// How to construct: either from 'patches' or 'set'
|
||||||
constructFrom patches;
|
constructFrom patches;
|
||||||
|
|
||||||
// If constructFrom = patches : names of patches. Wildcards allowed.
|
// If constructFrom = patches : names of patches. Wildcards allowed.
|
||||||
patches ( wing_5degrees.obj_WALL10 );
|
patches (symFront);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
// Name of new patch
|
||||||
|
name back;
|
||||||
|
|
||||||
|
// Type of new patch
|
||||||
|
patchInfo
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
// How to construct: either from 'patches' or 'set'
|
||||||
|
constructFrom patches;
|
||||||
|
|
||||||
|
// If constructFrom = patches : names of patches. Wildcards allowed.
|
||||||
|
patches (symBack);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -21,10 +21,10 @@ FoamFile
|
|||||||
|
|
||||||
constructFrom patch;
|
constructFrom patch;
|
||||||
sourceCase "../wingMotion_snappyHexMesh";
|
sourceCase "../wingMotion_snappyHexMesh";
|
||||||
sourcePatches (front);
|
sourcePatches (symFront);
|
||||||
|
|
||||||
// If construct from patch: patch to use for back (can be same as sourcePatch)
|
// If construct from patch: patch to use for back (can be same as sourcePatch)
|
||||||
exposedPatchName back;
|
exposedPatchName symBack;
|
||||||
|
|
||||||
// Flip surface normals before usage. Valid only for extrude from surface or
|
// Flip surface normals before usage. Valid only for extrude from surface or
|
||||||
// patch.
|
// patch.
|
||||||
|
|||||||
@ -68,18 +68,18 @@ boundary
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
front
|
symFront
|
||||||
{
|
{
|
||||||
type empty;
|
type symmetryPlane;
|
||||||
faces
|
faces
|
||||||
(
|
(
|
||||||
(4 5 6 7)
|
(4 5 6 7)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
back
|
symBack
|
||||||
{
|
{
|
||||||
type empty;
|
type symmetryPlane;
|
||||||
faces
|
faces
|
||||||
(
|
(
|
||||||
(0 3 2 1)
|
(0 3 2 1)
|
||||||
|
|||||||
@ -31,6 +31,7 @@ geometry
|
|||||||
wing_5degrees.obj
|
wing_5degrees.obj
|
||||||
{
|
{
|
||||||
type triSurfaceMesh;
|
type triSurfaceMesh;
|
||||||
|
name wing;
|
||||||
}
|
}
|
||||||
|
|
||||||
refinementBox
|
refinementBox
|
||||||
@ -95,7 +96,7 @@ castellatedMeshControls
|
|||||||
|
|
||||||
refinementSurfaces
|
refinementSurfaces
|
||||||
{
|
{
|
||||||
wing_5degrees.obj
|
wing
|
||||||
{
|
{
|
||||||
// Surface-wise min and max refinement level
|
// Surface-wise min and max refinement level
|
||||||
level (5 5);
|
level (5 5);
|
||||||
@ -180,7 +181,7 @@ addLayersControls
|
|||||||
// Per final patch (so not geometry!) the layer information
|
// Per final patch (so not geometry!) the layer information
|
||||||
layers
|
layers
|
||||||
{
|
{
|
||||||
"wing.*"
|
wing
|
||||||
{
|
{
|
||||||
nSurfaceLayers 3;
|
nSurfaceLayers 3;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -50,7 +50,7 @@ boundaryField
|
|||||||
inletValue $internalField;
|
inletValue $internalField;
|
||||||
}
|
}
|
||||||
|
|
||||||
porosity_ascii
|
porosity
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,7 +53,7 @@ boundaryField
|
|||||||
inletValue uniform (0 0 0);
|
inletValue uniform (0 0 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
porosity_ascii
|
porosity
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -59,7 +59,7 @@ boundaryField
|
|||||||
value uniform 200;
|
value uniform 200;
|
||||||
}
|
}
|
||||||
|
|
||||||
porosity_ascii
|
porosity
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -59,7 +59,7 @@ boundaryField
|
|||||||
value uniform 1;
|
value uniform 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
porosity_ascii
|
porosity
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -57,7 +57,7 @@ boundaryField
|
|||||||
value uniform 0;
|
value uniform 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
porosity_ascii
|
porosity
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,7 +47,7 @@ boundaryField
|
|||||||
value $internalField;
|
value $internalField;
|
||||||
}
|
}
|
||||||
|
|
||||||
porosity_ascii
|
porosity
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,7 +44,7 @@ boundaryField
|
|||||||
zGround $zGround;
|
zGround $zGround;
|
||||||
}
|
}
|
||||||
|
|
||||||
"terrain_.*"
|
terrain
|
||||||
{
|
{
|
||||||
type uniformFixedValue;
|
type uniformFixedValue;
|
||||||
uniformValue (0 0 0);
|
uniformValue (0 0 0);
|
||||||
|
|||||||
@ -25,7 +25,7 @@ boundaryField
|
|||||||
{
|
{
|
||||||
#include "include/ABLConditions"
|
#include "include/ABLConditions"
|
||||||
|
|
||||||
"terrain_.*"
|
terrain
|
||||||
{
|
{
|
||||||
type epsilonWallFunction;
|
type epsilonWallFunction;
|
||||||
Cmu 0.09;
|
Cmu 0.09;
|
||||||
|
|||||||
@ -37,7 +37,7 @@ boundaryField
|
|||||||
uniformValue constant $turbulentKE;
|
uniformValue constant $turbulentKE;
|
||||||
}
|
}
|
||||||
|
|
||||||
"terrain_.*"
|
terrain
|
||||||
{
|
{
|
||||||
type kqRWallFunction;
|
type kqRWallFunction;
|
||||||
value uniform 0.0;
|
value uniform 0.0;
|
||||||
|
|||||||
@ -35,7 +35,7 @@ boundaryField
|
|||||||
value uniform 0;
|
value uniform 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
"terrain_.*"
|
terrain
|
||||||
{
|
{
|
||||||
type nutkAtmRoughWallFunction;
|
type nutkAtmRoughWallFunction;
|
||||||
z0 $z0;
|
z0 $z0;
|
||||||
|
|||||||
@ -33,7 +33,7 @@ boundaryField
|
|||||||
uniformValue constant $pressure;
|
uniformValue constant $pressure;
|
||||||
}
|
}
|
||||||
|
|
||||||
"terrain_.*"
|
terrain
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,13 +33,6 @@ geometry
|
|||||||
{
|
{
|
||||||
type triSurfaceMesh;
|
type triSurfaceMesh;
|
||||||
name walls;
|
name walls;
|
||||||
regions
|
|
||||||
{
|
|
||||||
solid
|
|
||||||
{
|
|
||||||
name walls;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -49,7 +49,7 @@ boundaryField
|
|||||||
value uniform (0 0 0);
|
value uniform (0 0 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
hull_wall
|
hull
|
||||||
{
|
{
|
||||||
type fixedValue;
|
type fixedValue;
|
||||||
value uniform (0 0 0);
|
value uniform (0 0 0);
|
||||||
|
|||||||
@ -44,7 +44,7 @@ boundaryField
|
|||||||
value $internalField;
|
value $internalField;
|
||||||
}
|
}
|
||||||
|
|
||||||
hull_wall
|
hull
|
||||||
{
|
{
|
||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,7 +44,7 @@ boundaryField
|
|||||||
value $internalField;
|
value $internalField;
|
||||||
}
|
}
|
||||||
|
|
||||||
hull_wall
|
hull
|
||||||
{
|
{
|
||||||
type kqRWallFunction;
|
type kqRWallFunction;
|
||||||
value $internalField;
|
value $internalField;
|
||||||
|
|||||||
@ -42,7 +42,7 @@ boundaryField
|
|||||||
type zeroGradient;
|
type zeroGradient;
|
||||||
}
|
}
|
||||||
|
|
||||||
hull_wall
|
hull
|
||||||
{
|
{
|
||||||
type nutkWallFunction;
|
type nutkWallFunction;
|
||||||
value $internalField;
|
value $internalField;
|
||||||
|
|||||||
@ -50,7 +50,7 @@ boundaryField
|
|||||||
value $internalField;
|
value $internalField;
|
||||||
}
|
}
|
||||||
|
|
||||||
hull_wall
|
hull
|
||||||
{
|
{
|
||||||
type omegaWallFunction;
|
type omegaWallFunction;
|
||||||
value $internalField;
|
value $internalField;
|
||||||
|
|||||||
@ -48,7 +48,7 @@ boundaryField
|
|||||||
value $internalField;
|
value $internalField;
|
||||||
}
|
}
|
||||||
|
|
||||||
hull_wall
|
hull
|
||||||
{
|
{
|
||||||
type fixedFluxPressure;
|
type fixedFluxPressure;
|
||||||
value $internalField;
|
value $internalField;
|
||||||
|
|||||||
@ -20,21 +20,21 @@ FoamFile
|
|||||||
inlet
|
inlet
|
||||||
{
|
{
|
||||||
type patch;
|
type patch;
|
||||||
nFaces 0;
|
nFaces 652;
|
||||||
startFace 1576984;
|
startFace 1576984;
|
||||||
}
|
}
|
||||||
outlet
|
outlet
|
||||||
{
|
{
|
||||||
type patch;
|
type patch;
|
||||||
nFaces 0;
|
nFaces 112;
|
||||||
startFace 1576984;
|
startFace 1577636;
|
||||||
}
|
}
|
||||||
outerCylinder
|
outerCylinder
|
||||||
{
|
{
|
||||||
type wall;
|
type wall;
|
||||||
inGroups 1(wall);
|
inGroups 1(wall);
|
||||||
nFaces 1404;
|
nFaces 640;
|
||||||
startFace 1576984;
|
startFace 1577748;
|
||||||
}
|
}
|
||||||
propellerTip
|
propellerTip
|
||||||
{
|
{
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -64,7 +64,7 @@ geometry
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
propellerTip.obj
|
propellerTip.obj.gz
|
||||||
{
|
{
|
||||||
type triSurfaceMesh;
|
type triSurfaceMesh;
|
||||||
name propellerTip;
|
name propellerTip;
|
||||||
|
|||||||
Reference in New Issue
Block a user