Commit 755e8848 authored by andy's avatar andy
Browse files

resolving conflict

parents 20d3c10b 3efb4ebe
......@@ -46,9 +46,6 @@
)
);
pointMesh pMesh(mesh);
volPointInterpolation vpi(mesh, pMesh);
word kinematicCloudName("kinematicCloud");
if (args.options().found("cloudName"))
......@@ -60,7 +57,6 @@
basicKinematicCloud kinematicCloud
(
kinematicCloudName,
vpi,
rho,
U,
thermo().mu(),
......
Info << "Constructing Spray" << endl;
pointMesh pMesh(mesh);
volPointInterpolation vpi(mesh, pMesh);
PtrList<specieProperties> gasProperties(Y.size());
forAll(gasProperties, i)
{
......@@ -18,7 +15,6 @@ forAll(gasProperties, i)
spray dieselSpray
(
vpi,
U,
rho,
p,
......
......@@ -41,6 +41,7 @@ Description
#include "multivariateScheme.H"
#include "Switch.H"
#include "OFstream.H"
#include "volPointInterpolation.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
......@@ -75,7 +76,10 @@ int main(int argc, char *argv[])
Info<< "Crank angle = " << runTime.theta() << " CA-deg" << endl;
mesh.move();
vpi.updateMesh();
const_cast<volPointInterpolation&>
(
volPointInterpolation::New(mesh)
).updateMesh();
dieselSpray.evolve();
......
......@@ -52,8 +52,7 @@ int main(int argc, char *argv[])
# include "createTime.H"
# include "createMesh.H"
pointMesh pMesh(mesh);
volPointInterpolation pInterp(mesh, pMesh);
volPointInterpolation pInterp(mesh);
// Get times list
instantList Times = runTime.times();
......
......@@ -642,8 +642,7 @@ int main(int argc, char *argv[])
//Info<< "Writing variables data ..." << endl;
pointMesh pMesh(mesh);
volPointInterpolation pInterp(mesh, pMesh);
volPointInterpolation pInterp(mesh);
writeInt(fvFile, FV_VARIABLES);
......
......@@ -489,7 +489,7 @@ int main(int argc, char *argv[])
readFields
(
vMesh,
vMesh.basePointMesh(),
pointMesh::New(vMesh.baseMesh()),
objects,
selectedFields,
psf
......@@ -499,7 +499,7 @@ int main(int argc, char *argv[])
readFields
(
vMesh,
vMesh.basePointMesh(),
pointMesh::New(vMesh.baseMesh()),
objects,
selectedFields,
pvf
......@@ -509,7 +509,7 @@ int main(int argc, char *argv[])
readFields
(
vMesh,
vMesh.basePointMesh(),
pointMesh::New(vMesh.baseMesh()),
objects,
selectedFields,
pSpheretf
......@@ -519,7 +519,7 @@ int main(int argc, char *argv[])
readFields
(
vMesh,
vMesh.basePointMesh(),
pointMesh::New(vMesh.baseMesh()),
objects,
selectedFields,
pSymmtf
......@@ -529,7 +529,7 @@ int main(int argc, char *argv[])
readFields
(
vMesh,
vMesh.basePointMesh(),
pointMesh::New(vMesh.baseMesh()),
objects,
selectedFields,
ptf
......@@ -598,7 +598,7 @@ int main(int argc, char *argv[])
writer.write(ptf);
// Interpolated volFields
volPointInterpolation pInterp(mesh, vMesh.pMesh());
volPointInterpolation pInterp(mesh);
writer.write(pInterp, vsf);
writer.write(pInterp, vvf);
writer.write(pInterp, vSpheretf);
......
......@@ -70,7 +70,6 @@ Foam::polyMesh::readUpdateState Foam::vtkMesh::readUpdate()
// the subset even if only movement.
topoPtr_.clear();
pointMeshPtr_.clear();
if (setName_.size() > 0)
{
......
......@@ -39,7 +39,6 @@ SourceFiles
#include "vtkTopo.H"
#include "fvMeshSubset.H"
#include "pointMesh.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
......@@ -60,9 +59,6 @@ class vtkMesh
//- Reference to mesh
fvMesh& baseMesh_;
//- Demand driven pointMesh
mutable autoPtr<pointMesh> pointMeshPtr_;
//- Subsetting engine + sub-fvMesh
fvMeshSubset subsetter_;
......@@ -101,15 +97,6 @@ public:
return baseMesh_;
}
const pointMesh& basePointMesh() const
{
if (!pointMeshPtr_.valid())
{
pointMeshPtr_.reset(new pointMesh(baseMesh_));
}
return pointMeshPtr_();
}
const fvMeshSubset& subsetter() const
{
return subsetter_;
......@@ -144,19 +131,6 @@ public:
}
}
//- Access either pointMesh of base or pointMesh of subset
const pointMesh& pMesh() const
{
if (useSubMesh())
{
return subsetter_.subPointMesh();
}
else
{
return basePointMesh();
}
}
//- Number of field cells
label nFieldCells() const
{
......@@ -166,7 +140,7 @@ public:
//- Number of field points
label nFieldPoints() const
{
return pMesh().size() + topo().addPointCellLabels().size();
return mesh().nPoints() + topo().addPointCellLabels().size();
}
......
......@@ -107,8 +107,7 @@ void Foam::vtkPV3Foam::convertVolFields
}
// Construct interpolation on the raw mesh
pointMesh pMesh(mesh);
volPointInterpolation pInterp(mesh, pMesh);
volPointInterpolation pInterp(mesh);
PtrList<PrimitivePatchInterpolation<primitivePatch> >
ppInterpList(mesh.boundaryMesh().size());
......
......@@ -78,11 +78,6 @@ _foamMkDir $FOAM_USER_LIBBIN
_foamMkDir $FOAM_USER_APPBIN
# Compiler settings
# ~~~~~~~~~~~~~~~~~
set compilerBin=
set compilerLib=
# Select compiler installation
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# compilerInstall = OpenFOAM | System
......@@ -111,19 +106,13 @@ case OpenFOAM:
echo
endif
set compilerBin=$WM_COMPILER_DIR/bin
set compilerLib=$WM_COMPILER_DIR/lib${WM_COMPILER_LIB_ARCH}:$WM_COMPILER_DIR/lib
_foamAddPath ${WM_COMPILER_DIR}/bin
_foamAddLib ${WM_COMPILER_DIR}/lib${WM_COMPILER_LIB_ARCH}
_foamAddLib ${WM_COMPILER_DIR}/lib
breaksw
endsw
if ($?compilerBin) then
_foamAddPath $compilerBin
_foamAddLib $compilerLib
endif
unset compilerBin
unset compilerLib
# Communications library
# ~~~~~~~~~~~~~~~~~~~~~~
......
......@@ -177,12 +177,16 @@ bool Foam::objectRegistry::checkOut(regIOobject& io) const
}
else
{
regIOobject* object = iter();
bool hasErased = const_cast<objectRegistry&>(*this).erase(iter);
if (io.ownedByRegistry())
{
delete iter();
delete object;
}
return const_cast<objectRegistry&>(*this).erase(iter);
return hasErased;
}
}
else
......
......@@ -148,6 +148,29 @@ const Type& Foam::MeshObject<Mesh, Type>::New
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * //
template<class Mesh, class Type>
bool Foam::MeshObject<Mesh, Type>::Delete(const Mesh& mesh)
{
if (mesh.db().objectRegistry::foundObject<Type>(Type::typeName))
{
return mesh.db().objectRegistry::checkOut
(
const_cast<Type&>
(
mesh.db().objectRegistry::lookupObject<Type>
(
Type::typeName
)
)
);
}
else
{
return false;
}
}
template<class Mesh, class Type>
Foam::MeshObject<Mesh, Type>::~MeshObject()
{
......
......@@ -106,6 +106,8 @@ public:
// Destructor
static bool Delete(const Mesh& mesh);
virtual ~MeshObject();
......
......@@ -62,11 +62,16 @@ Foam::pointMesh::pointMesh
bool alwaysConstructGlobalPatch
)
:
MeshObject<polyMesh, pointMesh>(pMesh),
GeoMesh<polyMesh>(pMesh),
boundary_(*this, pMesh.boundaryMesh())
{
// Add the globalPointPatch if there are global points
if (alwaysConstructGlobalPatch || mesh_.globalData().nGlobalPoints())
if
(
alwaysConstructGlobalPatch
|| GeoMesh<polyMesh>::mesh_.globalData().nGlobalPoints()
)
{
boundary_.setSize(boundary_.size() + 1);
......
......@@ -34,6 +34,7 @@ Description
#define pointMesh_H
#include "GeoMesh.H"
#include "MeshObject.H"
#include "polyMesh.H"
#include "pointBoundaryMesh.H"
......@@ -48,6 +49,7 @@ namespace Foam
class pointMesh
:
public MeshObject<polyMesh, pointMesh>,
public GeoMesh<polyMesh>
{
// Permanent data
......@@ -95,7 +97,7 @@ public:
//- Return number of points
static label size(const Mesh& mesh)
{
return mesh.mesh_.nPoints();
return mesh.GeoMesh<polyMesh>::mesh_.nPoints();
}
//- Return reference to boundary mesh
......@@ -107,7 +109,13 @@ public:
//- Return parallel info
const globalMeshData& globalData() const
{
return mesh_.globalData();
return GeoMesh<polyMesh>::mesh_.globalData();
}
//- Return database (only needed for compilation purposes)
const objectRegistry& db() const
{
return GeoMesh<polyMesh>::mesh_.db();
}
......
......@@ -35,6 +35,8 @@ License
#include "OSspecific.H"
#include "demandDrivenData.H"
#include "pointMesh.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
......@@ -1477,6 +1479,28 @@ Foam::tmp<Foam::scalarField> Foam::polyMesh::movePoints
faceZones_.movePoints(points_);
cellZones_.movePoints(points_);
// Hack until proper callbacks. Below are all the polyMeh MeshObjects with a
// movePoints function.
// pointMesh
if
(
db().objectRegistry::foundObject<pointMesh>
(
pointMesh::typeName
)
)
{
const_cast<pointMesh&>
(
db().objectRegistry::lookupObject<pointMesh>
(
pointMesh::typeName
)
).movePoints(points_);
}
return sweptVols;
}
......
......@@ -28,6 +28,8 @@ License
#include "primitiveMesh.H"
#include "globalMeshData.H"
#include "demandDrivenData.H"
#include "pointMesh.H"
#include "Time.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
......@@ -65,6 +67,8 @@ void Foam::polyMesh::clearGeom()
{
boundary_[patchI].clearGeom();
}
pointMesh::Delete(*this);
}
......@@ -82,6 +86,8 @@ void Foam::polyMesh::clearAddressing()
// parallelData depends on the processorPatch ordering so force
// recalculation
deleteDemandDrivenData(globalMeshDataPtr_);
pointMesh::Delete(*this);
}
......
......@@ -31,6 +31,7 @@ Description
#include "mapPolyMesh.H"
#include "Time.H"
#include "globalMeshData.H"
#include "pointMesh.H"
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
......@@ -66,6 +67,26 @@ void Foam::polyMesh::updateMesh(const mapPolyMesh& mpm)
// Map the list
newMotionPoints.map(oldMotionPoints, mpm.pointMap());
}
// Hack until proper callbacks. Below are all the polyMesh-MeshObjects.
// pointMesh
if
(
db().objectRegistry::foundObject<pointMesh>
(
pointMesh::typeName
)
)
{
const_cast<pointMesh&>
(
db().objectRegistry::lookupObject<pointMesh>
(
pointMesh::typeName
)
).updateMesh(mpm);
}
}
......
......@@ -34,7 +34,6 @@ License
#include "cellSet.H"
#include "syncTools.H"
#include "motionSmoother.H"
#include "pointMesh.H"
#include "refinementParameters.H"
#include "snapParameters.H"
#include "layerParameters.H"
......
......@@ -3082,7 +3082,7 @@ void Foam::autoLayerDriver::doLayers
Info<< "Constructing mesh displacer ..." << endl;
{
pointMesh pMesh(mesh);
const pointMesh& pMesh = pointMesh::New(mesh);
motionSmoother meshMover
(
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment