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

This commit is contained in:
mattijs
2012-12-05 15:53:26 +00:00
70 changed files with 596 additions and 354 deletions

View File

@ -45,7 +45,7 @@
); );
Info<< "Reading diffusivity D\n" << endl; Info<< "Reading diffusivity DT\n" << endl;
dimensionedScalar DT dimensionedScalar DT
( (

View File

@ -46,5 +46,6 @@ EXE_LIBS = \
-lradiationModels \ -lradiationModels \
-lsurfaceFilmModels \ -lsurfaceFilmModels \
-lpyrolysisModels \ -lpyrolysisModels \
-lregionCoupling \
-llagrangianIntermediate \ -llagrangianIntermediate \
-lODE -lODE

View File

@ -37,48 +37,6 @@
#include "readGravitationalAcceleration.H" #include "readGravitationalAcceleration.H"
Info<< "\nReading freeSurfaceProperties\n" << endl;
IOdictionary freeSurfaceProperties
(
IOobject
(
"freeSurfaceProperties",
runTime.constant(),
mesh,
IOobject::MUST_READ,
IOobject::NO_WRITE
)
);
word freeSurfacePatch(freeSurfaceProperties.lookup("freeSurfacePatch"));
label freeSurfacePatchI = mesh.boundaryMesh().findPatchID(freeSurfacePatch);
if (freeSurfacePatchI < 0)
{
FatalErrorIn(args.executable())
<< "Patch " << freeSurfacePatch << " not found. "
<< "Available patches are:" << mesh.boundaryMesh().names()
<< exit(FatalError);
}
Info<< "Creating field refLevel\n" << endl;
volVectorField refLevel
(
IOobject
(
"refLevel",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh,
dimensionedVector("zero", dimLength, vector::zero)
);
refLevel.boundaryField()[freeSurfacePatchI]
== mesh.C().boundaryField()[freeSurfacePatchI];
Info<< "Creating field zeta\n" << endl; Info<< "Creating field zeta\n" << endl;
volVectorField zeta volVectorField zeta
( (
@ -110,7 +68,7 @@
// Force p_gh to be consistent with p // Force p_gh to be consistent with p
// Height is made relative to field 'refLevel' // Height is made relative to field 'refLevel'
p_gh = p - (g & (mesh.C() + zeta - refLevel)); p_gh = p - (g & mesh.C());
label p_ghRefCell = 0; label p_ghRefCell = 0;

View File

@ -42,7 +42,7 @@ while (pimple.correctNonOrthogonal())
// Explicitly relax pressure for momentum corrector // Explicitly relax pressure for momentum corrector
p_gh.relax(); p_gh.relax();
p = p_gh + (g & (mesh.C() + zeta - refLevel)); p = p_gh + (g & mesh.C());
U = HbyA - rAU*fvc::grad(p_gh); U = HbyA - rAU*fvc::grad(p_gh);
U.correctBoundaryConditions(); U.correctBoundaryConditions();

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -55,10 +55,10 @@ Description
- find most unique face shape (e.g. triangle for prism) - find most unique face shape (e.g. triangle for prism)
- walk (following either vertices in face or jumping from face to other - walk (following either vertices in face or jumping from face to other
face) to other faces and checking face sizes. face) to other faces and checking face sizes.
- if nessecary try other rotations of this face - if necessary try other rotations of this face
(only nessecary for wedge, tet-wedge) (only necessary for wedge, tet-wedge)
- if nessecary try other faces which most unique face shape - if necessary try other faces which most unique face shape
(never nessecary for hex degenerates) (never necessary for hex degenerates)
The whole calculation is done such that no lists are allocated during The whole calculation is done such that no lists are allocated during
cell checking. E.g. localFaces_ are always sized to hold max. number cell checking. E.g. localFaces_ are always sized to hold max. number
@ -94,7 +94,7 @@ class cellShape;
class cellModel; class cellModel;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class cellMatcher Declaration Class cellMatcher Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
class cellMatcher class cellMatcher

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -47,7 +47,7 @@ Description
cell out of face, edge or point. cell out of face, edge or point.
- can be appended: added 'out of nothing'. - can be appended: added 'out of nothing'.
All this information is nessecary to correctly map fields. All this information is necessary to correctly map fields.
\par points \par points
@ -153,7 +153,7 @@ namespace Foam
class polyMesh; class polyMesh;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class mapPolyMesh Declaration Class mapPolyMesh Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
class mapPolyMesh class mapPolyMesh

View File

@ -673,7 +673,7 @@ void Foam::syncTools::syncEdgeMap
// Now sharedEdgeValues will contain per potential sharedEdge the value. // Now sharedEdgeValues will contain per potential sharedEdge the value.
// (potential since an edge having two shared points is not nessecary a // (potential since an edge having two shared points is not necessary a
// shared edge). // shared edge).
// Reduce this on the master. // Reduce this on the master.

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -151,7 +151,7 @@ static void handler(void)
// Save the pointer (that gamma knows about) so we can safely // Save the pointer (that gamma knows about) so we can safely
// gamma_switch_to_buffer with a valid pointer. // gamma_switch_to_buffer with a valid pointer.
// Not sure if nessecary but do anyway. // Not sure if necessary but do anyway.
savedBuf.transfer(buf); savedBuf.transfer(buf);
// Resize all the buffers // Resize all the buffers

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -424,7 +424,7 @@ void Foam::polyDualMesh::collectPatchInternalFace
{ {
featEdgeIndices2[i] = dualFace2.size() -1 - featEdgeIndices2[i]; featEdgeIndices2[i] = dualFace2.size() -1 - featEdgeIndices2[i];
} }
// Reverse indices (might not be nessecary but do anyway) // Reverse indices (might not be necessary but do anyway)
reverse(featEdgeIndices2); reverse(featEdgeIndices2);
} }
} }

View File

@ -65,7 +65,7 @@ class mapAddedPolyMesh;
class mapDistributePolyMesh; class mapDistributePolyMesh;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class fvMeshDistribute Declaration Class fvMeshDistribute Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
class fvMeshDistribute class fvMeshDistribute
@ -132,7 +132,7 @@ class fvMeshDistribute
// patchI. // patchI.
autoPtr<mapPolyMesh> deleteProcPatches(const label patchI); autoPtr<mapPolyMesh> deleteProcPatches(const label patchI);
//- Repatch the mesh. This is only nessecary for the proc //- Repatch the mesh. This is only necessary for the proc
// boundary faces. newPatchID is over all boundary faces: -1 or // boundary faces. newPatchID is over all boundary faces: -1 or
// new patchID. constructFaceMap is being adapted for the // new patchID. constructFaceMap is being adapted for the
// possible new face position (since proc faces get automatically // possible new face position (since proc faces get automatically

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -2720,7 +2720,7 @@ Foam::cellCuts::cellCuts
calcLoopsAndAddressing(cutCells); calcLoopsAndAddressing(cutCells);
// Calculate planes and flip cellLoops if nessecary // Calculate planes and flip cellLoops if necessary
orientPlanesAndLoops(); orientPlanesAndLoops();
if (debug) if (debug)
@ -2765,7 +2765,7 @@ Foam::cellCuts::cellCuts
calcLoopsAndAddressing(identity(mesh.nCells())); calcLoopsAndAddressing(identity(mesh.nCells()));
// Calculate planes and flip cellLoops if nessecary // Calculate planes and flip cellLoops if necessary
orientPlanesAndLoops(); orientPlanesAndLoops();
if (debug) if (debug)
@ -2811,7 +2811,7 @@ Foam::cellCuts::cellCuts
// Makes sure cuts are consistent // Makes sure cuts are consistent
setFromCellLoops(cellLabels, cellLoops, cellEdgeWeights); setFromCellLoops(cellLabels, cellLoops, cellEdgeWeights);
// Calculate planes and flip cellLoops if nessecary // Calculate planes and flip cellLoops if necessary
orientPlanesAndLoops(); orientPlanesAndLoops();
if (debug) if (debug)
@ -2855,7 +2855,7 @@ Foam::cellCuts::cellCuts
// Makes sure cuts are consistent // Makes sure cuts are consistent
setFromCellCutter(cellCutter, refCells); setFromCellCutter(cellCutter, refCells);
// Calculate planes and flip cellLoops if nessecary // Calculate planes and flip cellLoops if necessary
orientPlanesAndLoops(); orientPlanesAndLoops();
if (debug) if (debug)
@ -2901,7 +2901,7 @@ Foam::cellCuts::cellCuts
// Makes sure cuts are consistent // Makes sure cuts are consistent
setFromCellCutter(cellCutter, cellLabels, cutPlanes); setFromCellCutter(cellCutter, cellLabels, cutPlanes);
// Calculate planes and flip cellLoops if nessecary // Calculate planes and flip cellLoops if necessary
orientPlanesAndLoops(); orientPlanesAndLoops();
if (debug) if (debug)

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -29,7 +29,7 @@ Description
Does Does
- move boundary points - move boundary points
- split boundary edges (multiple per edge if nessecary) - split boundary edges (multiple per edge if necessary)
- face-centre decomposes boundary faces - face-centre decomposes boundary faces
- diagonal split of boundary faces - diagonal split of boundary faces
@ -60,7 +60,7 @@ class polyMesh;
class face; class face;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class boundaryCutter Declaration Class boundaryCutter Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
class boundaryCutter class boundaryCutter

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -28,7 +28,7 @@ Description
Cuts (splits) cells. Cuts (splits) cells.
Description of cut is given as a loop of 'cuts' per cell (see cellCuts). Description of cut is given as a loop of 'cuts' per cell (see cellCuts).
setRefinement() takes this cut description and inserts the nessecary setRefinement() takes this cut description and inserts the necessary
topoActions (add points/faces/cells) into the polyTopoChange. topoActions (add points/faces/cells) into the polyTopoChange.
Stores added cells/faces/points. Stores added cells/faces/points.
@ -129,7 +129,7 @@ class polyMesh;
class face; class face;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class meshCutter Declaration Class meshCutter Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
class meshCutter class meshCutter

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -88,7 +88,7 @@ class refineCell;
class splitCell; class splitCell;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class undoableMeshCutter Declaration Class undoableMeshCutter Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
class undoableMeshCutter class undoableMeshCutter
@ -192,7 +192,7 @@ public:
//- Remove some refinement. Needs to be supplied subset of //- Remove some refinement. Needs to be supplied subset of
// getSplitFaces() output. Returns list of faces removed // getSplitFaces() output. Returns list of faces removed
// (can be more or equal but never less than splitFaces - since // (can be more or equal but never less than splitFaces - since
// removeFaces might decide to take down unnessecary faces) // removeFaces might decide to take down unnecessary faces)
// Only call if undoable set. // Only call if undoable set.
labelList removeSplitFaces labelList removeSplitFaces
( (

View File

@ -278,7 +278,7 @@ void Foam::perfectInterface::setRefinement
{ {
affectedFaces.erase(pp1.addressing()[i]); affectedFaces.erase(pp1.addressing()[i]);
} }
// Remove patch0 from renumbered faces. Should not be nessecary since // Remove patch0 from renumbered faces. Should not be necessary since
// patch0 and 1 should not share any point (if created by mergeMeshing) // patch0 and 1 should not share any point (if created by mergeMeshing)
// so affectedFaces should not contain any patch0 faces but you can // so affectedFaces should not contain any patch0 faces but you can
// never be sure what the user is doing. // never be sure what the user is doing.
@ -373,7 +373,7 @@ void Foam::perfectInterface::setRefinement
} }
// 5. Modify patch0 faces for new points (not really nessecary; see // 5. Modify patch0 faces for new points (not really necessary; see
// comment above about patch1 and patch0 never sharing points) and // comment above about patch1 and patch0 never sharing points) and
// becoming internal. // becoming internal.
const boolList& mfFlip = const boolList& mfFlip =

View File

@ -713,7 +713,7 @@ void Foam::polyMeshAdder::mergePrimitives
} }
// Copy cut face (since cutPoints are copied first no renumbering // Copy cut face (since cutPoints are copied first no renumbering
// nessecary) // necessary)
allFaces[allFaceI] = cutFaces[i]; allFaces[allFaceI] = cutFaces[i];
allOwner[allFaceI] = mesh0.faceOwner()[mesh0FaceI]; allOwner[allFaceI] = mesh0.faceOwner()[mesh0FaceI];
allNeighbour[allFaceI] = mesh1.faceOwner()[mesh1FaceI] + mesh0.nCells(); allNeighbour[allFaceI] = mesh1.faceOwner()[mesh1FaceI] + mesh0.nCells();

View File

@ -1022,7 +1022,7 @@ Foam::label Foam::hexRef8::storeMidPointInfo
} }
// Check if this call of storeMidPointInfo is the one that completed all // Check if this call of storeMidPointInfo is the one that completed all
// the nessecary information. // the necessary information.
if (changed && haveTwoAnchors && haveTwoFaceMids) if (changed && haveTwoAnchors && haveTwoFaceMids)
{ {

View File

@ -114,7 +114,7 @@ class hexRef8
label& zoneFlip label& zoneFlip
) const; ) const;
//- Adds a face on top of existing faceI. Reverses if nessecary. //- Adds a face on top of existing faceI. Reverses if necessary.
label addFace label addFace
( (
polyTopoChange& meshMod, polyTopoChange& meshMod,
@ -136,7 +136,7 @@ class hexRef8
) const; ) const;
//- Modifies existing faceI for either new owner/neighbour or new face //- Modifies existing faceI for either new owner/neighbour or new face
// points. Reverses if nessecary. // points. Reverses if necessary.
void modFace void modFace
( (
polyTopoChange& meshMod, polyTopoChange& meshMod,

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -96,11 +96,11 @@ Foam::basicSymmetryFvPatchField<Type>::snGrad() const
{ {
tmp<vectorField> nHat = this->patch().nf(); tmp<vectorField> nHat = this->patch().nf();
const Field<Type> iF(this->patchInternalField());
return return
( (transform(I - 2.0*sqr(nHat), iF) - iF)
transform(I - 2.0*sqr(nHat), this->patchInternalField()) *(this->patch().deltaCoeffs()/2.0);
- this->patchInternalField()
)*(this->patch().deltaCoeffs()/2.0);
} }
@ -114,12 +114,11 @@ void Foam::basicSymmetryFvPatchField<Type>::evaluate(const Pstream::commsTypes)
tmp<vectorField> nHat = this->patch().nf(); tmp<vectorField> nHat = this->patch().nf();
const Field<Type> iF(this->patchInternalField());
Field<Type>::operator= Field<Type>::operator=
( (
( (iF + transform(I - 2.0*sqr(nHat), iF))/2.0
this->patchInternalField()
+ transform(I - 2.0*sqr(nHat), this->patchInternalField())
)/2.0
); );
transformFvPatchField<Type>::evaluate(); transformFvPatchField<Type>::evaluate();

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -21,23 +21,12 @@ License
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Description
snGrad scheme with limited non-orthogonal correction.
The limiter is controlled by a coefficient with a value between 0 and 1
which when 0 switches the correction off and the scheme behaves as
uncorrectedSnGrad, when set to 1 the full correction is applied and the
scheme behaves as correctedSnGrad and when set to 0.5 the limiter is
calculated such that the non-orthogonal contribution does not exceed the
orthogonal part.
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "fv.H" #include "fv.H"
#include "limitedSnGrad.H" #include "limitedSnGrad.H"
#include "volFields.H" #include "volFields.H"
#include "surfaceFields.H" #include "surfaceFields.H"
#include "correctedSnGrad.H"
#include "localMax.H" #include "localMax.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -68,7 +57,7 @@ limitedSnGrad<Type>::correction
{ {
const GeometricField<Type, fvsPatchField, surfaceMesh> corr const GeometricField<Type, fvsPatchField, surfaceMesh> corr
( (
correctedSnGrad<Type>(this->mesh()).correction(vf) correctedScheme_().correction(vf)
); );
const surfaceScalarField limiter const surfaceScalarField limiter
@ -76,7 +65,7 @@ limitedSnGrad<Type>::correction
min min
( (
limitCoeff_ limitCoeff_
*mag(snGradScheme<Type>::snGrad(vf, deltaCoeffs(vf), "orthSnGrad")) *mag(snGradScheme<Type>::snGrad(vf, deltaCoeffs(vf), "SndGrad"))
/( /(
(1 - limitCoeff_)*mag(corr) (1 - limitCoeff_)*mag(corr)
+ dimensionedScalar("small", corr.dimensions(), SMALL) + dimensionedScalar("small", corr.dimensions(), SMALL)

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -25,14 +25,20 @@ Class
Foam::fv::limitedSnGrad Foam::fv::limitedSnGrad
Description Description
Central-difference snGrad scheme with limited non-orthogonal correction. Run-time selected snGrad scheme with limited non-orthogonal correction.
The limiter is controlled by a coefficient with a value between 0 and 1 The limiter is controlled by a coefficient with a value between 0 and 1
which when 0 switches the correction off and the scheme behaves as which when 0 switches the correction off and the scheme behaves as
uncorrectedSnGrad, when set to 1 the full correction is applied and the uncorrectedSnGrad, when set to 1 the full correction of the selected scheme
scheme behaves as correctedSnGrad and when set to 0.5 the limiter is is used and when set to 0.5 the limiter is calculated such that the
calculated such that the non-orthogonal contribution does not exceed the non-orthogonal contribution does not exceed the orthogonal part.
orthogonal part.
Format:
limited <corrected scheme> <coefficient>;
or
limited <coefficient>; // Backward compatibility
SourceFiles SourceFiles
limitedSnGrad.C limitedSnGrad.C
@ -42,7 +48,7 @@ SourceFiles
#ifndef limitedSnGrad_H #ifndef limitedSnGrad_H
#define limitedSnGrad_H #define limitedSnGrad_H
#include "snGradScheme.H" #include "correctedSnGrad.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -65,6 +71,8 @@ class limitedSnGrad
{ {
// Private data // Private data
tmp<snGradScheme<Type> > correctedScheme_;
scalar limitCoeff_; scalar limitCoeff_;
@ -73,6 +81,34 @@ class limitedSnGrad
//- Disallow default bitwise assignment //- Disallow default bitwise assignment
void operator=(const limitedSnGrad&); void operator=(const limitedSnGrad&);
//- Lookup function for the corrected to support backward compatibility
// of dictionary specification
tmp<snGradScheme<Type> > lookupCorrectedScheme(Istream& schemeData)
{
token nextToken(schemeData);
if (nextToken.isNumber())
{
limitCoeff_ = nextToken.number();
return tmp<snGradScheme<Type> >
(
new correctedSnGrad<Type>(this->mesh())
);
}
else
{
schemeData.putBack(nextToken);
tmp<snGradScheme<Type> > tcorrectedScheme
(
fv::snGradScheme<Type>::New(this->mesh(), schemeData)
);
schemeData >> limitCoeff_;
return tcorrectedScheme;
}
}
public: public:
@ -85,22 +121,24 @@ public:
//- Construct from mesh //- Construct from mesh
limitedSnGrad(const fvMesh& mesh) limitedSnGrad(const fvMesh& mesh)
: :
snGradScheme<Type>(mesh) snGradScheme<Type>(mesh),
correctedScheme_(new correctedSnGrad<Type>(this->mesh())),
limitCoeff_(1)
{} {}
//- Construct from mesh and data stream //- Construct from mesh and data stream
limitedSnGrad(const fvMesh& mesh, Istream& is) limitedSnGrad(const fvMesh& mesh, Istream& schemeData)
: :
snGradScheme<Type>(mesh), snGradScheme<Type>(mesh),
limitCoeff_(readScalar(is)) correctedScheme_(lookupCorrectedScheme(schemeData))
{ {
if (limitCoeff_ < 0 || limitCoeff_ > 1) if (limitCoeff_ < 0 || limitCoeff_ > 1)
{ {
FatalIOErrorIn FatalIOErrorIn
( (
"limitedSnGrad(const fvMesh& mesh, Istream& is) : ", "limitedSnGrad(const fvMesh& mesh, Istream& schemeData) : ",
is schemeData
) << "limitCoeff is specified as " << limitCoeff_ ) << "limitCoeff is specified as " << limitCoeff_
<< " but should be >= 0 && <= 1" << " but should be >= 0 && <= 1"
<< exit(FatalIOError); << exit(FatalIOError);

View File

@ -825,7 +825,7 @@ void Foam::fvMeshSubset::setLargeCellSubset
// 3: face coupled and used by one cell only (so should become normal, // 3: face coupled and used by one cell only (so should become normal,
// non-coupled patch face) // non-coupled patch face)
// //
// Note that this is not really nessecary - but means we can size things // Note that this is not really necessary - but means we can size things
// correctly. Also makes handling coupled faces much easier. // correctly. Also makes handling coupled faces much easier.
labelList nCellsUsingFace(oldFaces.size(), 0); labelList nCellsUsingFace(oldFaces.size(), 0);

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -241,7 +241,7 @@ public:
//- Set the subset from all cells with region == currentRegion. //- Set the subset from all cells with region == currentRegion.
// Create "oldInternalFaces" patch for exposed // Create "oldInternalFaces" patch for exposed
// internal faces (patchID==-1) or use supplied patch. // internal faces (patchID==-1) or use supplied patch.
// Handles coupled patches by if nessecary making coupled patch // Handles coupled patches by if necessary making coupled patch
// face part of patchID (so uncoupled) // face part of patchID (so uncoupled)
void setLargeCellSubset void setLargeCellSubset
( (

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -233,7 +233,7 @@ tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > fvMeshSubset::interpolate
} }
// Map exposed internal faces. Note: Only nessecary if exposed faces added // Map exposed internal faces. Note: Only necessary if exposed faces added
// into existing patch but since we don't know that at this point... // into existing patch but since we don't know that at this point...
forAll(patchFields, patchI) forAll(patchFields, patchI)
{ {

View File

@ -664,10 +664,10 @@ void Foam::PairCollision<CloudType>::collide()
{ {
preInteraction(); preInteraction();
wallInteraction();
parcelInteraction(); parcelInteraction();
wallInteraction();
postInteraction(); postInteraction();
} }

View File

@ -637,7 +637,7 @@ void Foam::autoLayerDriver::setNumLayers
Info<< nl << "Handling points with inconsistent layer specification ..." Info<< nl << "Handling points with inconsistent layer specification ..."
<< endl; << endl;
// Get for every point (really only nessecary on patch external points) // Get for every point (really only necessary on patch external points)
// the max and min of any patch faces using it. // the max and min of any patch faces using it.
labelList maxLayers(patchNLayers.size(), labelMin); labelList maxLayers(patchNLayers.size(), labelMin);
labelList minLayers(patchNLayers.size(), labelMax); labelList minLayers(patchNLayers.size(), labelMax);

View File

@ -237,7 +237,7 @@ Foam::label Foam::autoRefineDriver::surfaceOnlyRefine
<< " cells (out of " << mesh.globalData().nTotalCells() << " cells (out of " << mesh.globalData().nTotalCells()
<< ')' << endl; << ')' << endl;
// Stop when no cells to refine or have done minimum nessecary // Stop when no cells to refine or have done minimum necessary
// iterations and not enough cells to refine. // iterations and not enough cells to refine.
if if
( (
@ -441,7 +441,7 @@ Foam::label Foam::autoRefineDriver::shellRefine
<< " cells (out of " << mesh.globalData().nTotalCells() << " cells (out of " << mesh.globalData().nTotalCells()
<< ')' << endl; << ')' << endl;
// Stop when no cells to refine or have done minimum nessecary // Stop when no cells to refine or have done minimum necessary
// iterations and not enough cells to refine. // iterations and not enough cells to refine.
if if
( (

View File

@ -1121,7 +1121,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::mergeBaffles
mesh_.setInstance(timeName()); mesh_.setInstance(timeName());
// Update intersections. Recalculate intersections on merged faces since // Update intersections. Recalculate intersections on merged faces since
// this seems to give problems? Note: should not be nessecary since // this seems to give problems? Note: should not be necessary since
// baffles preserve intersections from when they were created. // baffles preserve intersections from when they were created.
labelList newExposedFaces(2*couples.size()); labelList newExposedFaces(2*couples.size());
label newI = 0; label newI = 0;

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -589,7 +589,7 @@ Foam::label Foam::edgeIntersections::removeDegenerates
// If edge not already marked for retesting // If edge not already marked for retesting
if (!affectedEdges[edgeI]) if (!affectedEdges[edgeI])
{ {
// 1. Check edges close to endpoint and perturb if nessecary. // 1. Check edges close to endpoint and perturb if necessary.
bool shiftedEdgeEndPoints = bool shiftedEdgeEndPoints =
inlinePerturb inlinePerturb

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -204,7 +204,7 @@ void Foam::orientedSurface::propagateOrientation
if (side == triSurfaceTools::UNKNOWN) if (side == triSurfaceTools::UNKNOWN)
{ {
// Non-closed surface. Do what? For now behave as if no flipping // Non-closed surface. Do what? For now behave as if no flipping
// nessecary // necessary
flipState[nearestFaceI] = NOFLIP; flipState[nearestFaceI] = NOFLIP;
} }
else if ((side == triSurfaceTools::OUTSIDE) == orientOutside) else if ((side == triSurfaceTools::OUTSIDE) == orientOutside)

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -47,7 +47,7 @@ namespace Foam
class triSurfaceSearch; class triSurfaceSearch;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class orientedSurface Declaration Class orientedSurface Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
class orientedSurface class orientedSurface
@ -101,7 +101,7 @@ class orientedSurface
); );
//- Given nearest point and face check orientation to nearest face //- Given nearest point and face check orientation to nearest face
// and flip if nessecary (only marked in flipState) and propagate. // and flip if necessary (only marked in flipState) and propagate.
static void propagateOrientation static void propagateOrientation
( (
const triSurface&, const triSurface&,

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -37,7 +37,6 @@ Foam::scalar Foam::noiseFFT::p0 = 2e-5;
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from pressure field
Foam::noiseFFT::noiseFFT Foam::noiseFFT::noiseFFT
( (
const scalar deltat, const scalar deltat,
@ -49,7 +48,6 @@ Foam::noiseFFT::noiseFFT
{} {}
// Construct from pressure field file name
Foam::noiseFFT::noiseFFT(const fileName& pFileName, const label skip) Foam::noiseFFT::noiseFFT(const fileName& pFileName, const label skip)
: :
scalarField(), scalarField(),
@ -103,7 +101,7 @@ Foam::noiseFFT::noiseFFT(const fileName& pFileName, const label skip)
deltat_ = T/pData.size(); deltat_ = T/pData.size();
scalarField::operator=(pData.shrink()); this->transfer(pData);
} }

View File

@ -251,15 +251,12 @@ void reactingOneDim::solveEnergy()
tmp<volScalarField> alpha(solidThermo_.alpha()); tmp<volScalarField> alpha(solidThermo_.alpha());
const surfaceScalarField phiGas(fvc::interpolate(phiHsGas_));
fvScalarMatrix hEqn fvScalarMatrix hEqn
( (
fvm::ddt(rho_, h_) fvm::ddt(rho_, h_)
- fvm::laplacian(alpha, h_) - fvm::laplacian(alpha, h_)
== ==
chemistrySh_ chemistrySh_
+ fvc::div(phiGas)
); );
if (regionMesh().moving()) if (regionMesh().moving())
@ -334,7 +331,7 @@ reactingOneDim::reactingOneDim(const word& modelType, const fvMesh& mesh)
"phiGas", "phiGas",
time().timeName(), time().timeName(),
regionMesh(), regionMesh(),
IOobject::NO_READ, IOobject::READ_IF_PRESENT,
IOobject::AUTO_WRITE IOobject::AUTO_WRITE
), ),
regionMesh(), regionMesh(),

View File

@ -190,6 +190,88 @@ bool Foam::regionModels::regionModel::read(const dictionary& dict)
} }
const Foam::AMIPatchToPatchInterpolation&
Foam::regionModels::regionModel::interRegionAMI
(
const regionModel& nbrRegion,
const label regionPatchI,
const label nbrPatchI,
const bool flip
)
{
label nbrRegionID = findIndex(interRegionAMINames_, nbrRegion.name());
const fvMesh& nbrRegionMesh = nbrRegion.regionMesh();
if (nbrRegionID != -1)
{
if (!interRegionAMI_[nbrRegionID].set(regionPatchI))
{
const polyPatch& p = regionMesh().boundaryMesh()[regionPatchI];
const polyPatch& nbrP = nbrRegionMesh.boundaryMesh()[nbrPatchI];
int oldTag = UPstream::msgType();
UPstream::msgType() = oldTag + 1;
interRegionAMI_[nbrRegionID].set
(
regionPatchI,
new AMIPatchToPatchInterpolation
(
p,
nbrP,
faceAreaIntersect::tmMesh,
flip
)
);
UPstream::msgType() = oldTag;
}
return interRegionAMI_[nbrRegionID][regionPatchI];
}
else
{
label nbrRegionID = interRegionAMINames_.size();
interRegionAMINames_.append(nbrRegion.name());
const polyPatch& p = regionMesh().boundaryMesh()[regionPatchI];
const polyPatch& nbrP = nbrRegionMesh.boundaryMesh()[nbrPatchI];
label nPatch = regionMesh().boundaryMesh().size();
interRegionAMI_.resize(nbrRegionID + 1);
interRegionAMI_.set
(
nbrRegionID,
new PtrList<AMIPatchToPatchInterpolation>(nPatch)
);
int oldTag = UPstream::msgType();
UPstream::msgType() = oldTag + 1;
interRegionAMI_[nbrRegionID].set
(
regionPatchI,
new AMIPatchToPatchInterpolation
(
p,
nbrP,
faceAreaIntersect::tmMesh,
flip
)
);
UPstream::msgType() = oldTag;
return interRegionAMI_[nbrRegionID][regionPatchI];
}
}
Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID
( (
const regionModel& nbrRegion, const regionModel& nbrRegion,
@ -234,8 +316,7 @@ Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID
FatalErrorIn FatalErrorIn
( (
"Foam::tmp<Foam::Field<Type> > " "Foam::label Foam::regionModels::regionModel::nbrCoupledPatchID"
"Foam::regionModels::regionModel::nbrCoupledPatchID"
"(" "("
"const regionModel& , " "const regionModel& , "
"const label" "const label"
@ -275,7 +356,9 @@ Foam::regionModels::regionModel::regionModel(const fvMesh& mesh)
primaryPatchIDs_(), primaryPatchIDs_(),
intCoupledPatchIDs_(), intCoupledPatchIDs_(),
regionName_("none"), regionName_("none"),
functions_(*this) functions_(*this),
interRegionAMINames_(),
interRegionAMI_()
{} {}

View File

@ -52,7 +52,7 @@ namespace regionModels
{ {
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class regionModel Declaration Class regionModel Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
class regionModel class regionModel
@ -122,6 +122,15 @@ protected:
regionModelFunctionObjectList functions_; regionModelFunctionObjectList functions_;
// Inter-region AMI interpolation caching
//- List of region names this region is coupled to
wordList interRegionAMINames_;
//- List of AMI objects per coupled region
PtrList<PtrList<AMIPatchToPatchInterpolation> > interRegionAMI_;
// Protected member functions // Protected member functions
//- Read control parameters from dictionary //- Read control parameters from dictionary
@ -130,6 +139,14 @@ protected:
//- Read control parameters from dictionary //- Read control parameters from dictionary
virtual bool read(const dictionary& dict); virtual bool read(const dictionary& dict);
//- Create or return a new inter-region AMI object
virtual const Foam::AMIPatchToPatchInterpolation& interRegionAMI
(
const regionModel& nbrRegion,
const label regionPatchI,
const label nbrPatchI,
const bool flip
);
public: public:
@ -162,7 +179,6 @@ public:
); );
//- Destructor //- Destructor
virtual ~regionModel(); virtual ~regionModel();
@ -236,28 +252,28 @@ public:
const label nbrPatchI, const label nbrPatchI,
const Field<Type>& nbrField, const Field<Type>& nbrField,
const bool flip = false const bool flip = false
) const; );
//- Map patch field from another region model to local patch //- Map patch field from another region model to local patch
template<class Type> template<class Type>
tmp<Field<Type> > mapRegionPatchField tmp<Field<Type> > mapRegionPatchField
( (
const word& regionModelName, const regionModel& nbrRegion,
const word& fieldName, const word& fieldName,
const label regionPatchI, const label regionPatchI,
const bool flip = false const bool flip = false
) const; );
//- Map patch internal field from another region model to local //- Map patch internal field from another region model to local
// patch // patch
template<class Type> template<class Type>
tmp<Field<Type> > mapRegionPatchInternalField tmp<Field<Type> > mapRegionPatchInternalField
( (
const word& regionModelName, const regionModel& nbrRegion,
const word& fieldName, const word& fieldName,
const label regionPatchI, const label regionPatchI,
const bool flip = false const bool flip = false
) const; );
//- Convert a local region field to the primary region //- Convert a local region field to the primary region
template<class Type> template<class Type>

View File

@ -32,18 +32,13 @@ Foam::regionModels::regionModel::mapRegionPatchField
const label nbrPatchI, const label nbrPatchI,
const Field<Type>& nbrField, const Field<Type>& nbrField,
const bool flip const bool flip
) const )
{ {
const fvMesh& nbrRegionMesh = nbrRegion.regionMesh();
const polyPatch& p = regionMesh().boundaryMesh()[regionPatchI];
const polyPatch& nbrP = nbrRegionMesh.boundaryMesh()[nbrPatchI];
int oldTag = UPstream::msgType(); int oldTag = UPstream::msgType();
UPstream::msgType() = oldTag + 1; UPstream::msgType() = oldTag + 1;
AMIPatchToPatchInterpolation ami(p, nbrP, faceAreaIntersect::tmMesh, flip); const AMIPatchToPatchInterpolation& ami =
interRegionAMI(nbrRegion, regionPatchI, nbrPatchI, flip);
tmp<Field<Type> > tresult(ami.interpolateToSource(nbrField)); tmp<Field<Type> > tresult(ami.interpolateToSource(nbrField));
@ -57,40 +52,28 @@ template<class Type>
Foam::tmp<Foam::Field<Type> > Foam::tmp<Foam::Field<Type> >
Foam::regionModels::regionModel::mapRegionPatchField Foam::regionModels::regionModel::mapRegionPatchField
( (
const word& regionModelName, const regionModel& nbrRegion,
const word& fieldName, const word& fieldName,
const label regionPatchI, const label regionPatchI,
const bool flip const bool flip
) const )
{ {
typedef GeometricField<Type, fvPatchField, volMesh> fieldType; typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
const regionModel& nbrRegion =
this->primaryMesh_.lookupObject<regionModel>(regionModelName);
const fvMesh& nbrRegionMesh = nbrRegion.regionMesh(); const fvMesh& nbrRegionMesh = nbrRegion.regionMesh();
const polyPatch& p = regionMesh().boundaryMesh()[regionPatchI];
if (nbrRegionMesh.foundObject<fieldType>(fieldName)) if (nbrRegionMesh.foundObject<fieldType>(fieldName))
{ {
const fieldType& nbrField =
nbrRegionMesh.lookupObject<fieldType>(fieldName);
const label nbrPatchI = nbrCoupledPatchID(nbrRegion, regionPatchI); const label nbrPatchI = nbrCoupledPatchID(nbrRegion, regionPatchI);
const polyPatch& nbrP = nbrRegionMesh.boundaryMesh()[nbrPatchI];
int oldTag = UPstream::msgType(); int oldTag = UPstream::msgType();
UPstream::msgType() = oldTag + 1; UPstream::msgType() = oldTag + 1;
AMIPatchToPatchInterpolation ami const AMIPatchToPatchInterpolation& ami =
( interRegionAMI(nbrRegion, regionPatchI, nbrPatchI, flip);
p,
nbrP, const fieldType& nbrField =
faceAreaIntersect::tmMesh, nbrRegionMesh.lookupObject<fieldType>(fieldName);
flip
);
const Field<Type>& nbrFieldp = nbrField.boundaryField()[nbrPatchI]; const Field<Type>& nbrFieldp = nbrField.boundaryField()[nbrPatchI];
@ -102,6 +85,8 @@ Foam::regionModels::regionModel::mapRegionPatchField
} }
else else
{ {
const polyPatch& p = regionMesh().boundaryMesh()[regionPatchI];
return return
tmp<Field<Type> > tmp<Field<Type> >
( (
@ -119,40 +104,28 @@ template<class Type>
Foam::tmp<Foam::Field<Type> > Foam::tmp<Foam::Field<Type> >
Foam::regionModels::regionModel::mapRegionPatchInternalField Foam::regionModels::regionModel::mapRegionPatchInternalField
( (
const word& regionModelName, const regionModel& nbrRegion,
const word& fieldName, const word& fieldName,
const label regionPatchI, const label regionPatchI,
const bool flip const bool flip
) const )
{ {
typedef GeometricField<Type, fvPatchField, volMesh> fieldType; typedef GeometricField<Type, fvPatchField, volMesh> fieldType;
const regionModel& nbrRegion =
this->primaryMesh_.lookupObject<regionModel>(regionModelName);
const fvMesh& nbrRegionMesh = nbrRegion.regionMesh(); const fvMesh& nbrRegionMesh = nbrRegion.regionMesh();
const polyPatch& p = regionMesh().boundaryMesh()[regionPatchI];
if (nbrRegionMesh.foundObject<fieldType>(fieldName)) if (nbrRegionMesh.foundObject<fieldType>(fieldName))
{ {
const fieldType& nbrField =
nbrRegionMesh.lookupObject<fieldType>(fieldName);
const label nbrPatchI = nbrCoupledPatchID(nbrRegion, regionPatchI); const label nbrPatchI = nbrCoupledPatchID(nbrRegion, regionPatchI);
const polyPatch& nbrP = nbrRegionMesh.boundaryMesh()[nbrPatchI];
int oldTag = UPstream::msgType(); int oldTag = UPstream::msgType();
UPstream::msgType() = oldTag + 1; UPstream::msgType() = oldTag + 1;
AMIPatchToPatchInterpolation ami const AMIPatchToPatchInterpolation& ami =
( interRegionAMI(nbrRegion, regionPatchI, nbrPatchI, flip);
p,
nbrP, const fieldType& nbrField =
faceAreaIntersect::tmMesh, nbrRegionMesh.lookupObject<fieldType>(fieldName);
flip
);
const fvPatchField<Type>& nbrFieldp = const fvPatchField<Type>& nbrFieldp =
nbrField.boundaryField()[nbrPatchI]; nbrField.boundaryField()[nbrPatchI];
@ -168,6 +141,8 @@ Foam::regionModels::regionModel::mapRegionPatchInternalField
} }
else else
{ {
const polyPatch& p = regionMesh().boundaryMesh()[regionPatchI];
return return
tmp<Field<Type> > tmp<Field<Type> >
( (

View File

@ -308,7 +308,8 @@ tmp<Foam::fvVectorMatrix> kinematicSingleLayer::solveMomentum
+ fvm::div(phi_, U_) + fvm::div(phi_, U_)
== ==
- USp_ - USp_
- fvm::SuSp(rhoSp_, U_) // - fvm::SuSp(rhoSp_, U_)
- rhoSp_*U_
+ forces_.correct(U_) + forces_.correct(U_)
); );

View File

@ -82,6 +82,7 @@ constantRadiation::constantRadiation
owner.regionMesh(), owner.regionMesh(),
dimensionedScalar("one", dimless, 1.0) dimensionedScalar("one", dimless, 1.0)
), ),
absorptivity_(readScalar(coeffs_.lookup("absorptivity"))),
timeStart_(readScalar(coeffs_.lookup("timeStart"))), timeStart_(readScalar(coeffs_.lookup("timeStart"))),
duration_(readScalar(coeffs_.lookup("duration"))) duration_(readScalar(coeffs_.lookup("duration")))
{ {
@ -129,7 +130,7 @@ tmp<volScalarField> constantRadiation::Shs()
const scalarField& Qr = QrConst_.internalField(); const scalarField& Qr = QrConst_.internalField();
const scalarField& alpha = owner_.alpha().internalField(); const scalarField& alpha = owner_.alpha().internalField();
Shs = mask_*Qr*alpha; Shs = mask_*Qr*alpha*absorptivity_;
} }
return tShs; return tShs;

View File

@ -68,6 +68,9 @@ private:
//- Radiation mask //- Radiation mask
volScalarField mask_; volScalarField mask_;
//- Absorptivity
scalar absorptivity_;
//- Time start [s] //- Time start [s]
const scalar timeStart_; const scalar timeStart_;

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -451,7 +451,7 @@ Foam::meshTriangulation::meshTriangulation
} }
} }
// Shrink if nessecary (because of invalid triangulations) // Shrink if necessary (because of invalid triangulations)
triangles.setSize(triI); triangles.setSize(triI);
faceMap_.setSize(triI); faceMap_.setSize(triI);

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 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -45,7 +45,7 @@ namespace Foam
{ {
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class smoothDelta Declaration Class smoothDelta Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
class smoothDelta class smoothDelta
@ -62,7 +62,7 @@ public:
// Private Member Functions // Private Member Functions
//- Update. Gets information from neighbouring face/cell and //- Update. Gets information from neighbouring face/cell and
// uses this to update itself (if nessecary) and return true. // uses this to update itself (if necessary) and return true.
template<class TrackingData> template<class TrackingData>
inline bool update inline bool update
( (

View File

@ -99,66 +99,58 @@ Foam::tmp<Foam::scalarField> Foam::temperatureCoupledBase::kappa
); );
return model.kappaEff(patch_.index()); return model.kappaEff(patch_.index());
break;
} }
break;
case SOLIDTHERMO: case SOLIDTHERMO:
{ {
const solidThermo& thermo = const solidThermo& thermo =
mesh.lookupObject<solidThermo> mesh.lookupObject<solidThermo>("thermophysicalProperties");
(
"thermophysicalProperties"
);
return thermo.kappa(patch_.index()); return thermo.kappa(patch_.index());
break;
} }
break;
case DIRECTIONALSOLIDTHERMO: case DIRECTIONALSOLIDTHERMO:
{ {
const solidThermo& thermo = const solidThermo& thermo =
mesh.lookupObject<solidThermo> mesh.lookupObject<solidThermo>("thermophysicalProperties");
(
"thermophysicalProperties" const vectorField kappa(thermo.Kappa(patch_.index()));
);
tmp<scalarField> tmeanKappa(Tp); tmp<scalarField> tmeanKappa(Tp);
scalarField& meanKappa = tmeanKappa(); scalarField& meanKappa = tmeanKappa();
forAll(meanKappa, i) forAll(meanKappa, i)
{ {
meanKappa[i] = meanKappa[i] = (kappa[i].x() + kappa[i].y() + kappa[i].z())/3.0;
(
thermo.Kappa(patch_.index())()[i].x()
+ thermo.Kappa(patch_.index())()[i].y()
+ thermo.Kappa(patch_.index())()[i].z()
)/3.0;
} }
return meanKappa; return meanKappa;
break;
} }
break;
case LOOKUP: case LOOKUP:
{ {
if (mesh.objectRegistry::foundObject<volScalarField>(kappaName_)) if (mesh.objectRegistry::foundObject<volScalarField>(kappaName_))
{ {
return patch_.lookupPatchField return patch_.lookupPatchField<volScalarField, scalar>
< (
volScalarField, scalar kappaName_
>(kappaName_); );
} }
else if else if
( (
mesh.objectRegistry::foundObject mesh.objectRegistry::foundObject<volSymmTensorField>
< (
volSymmTensorField kappaName_
>(kappaName_) )
) )
{ {
const symmTensorField& KWall = const symmTensorField& KWall =
patch_.lookupPatchField patch_.lookupPatchField<volSymmTensorField, scalar>
< (
volSymmTensorField, scalar kappaName_
>(kappaName_); );
const vectorField n(patch_.nf()); const vectorField n(patch_.nf());
@ -166,7 +158,10 @@ Foam::tmp<Foam::scalarField> Foam::temperatureCoupledBase::kappa
} }
else else
{ {
FatalErrorIn("temperatureCoupledBase::K() const") FatalErrorIn
(
"temperatureCoupledBase::kappa(const scalarField&) const"
)
<< "Did not find field " << kappaName_ << "Did not find field " << kappaName_
<< " on mesh " << mesh.name() << " patch " << patch_.name() << " on mesh " << mesh.name() << " patch " << patch_.name()
<< endl << endl
@ -178,12 +173,16 @@ Foam::tmp<Foam::scalarField> Foam::temperatureCoupledBase::kappa
return scalarField(0); return scalarField(0);
} }
break;
} }
default: default:
{ {
FatalErrorIn("temperatureCoupledBase::kappa() const") FatalErrorIn
<< "Unimplemented method " << method_ << endl (
"temperatureCoupledBase::kappa(const scalarField&) const"
)
<< "Unimplemented method " << method_ << nl
<< "Please set 'kappa' to one of " << KMethodTypeNames_.toc() << "Please set 'kappa' to one of " << KMethodTypeNames_.toc()
<< " and 'kappaName' to the name of the volScalar" << " and 'kappaName' to the name of the volScalar"
<< " or volSymmTensor field (if kappa=lookup)" << " or volSymmTensor field (if kappa=lookup)"

View File

@ -36,9 +36,6 @@ namespace Foam
namespace compressible namespace compressible
{ {
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
turbulentTemperatureCoupledBaffleMixedFvPatchScalarField:: turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::

View File

@ -57,14 +57,14 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default none; default none;
laplacian(muEff,U) Gauss linear limited 0.333; laplacian(muEff,U) Gauss linear limited corrected 0.333;
laplacian(DkEff,k) Gauss linear limited 0.333; laplacian(DkEff,k) Gauss linear limited corrected 0.333;
laplacian(DepsilonEff,epsilon) Gauss linear limited 0.333; laplacian(DepsilonEff,epsilon) Gauss linear limited corrected 0.333;
laplacian((rho*inv((((1)*A(U))+tDragDcu))),p) Gauss linear limited 0.333; laplacian((rho*inv((((1)*A(U))+tDragDcu))),p) Gauss linear limited corrected 0.333;
laplacian(Db,b) Gauss linear limited 0.333; laplacian(Db,b) Gauss linear limited corrected 0.333;
laplacian(Db,ft) Gauss linear limited 0.333; laplacian(Db,ft) Gauss linear limited corrected 0.333;
laplacian(Db,ha) Gauss linear limited 0.333; laplacian(Db,ha) Gauss linear limited corrected 0.333;
laplacian(Db,hau) Gauss linear limited 0.333; laplacian(Db,hau) Gauss linear limited corrected 0.333;
} }
interpolationSchemes interpolationSchemes
@ -74,7 +74,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.333; default limited corrected 0.333;
} }
fluxRequired fluxRequired

View File

@ -58,7 +58,7 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default Gauss linear limited 0.5; default Gauss linear limited corrected 0.5;
} }
interpolationSchemes interpolationSchemes
@ -68,7 +68,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.5; default limited corrected 0.5;
} }
fluxRequired fluxRequired

View File

@ -40,7 +40,7 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default Gauss linear limited 0.5; default Gauss linear limited corrected 0.5;
} }
interpolationSchemes interpolationSchemes

View File

@ -40,12 +40,12 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default none; default none;
laplacian(nuEff,U) Gauss linear limited 0.333; laplacian(nuEff,U) Gauss linear limited corrected 0.333;
laplacian(Dp,p_rgh) Gauss linear limited 0.333; laplacian(Dp,p_rgh) Gauss linear limited corrected 0.333;
laplacian(kappaEff,T) Gauss linear limited 0.333; laplacian(kappaEff,T) Gauss linear limited corrected 0.333;
laplacian(DkEff,k) Gauss linear limited 0.333; laplacian(DkEff,k) Gauss linear limited corrected 0.333;
laplacian(DepsilonEff,epsilon) Gauss linear limited 0.333; laplacian(DepsilonEff,epsilon) Gauss linear limited corrected 0.333;
laplacian(DREff,R) Gauss linear limited 0.333; laplacian(DREff,R) Gauss linear limited corrected 0.333;
} }
interpolationSchemes interpolationSchemes
@ -55,7 +55,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.333; default limited corrected 0.333;
} }
fluxRequired fluxRequired

View File

@ -40,12 +40,12 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default none; default none;
laplacian(muEff,U) Gauss linear limited 0.333; laplacian(muEff,U) Gauss linear limited corrected 0.333;
laplacian(Dp,p_rgh) Gauss linear limited 0.333; laplacian(Dp,p_rgh) Gauss linear limited corrected 0.333;
laplacian(alphaEff,h) Gauss linear limited 0.333; laplacian(alphaEff,h) Gauss linear limited corrected 0.333;
laplacian(DkEff,k) Gauss linear limited 0.333; laplacian(DkEff,k) Gauss linear limited corrected 0.333;
laplacian(DepsilonEff,epsilon) Gauss linear limited 0.333; laplacian(DepsilonEff,epsilon) Gauss linear limited corrected 0.333;
laplacian(DREff,R) Gauss linear limited 0.333; laplacian(DREff,R) Gauss linear limited corrected 0.333;
} }
interpolationSchemes interpolationSchemes
@ -55,7 +55,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.333; default limited corrected 0.333;
} }
fluxRequired fluxRequired

View File

@ -32,7 +32,7 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default none; default none;
laplacian(alpha,h) Gauss linear limited 0.333; laplacian(alpha,h) Gauss linear limited corrected 0.333;
} }
interpolationSchemes interpolationSchemes
@ -42,7 +42,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.333; default limited corrected 0.333;
} }
fluxRequired fluxRequired

View File

@ -32,7 +32,7 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default none; default none;
laplacian(alpha,h) Gauss linear limited 0.333; laplacian(alpha,h) Gauss linear limited corrected 0.333;
} }
interpolationSchemes interpolationSchemes
@ -42,7 +42,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.333; default limited corrected 0.333;
} }
fluxRequired fluxRequired

View File

@ -32,7 +32,7 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default none; default none;
laplacian(alpha,h) Gauss linear limited 0.333; laplacian(alpha,h) Gauss linear limited corrected 0.333;
} }
interpolationSchemes interpolationSchemes
@ -42,7 +42,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.333; default limited corrected 0.333;
} }
fluxRequired fluxRequired

View File

@ -40,12 +40,12 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default none; default none;
laplacian(muEff,U) Gauss linear limited 0.333; laplacian(muEff,U) Gauss linear limited corrected 0.333;
laplacian(Dp,p_rgh) Gauss linear limited 0.333; laplacian(Dp,p_rgh) Gauss linear limited corrected 0.333;
laplacian(alphaEff,h) Gauss linear limited 0.333; laplacian(alphaEff,h) Gauss linear limited corrected 0.333;
laplacian(DkEff,k) Gauss linear limited 0.333; laplacian(DkEff,k) Gauss linear limited corrected 0.333;
laplacian(DepsilonEff,epsilon) Gauss linear limited 0.333; laplacian(DepsilonEff,epsilon) Gauss linear limited corrected 0.333;
laplacian(DREff,R) Gauss linear limited 0.333; laplacian(DREff,R) Gauss linear limited corrected 0.333;
} }
interpolationSchemes interpolationSchemes
@ -55,7 +55,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.333; default limited corrected 0.333;
} }
fluxRequired fluxRequired

View File

@ -40,12 +40,12 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default none; default none;
laplacian(muEff,U) Gauss linear limited 0.333; laplacian(muEff,U) Gauss linear limited corrected 0.333;
laplacian(Dp,p_rgh) Gauss linear limited 0.333; laplacian(Dp,p_rgh) Gauss linear limited corrected 0.333;
laplacian(alphaEff,h) Gauss linear limited 0.333; laplacian(alphaEff,h) Gauss linear limited corrected 0.333;
laplacian(DkEff,k) Gauss linear limited 0.333; laplacian(DkEff,k) Gauss linear limited corrected 0.333;
laplacian(DepsilonEff,epsilon) Gauss linear limited 0.333; laplacian(DepsilonEff,epsilon) Gauss linear limited corrected 0.333;
laplacian(DREff,R) Gauss linear limited 0.333; laplacian(DREff,R) Gauss linear limited corrected 0.333;
} }
interpolationSchemes interpolationSchemes
@ -55,7 +55,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.333; default limited corrected 0.333;
} }
fluxRequired fluxRequired

View File

@ -32,7 +32,7 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default none; default none;
laplacian(alpha,h) Gauss linear limited 0.333; laplacian(alpha,h) Gauss linear limited corrected 0.333;
} }
interpolationSchemes interpolationSchemes
@ -42,7 +42,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.333; default limited corrected 0.333;
} }
fluxRequired fluxRequired

View File

@ -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;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
}
laplacianSchemes
{
default none;
laplacian(alpha,h) Gauss linear limited corrected 0.333;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default limited corrected 0.333;
}
fluxRequired
{
default no;
}
// ************************************************************************* //

View File

@ -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;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
}
laplacianSchemes
{
default none;
laplacian(alpha,h) Gauss linear limited corrected 0.333;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default limited corrected 0.333;
}
fluxRequired
{
default no;
}
// ************************************************************************* //

View File

@ -40,12 +40,12 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default none; default none;
laplacian(muEff,U) Gauss linear limited 0.333; laplacian(muEff,U) Gauss linear limited corrected 0.333;
laplacian(Dp,p_rgh) Gauss linear limited 0.333; laplacian(Dp,p_rgh) Gauss linear limited corrected 0.333;
laplacian(alphaEff,h) Gauss linear limited 0.333; laplacian(alphaEff,h) Gauss linear limited corrected 0.333;
laplacian(DkEff,k) Gauss linear limited 0.333; laplacian(DkEff,k) Gauss linear limited corrected 0.333;
laplacian(DepsilonEff,epsilon) Gauss linear limited 0.333; laplacian(DepsilonEff,epsilon) Gauss linear limited corrected 0.333;
laplacian(DREff,R) Gauss linear limited 0.333; laplacian(DREff,R) Gauss linear limited corrected 0.333;
} }
interpolationSchemes interpolationSchemes
@ -55,7 +55,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.333; default limited corrected 0.333;
} }
fluxRequired fluxRequired

View File

@ -40,12 +40,12 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default none; default none;
laplacian(muEff,U) Gauss linear limited 0.333; laplacian(muEff,U) Gauss linear limited corrected 0.333;
laplacian(Dp,p_rgh) Gauss linear limited 0.333; laplacian(Dp,p_rgh) Gauss linear limited corrected 0.333;
laplacian(alphaEff,h) Gauss linear limited 0.333; laplacian(alphaEff,h) Gauss linear limited corrected 0.333;
laplacian(DkEff,k) Gauss linear limited 0.333; laplacian(DkEff,k) Gauss linear limited corrected 0.333;
laplacian(DepsilonEff,epsilon) Gauss linear limited 0.333; laplacian(DepsilonEff,epsilon) Gauss linear limited corrected 0.333;
laplacian(DREff,R) Gauss linear limited 0.333; laplacian(DREff,R) Gauss linear limited corrected 0.333;
} }
interpolationSchemes interpolationSchemes
@ -55,7 +55,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.333; default limited corrected 0.333;
} }
fluxRequired fluxRequired

View File

@ -32,7 +32,7 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default none; default none;
laplacian(alpha,h) Gauss linear limited 0.333; laplacian(alpha,h) Gauss linear limited corrected 0.333;
} }
interpolationSchemes interpolationSchemes
@ -42,7 +42,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.333; default limited corrected 0.333;
} }
fluxRequired fluxRequired

View File

@ -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;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
}
laplacianSchemes
{
default none;
laplacian(alpha,h) Gauss linear limited corrected 0.333;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default limited corrected 0.333;
}
fluxRequired
{
default no;
}
// ************************************************************************* //

View File

@ -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;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default none;
}
laplacianSchemes
{
default none;
laplacian(alpha,h) Gauss linear limited corrected 0.333;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default limited corrected 0.333;
}
fluxRequired
{
default no;
}
// ************************************************************************* //

View File

@ -40,12 +40,12 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default none; default none;
laplacian(muEff,U) Gauss linear limited 0.333; laplacian(muEff,U) Gauss linear limited corrected 0.333;
laplacian(Dp,p_rgh) Gauss linear limited 0.333; laplacian(Dp,p_rgh) Gauss linear limited corrected 0.333;
laplacian(alphaEff,h) Gauss linear limited 0.333; laplacian(alphaEff,h) Gauss linear limited corrected 0.333;
laplacian(DkEff,k) Gauss linear limited 0.333; laplacian(DkEff,k) Gauss linear limited corrected 0.333;
laplacian(DepsilonEff,epsilon) Gauss linear limited 0.333; laplacian(DepsilonEff,epsilon) Gauss linear limited corrected 0.333;
laplacian(DREff,R) Gauss linear limited 0.333; laplacian(DREff,R) Gauss linear limited corrected 0.333;
} }
interpolationSchemes interpolationSchemes
@ -55,7 +55,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.333; default limited corrected 0.333;
} }
fluxRequired fluxRequired

View File

@ -39,7 +39,7 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default Gauss linear limited 0.33; default Gauss linear limited corrected 0.33;
} }
interpolationSchemes interpolationSchemes
@ -49,7 +49,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.33; default limited corrected 0.33;
} }
fluxRequired fluxRequired

View File

@ -37,7 +37,7 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default Gauss linear limited 0.5; default Gauss linear limited corrected 0.5;
} }
interpolationSchemes interpolationSchemes

View File

@ -42,12 +42,12 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default none; default none;
laplacian(muEff,U) Gauss linear limited 0.5; laplacian(muEff,U) Gauss linear limited corrected 0.5;
laplacian(DkEff,k) Gauss linear limited 0.5; laplacian(DkEff,k) Gauss linear limited corrected 0.5;
laplacian(DREff,R) Gauss linear limited 0.5; laplacian(DREff,R) Gauss linear limited corrected 0.5;
laplacian(DepsilonEff,epsilon) Gauss linear limited 0.5; laplacian(DepsilonEff,epsilon) Gauss linear limited corrected 0.5;
laplacian((rho*(1|A(U))),p) Gauss linear limited 0.5; laplacian((rho*(1|A(U))),p) Gauss linear limited corrected 0.5;
laplacian(alphaEff,e) Gauss linear limited 0.5; laplacian(alphaEff,e) Gauss linear limited corrected 0.5;
} }
interpolationSchemes interpolationSchemes

View File

@ -45,7 +45,7 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default Gauss linear limited 0.33; default Gauss linear limited corrected 0.33;
} }
interpolationSchemes interpolationSchemes
@ -55,7 +55,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.33; default limited corrected 0.33;
} }
fluxRequired fluxRequired

View File

@ -1,20 +0,0 @@
/*--------------------------------*- 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 freeSurfaceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
freeSurfacePatch freeSurface;
// ************************************************************************* //

View File

@ -35,7 +35,7 @@ divSchemes
laplacianSchemes laplacianSchemes
{ {
default Gauss linear limited 0.333; default Gauss linear limited corrected 0.333;
} }
interpolationSchemes interpolationSchemes
@ -45,7 +45,7 @@ interpolationSchemes
snGradSchemes snGradSchemes
{ {
default limited 0.333; default limited corrected 0.333;
} }
fluxRequired fluxRequired

View File

@ -21,5 +21,4 @@ turbulence on;
printCoeffs on; printCoeffs on;
// ************************************************************************* // // ************************************************************************* //

View File

@ -42,15 +42,15 @@ gradSchemes
laplacianSchemes laplacianSchemes
{ {
default Gauss linear limited 0.5; default Gauss linear limited corrected 0.5;
} }
snGradSchemes snGradSchemes
{ {
default none; default none;
snGrad(pd) limited 0.5; snGrad(pd) limited corrected 0.5;
snGrad(rho) limited 0.5; snGrad(rho) limited corrected 0.5;
snGrad(alpha1) limited 0.5; snGrad(alpha1) limited corrected 0.5;
} }
fluxRequired fluxRequired