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());
|
||||
|
||||
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
|
||||
(
|
||||
fvc::flux
|
||||
|
||||
@ -7,6 +7,8 @@
|
||||
|
||||
pDivU = dimensionedScalar("pDivU", p.dimensions()/dimTime, Zero);
|
||||
|
||||
DebugVar(fvc::interpolate(rho));
|
||||
|
||||
if (thermo->pDivU())
|
||||
{
|
||||
pDivU = (p*fvc::div(rhoPhi/fvc::interpolate(rho)));
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
EXE_INC = \
|
||||
-g -O0 \
|
||||
-I../VoF \
|
||||
-I$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \
|
||||
-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),
|
||||
fc,
|
||||
sqr(faceSnapDist),// sqr of attract dist
|
||||
sqr(scalarField(faceSnapDist, ppFaces)),// sqr of attract dist
|
||||
hitSurface,
|
||||
hitInfo,
|
||||
hitRegion,
|
||||
@ -384,7 +384,7 @@ void Foam::snappySnapDriver::calcNearestFace
|
||||
(
|
||||
unzonedSurfaces,
|
||||
fc,
|
||||
sqr(faceSnapDist),// sqr of attract dist
|
||||
sqr(scalarField(faceSnapDist, ppFaces)),// sqr of attract dist
|
||||
hitSurface,
|
||||
hitInfo,
|
||||
hitRegion,
|
||||
|
||||
@ -356,6 +356,13 @@ void Foam::searchableSurfacesQueries::findNearest
|
||||
{
|
||||
// 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
|
||||
nearestSurfaces.setSize(samples.size());
|
||||
nearestSurfaces = -1;
|
||||
@ -407,6 +414,14 @@ void Foam::searchableSurfacesQueries::findNearest
|
||||
{
|
||||
// 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())
|
||||
{
|
||||
findNearest
|
||||
@ -470,6 +485,15 @@ void Foam::searchableSurfacesQueries::findNearest
|
||||
{
|
||||
// Multi-surface findNearest
|
||||
|
||||
|
||||
if (start.size() != distSqr.size())
|
||||
{
|
||||
FatalErrorInFunction << "Inconsistent sizes. samples:" << start.size()
|
||||
<< " search-radius:" << distSqr.size()
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
|
||||
vectorField normal;
|
||||
List<pointIndexHit> info;
|
||||
|
||||
|
||||
@ -15,6 +15,11 @@ FoamFile
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//DebugSwitches
|
||||
//{
|
||||
// fv 2;
|
||||
//}
|
||||
|
||||
application sonicFoam;
|
||||
|
||||
startFrom latestTime;
|
||||
|
||||
@ -41,7 +41,7 @@ divSchemes
|
||||
|
||||
laplacianSchemes
|
||||
{
|
||||
default Gauss linear limited corrected 0.5;
|
||||
default Gauss linear corrected; //limited corrected 1; //0.5;
|
||||
}
|
||||
|
||||
interpolationSchemes
|
||||
|
||||
@ -23,13 +23,13 @@ startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 0.5;
|
||||
endTime 0.005;
|
||||
|
||||
deltaT 0.005;
|
||||
|
||||
writeControl timeStep;
|
||||
|
||||
writeInterval 20;
|
||||
writeInterval 1;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
|
||||
@ -53,12 +53,12 @@ snGradSchemes
|
||||
|
||||
oversetInterpolation
|
||||
{
|
||||
method cellVolumeWeight;
|
||||
//method cellVolumeWeight;
|
||||
|
||||
// Faster but less accurate
|
||||
//method trackingInverseDistance;
|
||||
//searchBox (0 0 0)(0.02 0.01 0.01);
|
||||
//searchBoxDivisions 3{(64 64 1)};
|
||||
method trackingInverseDistance;
|
||||
searchBox (0 0 0)(0.02 0.01 0.01);
|
||||
searchBoxDivisions 3{(64 64 1)};
|
||||
}
|
||||
|
||||
fluxRequired
|
||||
|
||||
@ -78,17 +78,41 @@ boundary
|
||||
(9 13 12 8)
|
||||
);
|
||||
}
|
||||
couple1
|
||||
ACMI1_couple
|
||||
{
|
||||
type patch;
|
||||
type cyclicACMI;
|
||||
matchTolerance 0.0001;
|
||||
neighbourPatch ACMI2_couple;
|
||||
nonOverlapPatch ACMI1_blockage;
|
||||
transform noOrdering;
|
||||
faces
|
||||
(
|
||||
(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
|
||||
(
|
||||
(8 12 15 11)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -28,7 +28,10 @@ gradSchemes
|
||||
divSchemes
|
||||
{
|
||||
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(phi,k) Gauss upwind;
|
||||
div(phi,epsilon) Gauss upwind;
|
||||
|
||||
Reference in New Issue
Block a user