GIT: Initial state after latest Foundation merge

This commit is contained in:
Andrew Heather
2016-09-20 14:49:08 +01:00
4571 changed files with 115696 additions and 74609 deletions

View File

@ -2,7 +2,6 @@
cd ${0%/*} || exit 1 # Run from this directory
# Parse arguments for library compilation
targetType=libso
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
set -x

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -43,25 +43,25 @@ Foam::fvFieldReconstructor::fvFieldReconstructor
boundaryProcAddressing_(boundaryProcAddressing),
nReconstructed_(0)
{
forAll(procMeshes_, procI)
forAll(procMeshes_, proci)
{
const fvMesh& procMesh = procMeshes_[procI];
const fvMesh& procMesh = procMeshes_[proci];
if
(
faceProcAddressing[procI].size() != procMesh.nFaces()
|| cellProcAddressing[procI].size() != procMesh.nCells()
|| boundaryProcAddressing[procI].size() != procMesh.boundary().size()
faceProcAddressing[proci].size() != procMesh.nFaces()
|| cellProcAddressing[proci].size() != procMesh.nCells()
|| boundaryProcAddressing[proci].size() != procMesh.boundary().size()
)
{
FatalErrorInFunction
<< "Size of maps does not correspond to size of mesh"
<< " for processor " << procI << endl
<< "faceProcAddressing : " << faceProcAddressing[procI].size()
<< " for processor " << proci << endl
<< "faceProcAddressing : " << faceProcAddressing[proci].size()
<< " nFaces : " << procMesh.nFaces() << endl
<< "cellProcAddressing : " << cellProcAddressing[procI].size()
<< "cellProcAddressing : " << cellProcAddressing[proci].size()
<< " nCell : " << procMesh.nCells() << endl
<< "boundaryProcAddressing : "
<< boundaryProcAddressing[procI].size()
<< boundaryProcAddressing[proci].size()
<< " nFaces : " << procMesh.boundary().size()
<< exit(FatalError);
}

View File

@ -44,15 +44,15 @@ Foam::fvFieldReconstructor::reconstructFvVolumeInternalField
// Create the internalField
Field<Type> internalField(mesh_.nCells());
forAll(procMeshes_, procI)
forAll(procMeshes_, proci)
{
const DimensionedField<Type, volMesh>& procField = procFields[procI];
const DimensionedField<Type, volMesh>& procField = procFields[proci];
// Set the cell values in the reconstructed field
internalField.rmap
(
procField.field(),
cellProcAddressing_[procI]
cellProcAddressing_[proci]
);
}
@ -82,22 +82,22 @@ Foam::fvFieldReconstructor::reconstructFvVolumeInternalField
procMeshes_.size()
);
forAll(procMeshes_, procI)
forAll(procMeshes_, proci)
{
procFields.set
(
procI,
proci,
new DimensionedField<Type, volMesh>
(
IOobject
(
fieldIoObject.name(),
procMeshes_[procI].time().timeName(),
procMeshes_[procI],
procMeshes_[proci].time().timeName(),
procMeshes_[proci],
IOobject::MUST_READ,
IOobject::NO_WRITE
),
procMeshes_[procI]
procMeshes_[proci]
)
);
}
@ -132,29 +132,29 @@ Foam::fvFieldReconstructor::reconstructFvVolumeField
// Create the patch fields
PtrList<fvPatchField<Type>> patchFields(mesh_.boundary().size());
forAll(procFields, procI)
forAll(procFields, proci)
{
const GeometricField<Type, fvPatchField, volMesh>& procField =
procFields[procI];
procFields[proci];
// Set the cell values in the reconstructed field
internalField.rmap
(
procField.internalField(),
cellProcAddressing_[procI]
procField.primitiveField(),
cellProcAddressing_[proci]
);
// Set the boundary patch values in the reconstructed field
forAll(boundaryProcAddressing_[procI], patchI)
forAll(boundaryProcAddressing_[proci], patchi)
{
// Get patch index of the original patch
const label curBPatch = boundaryProcAddressing_[procI][patchI];
const label curBPatch = boundaryProcAddressing_[proci][patchi];
// Get addressing slice for this patch
const labelList::subList cp =
procField.mesh().boundary()[patchI].patchSlice
procField.mesh().boundary()[patchi].patchSlice
(
faceProcAddressing_[procI]
faceProcAddressing_[proci]
);
// check if the boundary patch is not a processor patch
@ -169,7 +169,7 @@ Foam::fvFieldReconstructor::reconstructFvVolumeField
curBPatch,
fvPatchField<Type>::New
(
procField.boundaryField()[patchI],
procField.boundaryField()[patchi],
mesh_.boundary()[curBPatch],
DimensionedField<Type, volMesh>::null(),
fvPatchFieldReconstructor
@ -185,45 +185,45 @@ Foam::fvFieldReconstructor::reconstructFvVolumeField
labelList reverseAddressing(cp.size());
forAll(cp, faceI)
forAll(cp, facei)
{
// Check
if (cp[faceI] <= 0)
if (cp[facei] <= 0)
{
FatalErrorInFunction
<< "Processor " << procI
<< "Processor " << proci
<< " patch "
<< procField.mesh().boundary()[patchI].name()
<< " face " << faceI
<< procField.mesh().boundary()[patchi].name()
<< " face " << facei
<< " originates from reversed face since "
<< cp[faceI]
<< cp[facei]
<< exit(FatalError);
}
// Subtract one to take into account offsets for
// face direction.
reverseAddressing[faceI] = cp[faceI] - 1 - curPatchStart;
reverseAddressing[facei] = cp[facei] - 1 - curPatchStart;
}
patchFields[curBPatch].rmap
(
procField.boundaryField()[patchI],
procField.boundaryField()[patchi],
reverseAddressing
);
}
else
{
const Field<Type>& curProcPatch =
procField.boundaryField()[patchI];
procField.boundaryField()[patchi];
// In processor patches, there's a mix of internal faces (some
// of them turned) and possible cyclics. Slow loop
forAll(cp, faceI)
forAll(cp, facei)
{
// Subtract one to take into account offsets for
// face direction.
label curF = cp[faceI] - 1;
label curF = cp[facei] - 1;
// Is the face on the boundary?
if (curF >= mesh_.nInternalFaces())
@ -250,29 +250,29 @@ Foam::fvFieldReconstructor::reconstructFvVolumeField
[curBPatch].whichFace(curF);
patchFields[curBPatch][curPatchFace] =
curProcPatch[faceI];
curProcPatch[facei];
}
}
}
}
}
forAll(mesh_.boundary(), patchI)
forAll(mesh_.boundary(), patchi)
{
// add empty patches
if
(
isType<emptyFvPatch>(mesh_.boundary()[patchI])
&& !patchFields(patchI)
isType<emptyFvPatch>(mesh_.boundary()[patchi])
&& !patchFields(patchi)
)
{
patchFields.set
(
patchI,
patchi,
fvPatchField<Type>::New
(
emptyFvPatchField<Type>::typeName,
mesh_.boundary()[patchI],
mesh_.boundary()[patchi],
DimensionedField<Type, volMesh>::null()
)
);
@ -309,22 +309,22 @@ Foam::fvFieldReconstructor::reconstructFvVolumeField
procMeshes_.size()
);
forAll(procMeshes_, procI)
forAll(procMeshes_, proci)
{
procFields.set
(
procI,
proci,
new GeometricField<Type, fvPatchField, volMesh>
(
IOobject
(
fieldIoObject.name(),
procMeshes_[procI].time().timeName(),
procMeshes_[procI],
procMeshes_[proci].time().timeName(),
procMeshes_[proci],
IOobject::MUST_READ,
IOobject::NO_WRITE
),
procMeshes_[procI]
procMeshes_[proci]
)
);
}
@ -359,10 +359,10 @@ Foam::fvFieldReconstructor::reconstructFvSurfaceField
PtrList<fvsPatchField<Type>> patchFields(mesh_.boundary().size());
forAll(procMeshes_, procI)
forAll(procMeshes_, proci)
{
const GeometricField<Type, fvsPatchField, surfaceMesh>& procField =
procFields[procI];
procFields[proci];
// Set the face values in the reconstructed field
@ -370,10 +370,10 @@ Foam::fvFieldReconstructor::reconstructFvSurfaceField
// take care of the face direction offset trick.
//
{
const labelList& faceMap = faceProcAddressing_[procI];
const labelList& faceMap = faceProcAddressing_[proci];
// Correctly oriented copy of internal field
Field<Type> procInternalField(procField.internalField());
Field<Type> procInternalField(procField.primitiveField());
// Addressing into original field
labelList curAddr(procInternalField.size());
@ -391,16 +391,16 @@ Foam::fvFieldReconstructor::reconstructFvSurfaceField
}
// Set the boundary patch values in the reconstructed field
forAll(boundaryProcAddressing_[procI], patchI)
forAll(boundaryProcAddressing_[proci], patchi)
{
// Get patch index of the original patch
const label curBPatch = boundaryProcAddressing_[procI][patchI];
const label curBPatch = boundaryProcAddressing_[proci][patchi];
// Get addressing slice for this patch
const labelList::subList cp =
procMeshes_[procI].boundary()[patchI].patchSlice
procMeshes_[proci].boundary()[patchi].patchSlice
(
faceProcAddressing_[procI]
faceProcAddressing_[proci]
);
// check if the boundary patch is not a processor patch
@ -415,7 +415,7 @@ Foam::fvFieldReconstructor::reconstructFvSurfaceField
curBPatch,
fvsPatchField<Type>::New
(
procField.boundaryField()[patchI],
procField.boundaryField()[patchi],
mesh_.boundary()[curBPatch],
DimensionedField<Type, surfaceMesh>::null(),
fvPatchFieldReconstructor
@ -431,29 +431,29 @@ Foam::fvFieldReconstructor::reconstructFvSurfaceField
labelList reverseAddressing(cp.size());
forAll(cp, faceI)
forAll(cp, facei)
{
// Subtract one to take into account offsets for
// face direction.
reverseAddressing[faceI] = cp[faceI] - 1 - curPatchStart;
reverseAddressing[facei] = cp[facei] - 1 - curPatchStart;
}
patchFields[curBPatch].rmap
(
procField.boundaryField()[patchI],
procField.boundaryField()[patchi],
reverseAddressing
);
}
else
{
const Field<Type>& curProcPatch =
procField.boundaryField()[patchI];
procField.boundaryField()[patchi];
// In processor patches, there's a mix of internal faces (some
// of them turned) and possible cyclics. Slow loop
forAll(cp, faceI)
forAll(cp, facei)
{
label curF = cp[faceI] - 1;
label curF = cp[facei] - 1;
// Is the face turned the right side round
if (curF >= 0)
@ -485,12 +485,12 @@ Foam::fvFieldReconstructor::reconstructFvSurfaceField
[curBPatch].whichFace(curF);
patchFields[curBPatch][curPatchFace] =
curProcPatch[faceI];
curProcPatch[facei];
}
else
{
// Internal face
internalField[curF] = curProcPatch[faceI];
internalField[curF] = curProcPatch[facei];
}
}
}
@ -498,22 +498,22 @@ Foam::fvFieldReconstructor::reconstructFvSurfaceField
}
}
forAll(mesh_.boundary(), patchI)
forAll(mesh_.boundary(), patchi)
{
// add empty patches
if
(
isType<emptyFvPatch>(mesh_.boundary()[patchI])
&& !patchFields(patchI)
isType<emptyFvPatch>(mesh_.boundary()[patchi])
&& !patchFields(patchi)
)
{
patchFields.set
(
patchI,
patchi,
fvsPatchField<Type>::New
(
emptyFvsPatchField<Type>::typeName,
mesh_.boundary()[patchI],
mesh_.boundary()[patchi],
DimensionedField<Type, surfaceMesh>::null()
)
);
@ -550,22 +550,22 @@ Foam::fvFieldReconstructor::reconstructFvSurfaceField
procMeshes_.size()
);
forAll(procMeshes_, procI)
forAll(procMeshes_, proci)
{
procFields.set
(
procI,
proci,
new GeometricField<Type, fvsPatchField, surfaceMesh>
(
IOobject
(
fieldIoObject.name(),
procMeshes_[procI].time().timeName(),
procMeshes_[procI],
procMeshes_[proci].time().timeName(),
procMeshes_[proci],
IOobject::MUST_READ,
IOobject::NO_WRITE
),
procMeshes_[procI]
procMeshes_[proci]
)
);
}

View File

@ -76,7 +76,7 @@ Foam::pointFieldReconstructor::reconstructField(const IOobject& fieldIoObject)
// Set the cell values in the reconstructed field
internalField.rmap
(
procField.internalField(),
procField.primitiveField(),
procToGlobalAddr
);

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -33,42 +33,42 @@ void Foam::processorMeshes::read()
{
// Make sure to clear (and hence unregister) any previously loaded meshes
// and fields
forAll(databases_, procI)
forAll(databases_, proci)
{
meshes_.set(procI, NULL);
pointProcAddressing_.set(procI, NULL);
faceProcAddressing_.set(procI, NULL);
cellProcAddressing_.set(procI, NULL);
boundaryProcAddressing_.set(procI, NULL);
meshes_.set(proci, nullptr);
pointProcAddressing_.set(proci, nullptr);
faceProcAddressing_.set(proci, nullptr);
cellProcAddressing_.set(proci, nullptr);
boundaryProcAddressing_.set(proci, nullptr);
}
forAll(databases_, procI)
forAll(databases_, proci)
{
meshes_.set
(
procI,
proci,
new fvMesh
(
IOobject
(
meshName_,
databases_[procI].timeName(),
databases_[procI]
databases_[proci].timeName(),
databases_[proci]
)
)
);
pointProcAddressing_.set
(
procI,
proci,
new labelIOList
(
IOobject
(
"pointProcAddressing",
meshes_[procI].facesInstance(),
meshes_[procI].meshSubDir,
meshes_[procI],
meshes_[proci].facesInstance(),
meshes_[proci].meshSubDir,
meshes_[proci],
IOobject::MUST_READ,
IOobject::NO_WRITE
)
@ -77,15 +77,15 @@ void Foam::processorMeshes::read()
faceProcAddressing_.set
(
procI,
proci,
new labelIOList
(
IOobject
(
"faceProcAddressing",
meshes_[procI].facesInstance(),
meshes_[procI].meshSubDir,
meshes_[procI],
meshes_[proci].facesInstance(),
meshes_[proci].meshSubDir,
meshes_[proci],
IOobject::MUST_READ,
IOobject::NO_WRITE
)
@ -94,15 +94,15 @@ void Foam::processorMeshes::read()
cellProcAddressing_.set
(
procI,
proci,
new labelIOList
(
IOobject
(
"cellProcAddressing",
meshes_[procI].facesInstance(),
meshes_[procI].meshSubDir,
meshes_[procI],
meshes_[proci].facesInstance(),
meshes_[proci].meshSubDir,
meshes_[proci],
IOobject::MUST_READ,
IOobject::NO_WRITE
)
@ -111,15 +111,15 @@ void Foam::processorMeshes::read()
boundaryProcAddressing_.set
(
procI,
proci,
new labelIOList
(
IOobject
(
"boundaryProcAddressing",
meshes_[procI].facesInstance(),
meshes_[procI].meshSubDir,
meshes_[procI],
meshes_[proci].facesInstance(),
meshes_[proci].meshSubDir,
meshes_[proci],
IOobject::MUST_READ,
IOobject::NO_WRITE
)
@ -155,16 +155,16 @@ Foam::fvMesh::readUpdateState Foam::processorMeshes::readUpdate()
{
fvMesh::readUpdateState stat = fvMesh::UNCHANGED;
forAll(databases_, procI)
forAll(databases_, proci)
{
// Check if any new meshes need to be read.
fvMesh::readUpdateState procStat = meshes_[procI].readUpdate();
fvMesh::readUpdateState procStat = meshes_[proci].readUpdate();
/*
if (procStat != fvMesh::UNCHANGED)
{
Info<< "Processor " << procI
<< " at time " << databases_[procI].timeName()
Info<< "Processor " << proci
<< " at time " << databases_[proci].timeName()
<< " detected mesh change " << procStat
<< endl;
}
@ -178,11 +178,11 @@ Foam::fvMesh::readUpdateState Foam::processorMeshes::readUpdate()
else if (stat != procStat)
{
FatalErrorInFunction
<< "Processor " << procI
<< "Processor " << proci
<< " has a different polyMesh at time "
<< databases_[procI].timeName()
<< databases_[proci].timeName()
<< " compared to any previous processors." << nl
<< "Please check time " << databases_[procI].timeName()
<< "Please check time " << databases_[proci].timeName()
<< " directories on all processors for consistent"
<< " mesh files."
<< exit(FatalError);
@ -207,19 +207,19 @@ void Foam::processorMeshes::reconstructPoints(fvMesh& mesh)
// Read the field for all the processors
PtrList<pointIOField> procsPoints(meshes_.size());
forAll(meshes_, procI)
forAll(meshes_, proci)
{
procsPoints.set
(
procI,
proci,
new pointIOField
(
IOobject
(
"points",
meshes_[procI].time().timeName(),
meshes_[proci].time().timeName(),
polyMesh::meshSubDir,
meshes_[procI],
meshes_[proci],
IOobject::MUST_READ,
IOobject::NO_WRITE,
false
@ -231,13 +231,13 @@ void Foam::processorMeshes::reconstructPoints(fvMesh& mesh)
// Create the new points
vectorField newPoints(mesh.nPoints());
forAll(meshes_, procI)
forAll(meshes_, proci)
{
const vectorField& procPoints = procsPoints[procI];
const vectorField& procPoints = procsPoints[proci];
// Set the cell values in the reconstructed field
const labelList& pointProcAddressingI = pointProcAddressing_[procI];
const labelList& pointProcAddressingI = pointProcAddressing_[proci];
if (pointProcAddressingI.size() != procPoints.size())
{
@ -248,9 +248,9 @@ void Foam::processorMeshes::reconstructPoints(fvMesh& mesh)
<< abort(FatalError);
}
forAll(pointProcAddressingI, pointI)
forAll(pointProcAddressingI, pointi)
{
newPoints[pointProcAddressingI[pointI]] = procPoints[pointI];
newPoints[pointProcAddressingI[pointi]] = procPoints[pointi];
}
}