mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -45,7 +45,7 @@
|
|||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
Info<< "Reading diffusivity D\n" << endl;
|
Info<< "Reading diffusivity DT\n" << endl;
|
||||||
|
|
||||||
dimensionedScalar DT
|
dimensionedScalar DT
|
||||||
(
|
(
|
||||||
|
|||||||
@ -46,5 +46,6 @@ EXE_LIBS = \
|
|||||||
-lradiationModels \
|
-lradiationModels \
|
||||||
-lsurfaceFilmModels \
|
-lsurfaceFilmModels \
|
||||||
-lpyrolysisModels \
|
-lpyrolysisModels \
|
||||||
|
-lregionCoupling \
|
||||||
-llagrangianIntermediate \
|
-llagrangianIntermediate \
|
||||||
-lODE
|
-lODE
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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.
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
(
|
(
|
||||||
|
|||||||
@ -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 =
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -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,
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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
|
||||||
(
|
(
|
||||||
|
|||||||
@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -664,10 +664,10 @@ void Foam::PairCollision<CloudType>::collide()
|
|||||||
{
|
{
|
||||||
preInteraction();
|
preInteraction();
|
||||||
|
|
||||||
wallInteraction();
|
|
||||||
|
|
||||||
parcelInteraction();
|
parcelInteraction();
|
||||||
|
|
||||||
|
wallInteraction();
|
||||||
|
|
||||||
postInteraction();
|
postInteraction();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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
|
||||||
(
|
(
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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&,
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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(),
|
||||||
|
|||||||
@ -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_()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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> >
|
||||||
(
|
(
|
||||||
|
|||||||
@ -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_)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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_;
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
(
|
(
|
||||||
|
|||||||
@ -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)"
|
||||||
|
|||||||
@ -36,9 +36,6 @@ namespace Foam
|
|||||||
namespace compressible
|
namespace compressible
|
||||||
{
|
{
|
||||||
|
|
||||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::
|
turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -40,7 +40,7 @@ divSchemes
|
|||||||
|
|
||||||
laplacianSchemes
|
laplacianSchemes
|
||||||
{
|
{
|
||||||
default Gauss linear limited 0.5;
|
default Gauss linear limited corrected 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
interpolationSchemes
|
interpolationSchemes
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
../heater/fvSchemes
|
|
||||||
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -1 +0,0 @@
|
|||||||
../heater/fvSchemes
|
|
||||||
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
../heater/fvSchemes
|
|
||||||
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -1 +0,0 @@
|
|||||||
../heater/fvSchemes
|
|
||||||
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -37,7 +37,7 @@ divSchemes
|
|||||||
|
|
||||||
laplacianSchemes
|
laplacianSchemes
|
||||||
{
|
{
|
||||||
default Gauss linear limited 0.5;
|
default Gauss linear limited corrected 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
interpolationSchemes
|
interpolationSchemes
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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;
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -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
|
||||||
|
|||||||
@ -21,5 +21,4 @@ turbulence on;
|
|||||||
|
|
||||||
printCoeffs on;
|
printCoeffs on;
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user