Merge branch 'master' of /home/dm4/OpenFOAM/repositories/OpenFOAM-dev

This commit is contained in:
andy
2014-01-20 13:15:23 +00:00
9 changed files with 266625 additions and 42 deletions

View File

@ -108,8 +108,8 @@
MULES::correct(alpha1, tphiAlphaUn(), tphiAlphaCorr(), 1, 0); MULES::correct(alpha1, tphiAlphaUn(), tphiAlphaCorr(), 1, 0);
#endif #endif
// Under-relax the correction for more than 3 correctors // Under-relax the correction for all but the 1st corrector
if (aCorr < 3) if (aCorr == 0)
{ {
tphiAlpha() += tphiAlphaCorr(); tphiAlpha() += tphiAlphaCorr();
} }

View File

@ -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
@ -198,6 +198,13 @@ int main(int argc, char *argv[])
args args
); );
// Note that we do not set the runTime time so it is still the
// one set through the controlDict. The -time option
// only affects the selected set of times from processor0.
// - can be illogical
// + any point motion handled through mesh.readUpdate
if (timeDirs.empty()) if (timeDirs.empty())
{ {
FatalErrorIn(args.executable()) FatalErrorIn(args.executable())

View File

@ -1460,41 +1460,47 @@ void Foam::extendedEdgeMesh::writeStats(Ostream& os) const
{ {
edgeMesh::writeStats(os); edgeMesh::writeStats(os);
os << indent << "point classification (size and offset) :" << nl; os << indent << "point classification :" << nl;
os << incrIndent; os << incrIndent;
os << indent << "convex feature points : " os << indent << "convex feature points : "
<< setw(8) << concaveStart_-convexStart_ << setw(8) << concaveStart_-convexStart_
<< setw(8) << convexStart_ << nl; //<< setw(8) << convexStart_
<< nl;
os << indent << "concave feature points : " os << indent << "concave feature points : "
<< setw(8) << mixedStart_-concaveStart_ << setw(8) << mixedStart_-concaveStart_
<< setw(8) << concaveStart_ << nl; //<< setw(8) << concaveStart_
<< nl;
os << indent << "mixed feature points : " os << indent << "mixed feature points : "
<< setw(8) << nonFeatureStart_-mixedStart_ << setw(8) << nonFeatureStart_-mixedStart_
<< setw(8) << mixedStart_ << nl; //<< setw(8) << mixedStart_
<< nl;
os << indent << "other (non-feature) points : " os << indent << "other (non-feature) points : "
<< setw(8) << points().size()-nonFeatureStart_ << setw(8) << points().size()-nonFeatureStart_
<< setw(8) << nonFeatureStart_ << nl; //<< setw(8) << nonFeatureStart_
<< nl;
os << decrIndent; os << decrIndent;
os << indent << "edge classification (size and offset) :" << nl; os << indent << "edge classification :" << nl;
os << incrIndent; os << incrIndent;
os << indent << "external (convex angle) edges : " os << indent << "external (convex angle) edges : "
<< setw(8) << internalStart_-externalStart_ << setw(8) << internalStart_-externalStart_
<< setw(8) << externalStart_ //<< setw(8) << externalStart_
<< nl; << nl;
os << indent << "internal (concave angle) edges : " os << indent << "internal (concave angle) edges : "
<< setw(8) << flatStart_-internalStart_ << setw(8) << flatStart_-internalStart_
<< setw(8) << internalStart_ //<< setw(8) << internalStart_
<< nl; << nl;
os << indent << "flat region edges : " os << indent << "flat region edges : "
<< setw(8) << openStart_-flatStart_ << setw(8) << openStart_-flatStart_
<< setw(8) << flatStart_ << nl; //<< setw(8) << flatStart_
<< nl;
os << indent << "open edges : " os << indent << "open edges : "
<< setw(8) << multipleStart_-openStart_ << setw(8) << multipleStart_-openStart_
<< setw(8) << openStart_ << nl; //<< setw(8) << openStart_
<< nl;
os << indent << "multiply connected edges : " os << indent << "multiply connected edges : "
<< setw(8) << edges().size()-multipleStart_ << setw(8) << edges().size()-multipleStart_
<< setw(8) << multipleStart_ //<< setw(8) << multipleStart_
<< nl; << nl;
os << decrIndent; os << decrIndent;
} }

View File

@ -1375,14 +1375,14 @@ void Foam::autoSnapDriver::releasePointsNextToMultiPatch
patchAttraction[pointI] = rawPatchAttraction[pointI]; patchAttraction[pointI] = rawPatchAttraction[pointI];
patchConstraints[pointI] = rawPatchConstraints[pointI]; patchConstraints[pointI] = rawPatchConstraints[pointI];
if (multiPatchStr.valid()) //if (multiPatchStr.valid())
{ //{
Pout<< "Adding constraint on multiPatchPoint:" // Pout<< "Adding constraint on multiPatchPoint:"
<< pp.localPoints()[pointI] // << pp.localPoints()[pointI]
<< " constraint:" << patchConstraints[pointI] // << " constraint:" << patchConstraints[pointI]
<< " attraction:" << patchAttraction[pointI] // << " attraction:" << patchAttraction[pointI]
<< endl; // << endl;
} //}
} }
} }
} }
@ -2153,6 +2153,28 @@ void Foam::autoSnapDriver::determineFeatures
); );
} }
} }
else
{
// No multi-patch snapping
nearInfo = findNearFeaturePoint
(
false, // isRegionPoint
pp,
snapDist,
pointI,
estimatedPt,
// Feature-point to pp point
pointAttractor,
pointConstraints,
// Feature-edge to pp point
edgeAttractors,
edgeConstraints,
// pp point to nearest feature
patchAttraction,
patchConstraints
);
}
const pointIndexHit& info = nearInfo.second(); const pointIndexHit& info = nearInfo.second();
if (info.hit() && featurePointStr.valid()) if (info.hit() && featurePointStr.valid())

View File

@ -7,7 +7,7 @@ cd ${0%/*} || exit 1 # run from this directory
# Generate mesh # Generate mesh
./Allrun-pre ./Allrun-pre
## Run simulation # Run simulation
./Allrun-simulation ./Allrun-simulation
# ----------------------------------------------------------------- end-of-file # ----------------------------------------------------------------- end-of-file

View File

@ -81,15 +81,8 @@ baffles
matchTolerance 0.0001; matchTolerance 0.0001;
neighbourPatch AMI2; neighbourPatch AMI2;
transform noOrdering; transform noOrdering;
// Switch to zero-gradient for low weights
lowWeightCorrection 0.2; lowWeightCorrection 0.2;
// Note: since imperfect meshing around feature edge make
// sure to project both sides onto 'proper' geometry to
// avoid errors leading to zero weights
surface
{
type triSurfaceMesh;
name rotating.stl;
}
} }
slave slave
@ -101,11 +94,6 @@ baffles
neighbourPatch AMI1; neighbourPatch AMI1;
transform noOrdering; transform noOrdering;
lowWeightCorrection 0.2; lowWeightCorrection 0.2;
surface
{
type triSurfaceMesh;
name rotating.stl;
}
} }
} }
} }

View File

@ -30,8 +30,7 @@ simpleCoeffs
hierarchicalCoeffs hierarchicalCoeffs
{ {
n ( 2 2 2 ); n ( 2 2 2 );
delta 0.2; // rotate a bit to avoid baffle topology delta 0.001;
// at processor boundary
order xyz; order xyz;
} }

View File

@ -66,16 +66,15 @@ solvers
"U.*" "U.*"
{ {
solver smoothSolver; solver smoothSolver;
smoother GaussSeidel; smoother symGaussSeidel;
tolerance 1e-6; tolerance 1e-6;
relTol 0; relTol 0;
nSweeps 1;
} }
"(T|k|epsilon).*" "(T|k|epsilon).*"
{ {
solver PBiCG; solver smoothSolver;
preconditioner DILU; smoother symGaussSeidel;
tolerance 1e-6; tolerance 1e-6;
relTol 0; relTol 0;
} }