mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
BUG: snappyHexMesh: attraction distance mapping. Fixes #941.
This commit is contained in:
@ -153,6 +153,33 @@
|
|||||||
|
|
||||||
surfaceScalarField phir(phic*mixture.nHatf());
|
surfaceScalarField phir(phic*mixture.nHatf());
|
||||||
|
|
||||||
|
DebugVar(phir.oriented());
|
||||||
|
DebugVar(phiCN().oriented());
|
||||||
|
DebugVar(alpha1.oriented());
|
||||||
|
DebugVar(alpha1.oldTime().oriented());
|
||||||
|
|
||||||
|
tmp<surfaceScalarField> f1
|
||||||
|
(
|
||||||
|
fvc::flux
|
||||||
|
(
|
||||||
|
phiCN(),
|
||||||
|
cnCoeff*alpha1 + (1.0 - cnCoeff)*alpha1.oldTime(),
|
||||||
|
alphaScheme
|
||||||
|
)
|
||||||
|
);
|
||||||
|
DebugVar(f1().oriented());
|
||||||
|
tmp<surfaceScalarField> f2
|
||||||
|
(
|
||||||
|
fvc::flux
|
||||||
|
(
|
||||||
|
-fvc::flux(-phir, alpha2, alpharScheme),
|
||||||
|
alpha1,
|
||||||
|
alpharScheme
|
||||||
|
)
|
||||||
|
);
|
||||||
|
DebugVar(f2().oriented());
|
||||||
|
|
||||||
|
|
||||||
tmp<surfaceScalarField> talphaPhi1Un
|
tmp<surfaceScalarField> talphaPhi1Un
|
||||||
(
|
(
|
||||||
fvc::flux
|
fvc::flux
|
||||||
|
|||||||
@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
pDivU = dimensionedScalar("pDivU", p.dimensions()/dimTime, Zero);
|
pDivU = dimensionedScalar("pDivU", p.dimensions()/dimTime, Zero);
|
||||||
|
|
||||||
|
DebugVar(fvc::interpolate(rho));
|
||||||
|
|
||||||
if (thermo->pDivU())
|
if (thermo->pDivU())
|
||||||
{
|
{
|
||||||
pDivU = (p*fvc::div(rhoPhi/fvc::interpolate(rho)));
|
pDivU = (p*fvc::div(rhoPhi/fvc::interpolate(rho)));
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
EXE_INC = \
|
EXE_INC = \
|
||||||
|
-g -O0 \
|
||||||
-I../VoF \
|
-I../VoF \
|
||||||
-I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
|
-I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
|
||||||
-I$(LIB_SRC)/transportModels \
|
-I$(LIB_SRC)/transportModels \
|
||||||
|
|||||||
Submodule modules/avalanche updated: 3e147ba27a...fdf0f40d7a
Submodule modules/catalyst updated: de0f98f42f...566968cae3
@ -308,7 +308,7 @@ void Foam::snappySnapDriver::calcNearestFace
|
|||||||
(
|
(
|
||||||
labelList(1, zoneSurfi),
|
labelList(1, zoneSurfi),
|
||||||
fc,
|
fc,
|
||||||
sqr(faceSnapDist),// sqr of attract dist
|
sqr(scalarField(faceSnapDist, ppFaces)),// sqr of attract dist
|
||||||
hitSurface,
|
hitSurface,
|
||||||
hitInfo,
|
hitInfo,
|
||||||
hitRegion,
|
hitRegion,
|
||||||
@ -384,7 +384,7 @@ void Foam::snappySnapDriver::calcNearestFace
|
|||||||
(
|
(
|
||||||
unzonedSurfaces,
|
unzonedSurfaces,
|
||||||
fc,
|
fc,
|
||||||
sqr(faceSnapDist),// sqr of attract dist
|
sqr(scalarField(faceSnapDist, ppFaces)),// sqr of attract dist
|
||||||
hitSurface,
|
hitSurface,
|
||||||
hitInfo,
|
hitInfo,
|
||||||
hitRegion,
|
hitRegion,
|
||||||
|
|||||||
@ -356,6 +356,13 @@ void Foam::searchableSurfacesQueries::findNearest
|
|||||||
{
|
{
|
||||||
// Find nearest. Return -1 or nearest point
|
// Find nearest. Return -1 or nearest point
|
||||||
|
|
||||||
|
if (samples.size() != nearestDistSqr.size())
|
||||||
|
{
|
||||||
|
FatalErrorInFunction << "Inconsistent sizes. samples:" << samples.size()
|
||||||
|
<< " search-radius:" << nearestDistSqr.size()
|
||||||
|
<< exit(FatalError);
|
||||||
|
}
|
||||||
|
|
||||||
// Initialise
|
// Initialise
|
||||||
nearestSurfaces.setSize(samples.size());
|
nearestSurfaces.setSize(samples.size());
|
||||||
nearestSurfaces = -1;
|
nearestSurfaces = -1;
|
||||||
@ -407,6 +414,14 @@ void Foam::searchableSurfacesQueries::findNearest
|
|||||||
{
|
{
|
||||||
// Find nearest. Return -1 or nearest point
|
// Find nearest. Return -1 or nearest point
|
||||||
|
|
||||||
|
if (samples.size() != nearestDistSqr.size())
|
||||||
|
{
|
||||||
|
FatalErrorInFunction << "Inconsistent sizes. samples:" << samples.size()
|
||||||
|
<< " search-radius:" << nearestDistSqr.size()
|
||||||
|
<< exit(FatalError);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (regionIndices.empty())
|
if (regionIndices.empty())
|
||||||
{
|
{
|
||||||
findNearest
|
findNearest
|
||||||
@ -470,6 +485,15 @@ void Foam::searchableSurfacesQueries::findNearest
|
|||||||
{
|
{
|
||||||
// Multi-surface findNearest
|
// Multi-surface findNearest
|
||||||
|
|
||||||
|
|
||||||
|
if (start.size() != distSqr.size())
|
||||||
|
{
|
||||||
|
FatalErrorInFunction << "Inconsistent sizes. samples:" << start.size()
|
||||||
|
<< " search-radius:" << distSqr.size()
|
||||||
|
<< exit(FatalError);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
vectorField normal;
|
vectorField normal;
|
||||||
List<pointIndexHit> info;
|
List<pointIndexHit> info;
|
||||||
|
|
||||||
|
|||||||
@ -15,6 +15,11 @@ FoamFile
|
|||||||
}
|
}
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
//DebugSwitches
|
||||||
|
//{
|
||||||
|
// fv 2;
|
||||||
|
//}
|
||||||
|
|
||||||
application sonicFoam;
|
application sonicFoam;
|
||||||
|
|
||||||
startFrom latestTime;
|
startFrom latestTime;
|
||||||
|
|||||||
@ -41,7 +41,7 @@ divSchemes
|
|||||||
|
|
||||||
laplacianSchemes
|
laplacianSchemes
|
||||||
{
|
{
|
||||||
default Gauss linear limited corrected 0.5;
|
default Gauss linear corrected; //limited corrected 1; //0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
interpolationSchemes
|
interpolationSchemes
|
||||||
|
|||||||
@ -23,13 +23,13 @@ startTime 0;
|
|||||||
|
|
||||||
stopAt endTime;
|
stopAt endTime;
|
||||||
|
|
||||||
endTime 0.5;
|
endTime 0.005;
|
||||||
|
|
||||||
deltaT 0.005;
|
deltaT 0.005;
|
||||||
|
|
||||||
writeControl timeStep;
|
writeControl timeStep;
|
||||||
|
|
||||||
writeInterval 20;
|
writeInterval 1;
|
||||||
|
|
||||||
purgeWrite 0;
|
purgeWrite 0;
|
||||||
|
|
||||||
|
|||||||
@ -53,12 +53,12 @@ snGradSchemes
|
|||||||
|
|
||||||
oversetInterpolation
|
oversetInterpolation
|
||||||
{
|
{
|
||||||
method cellVolumeWeight;
|
//method cellVolumeWeight;
|
||||||
|
|
||||||
// Faster but less accurate
|
// Faster but less accurate
|
||||||
//method trackingInverseDistance;
|
method trackingInverseDistance;
|
||||||
//searchBox (0 0 0)(0.02 0.01 0.01);
|
searchBox (0 0 0)(0.02 0.01 0.01);
|
||||||
//searchBoxDivisions 3{(64 64 1)};
|
searchBoxDivisions 3{(64 64 1)};
|
||||||
}
|
}
|
||||||
|
|
||||||
fluxRequired
|
fluxRequired
|
||||||
|
|||||||
@ -78,17 +78,41 @@ boundary
|
|||||||
(9 13 12 8)
|
(9 13 12 8)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
couple1
|
ACMI1_couple
|
||||||
{
|
{
|
||||||
type patch;
|
type cyclicACMI;
|
||||||
|
matchTolerance 0.0001;
|
||||||
|
neighbourPatch ACMI2_couple;
|
||||||
|
nonOverlapPatch ACMI1_blockage;
|
||||||
|
transform noOrdering;
|
||||||
faces
|
faces
|
||||||
(
|
(
|
||||||
(2 6 5 1)
|
(2 6 5 1)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
couple2
|
ACMI2_couple
|
||||||
{
|
{
|
||||||
type patch;
|
type cyclicACMI;
|
||||||
|
neighbourPatch ACMI1_couple;
|
||||||
|
nonOverlapPatch ACMI2_blockage;
|
||||||
|
transform noOrdering;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
(8 12 15 11)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
ACMI1_blockage
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
(2 6 5 1)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
ACMI2_blockage
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
faces
|
faces
|
||||||
(
|
(
|
||||||
(8 12 15 11)
|
(8 12 15 11)
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -28,7 +28,10 @@ gradSchemes
|
|||||||
divSchemes
|
divSchemes
|
||||||
{
|
{
|
||||||
div(rhoPhi,U) Gauss linearUpwind grad(U);
|
div(rhoPhi,U) Gauss linearUpwind grad(U);
|
||||||
div(phi,alpha) Gauss vanLeer;
|
// div(phi,alpha) Gauss vanLeer;
|
||||||
|
div(phi,alpha) Gauss CoBlended 1.0 Minmod 2.0 upwind;
|
||||||
|
|
||||||
|
|
||||||
div(phirb,alpha) Gauss linear;
|
div(phirb,alpha) Gauss linear;
|
||||||
div(phi,k) Gauss upwind;
|
div(phi,k) Gauss upwind;
|
||||||
div(phi,epsilon) Gauss upwind;
|
div(phi,epsilon) Gauss upwind;
|
||||||
|
|||||||
Reference in New Issue
Block a user