void Foam::ggiPolyPatch::clearGeom() { deleteDemandDrivenData(patchToPatchPtr_); deleteDemandDrivenData(zoneAddressingPtr_); deleteDemandDrivenData(reconFaceCellCentresPtr_); }
void Foam::PrimitivePatch<Face, FaceList, PointField, PointType>:: clearTopology() { if (debug) { Info<< "PrimitivePatch<Face, FaceList, PointField, PointType>::" << "clearTopology() : clearing patch addressing" << endl; } // group created and destroyed together if (edgesPtr_ && faceFacesPtr_ && edgeFacesPtr_ && faceEdgesPtr_) { delete edgesPtr_; edgesPtr_ = NULL; delete faceFacesPtr_; faceFacesPtr_ = NULL; delete edgeFacesPtr_; edgeFacesPtr_ = NULL; delete faceEdgesPtr_; faceEdgesPtr_ = NULL; } deleteDemandDrivenData(boundaryPointsPtr_); deleteDemandDrivenData(pointEdgesPtr_); deleteDemandDrivenData(pointFacesPtr_); deleteDemandDrivenData(edgeLoopsPtr_); }
void Foam::sampledSurface::clearGeom() const { deleteDemandDrivenData(SfPtr_); deleteDemandDrivenData(magSfPtr_); deleteDemandDrivenData(CfPtr_); area_ = -1; }
void Foam::polyPatch::clearAddressing() { primitivePatch::clearTopology(); primitivePatch::clearPatchMeshAddr(); deleteDemandDrivenData(faceCellsPtr_); deleteDemandDrivenData(mePtr_); }
DimensionedField<scalar, volMesh>& fvMesh::setV0() { // Delete old volume and mesh motion fluxes. setV0() must be followed by // another mesh motion. HJ, 25/Feb/2009 deleteDemandDrivenData(phiPtr_); deleteDemandDrivenData(V0Ptr_); if (debug) { InfoIn("DimensionedField<scalar, volMesh>& fvMesh::setV0()") << "Setting old cell volumes" << endl; } V0Ptr_ = new DimensionedField<scalar, volMesh> ( IOobject ( "V0", time().timeName(), *this, IOobject::NO_READ, IOobject::NO_WRITE ), V() ); return *V0Ptr_; }
void tetCreatorOctree::clearOut() { sortedLeaves_.clear(); deleteDemandDrivenData(subNodeLabelsPtr_); deleteDemandDrivenData(cubeLabelPtr_); deleteDemandDrivenData(faceCentreLabelPtr_); }
void voronoiMeshExtractor::clearOut() { deleteDemandDrivenData(pointEdgesPtr_); deleteDemandDrivenData(edgesPtr_); deleteDemandDrivenData(edgeTetsPtr_); deleteDemandDrivenData(boundaryEdgePtr_); }
void Foam::surfaceInterpolation::clearOut() { deleteDemandDrivenData(weights_); deleteDemandDrivenData(deltaCoeffs_); deleteDemandDrivenData(nonOrthDeltaCoeffs_); deleteDemandDrivenData(nonOrthCorrectionVectors_); }
void Foam::binaryTree<CompType, ThermoType>::deleteLeaf(chP*& phi0) { if (size_ == 1) // only one point is stored { deleteDemandDrivenData(phi0); deleteDemandDrivenData(root_); } else if (size_ > 1) { bn* z = phi0->node(); bn* x; chP* siblingPhi0 = chemPSibling(phi0); if (siblingPhi0 != nullptr)// the sibling of phi0 is a chemPoint { // z was root (only two chemPoints in the tree) if (z->parent() == nullptr) { root_ = new bn(); root_->leafLeft()=siblingPhi0; siblingPhi0->node()=root_; } else if (z == z->parent()->nodeLeft()) { z->parent()->leafLeft() = siblingPhi0; z->parent()->nodeLeft() = nullptr; siblingPhi0->node() = z->parent(); } else if (z == z->parent()->nodeRight()) { z->parent()->leafRight() = siblingPhi0; z->parent()->nodeRight() = nullptr; siblingPhi0->node() = z->parent(); } else { FatalErrorInFunction << "wrong addressing of the initial leaf" << exit(FatalError); } } else { x = nodeSibling(phi0); if (x !=nullptr) { transplant(z, x); } else { FatalErrorInFunction << "inconsistent structure of the tree, no leaf and no node" << exit(FatalError); } } deleteDemandDrivenData(phi0); deleteDemandDrivenData(z); } size_--; }
Foam::extendedLeastSquaresVectors::~extendedLeastSquaresVectors() { deleteDemandDrivenData(pVectorsPtr_); deleteDemandDrivenData(nVectorsPtr_); deleteDemandDrivenData(additionalCellsPtr_); deleteDemandDrivenData(additionalVectorsPtr_); }
BlockConstraint<Type>::~BlockConstraint() { deleteDemandDrivenData(upperCoeffsOwnerPtr_); deleteDemandDrivenData(upperCoeffsNeighbourPtr_); deleteDemandDrivenData(lowerCoeffsOwnerPtr_); deleteDemandDrivenData(lowerCoeffsNeighbourPtr_); }
bool Foam::readerDatabase::setRunTime ( const fileName& rootDir, const fileName& caseName, const word& setName ) { bool newDatabase = false; if (runTimePtr_) { if ( (runTimePtr_->caseName() != caseName) || (runTimePtr_->rootPath() != rootDir) || (setName_ != setName) ) { if (debug_) { Info<< "Deleting old mesh since deleting old database" << endl; } deleteDemandDrivenData(meshPtr_); if (debug_) { Info<< "Deleting old database for " << runTimePtr_->caseName() << endl; } deleteDemandDrivenData(runTimePtr_); } } setName_ = setName; if (!runTimePtr_) { if (debug_) { Info<< "Deleting old mesh since loading new Time" << endl; } deleteDemandDrivenData(meshPtr_); if (debug_) { Info<< "Creating database for " << caseName << endl; } runTimePtr_ = new Time(Time::controlDictName, rootDir, caseName); newDatabase = true; } return newDatabase; }
void Foam::fvMesh::clearGeomNotOldVol() { deleteDemandDrivenData(VPtr_); deleteDemandDrivenData(SfPtr_); deleteDemandDrivenData(magSfPtr_); deleteDemandDrivenData(CPtr_); deleteDemandDrivenData(CfPtr_); }
// Do what is neccessary if the mesh has moved bool Foam::surfaceInterpolation::movePoints() { deleteDemandDrivenData(weights_); deleteDemandDrivenData(deltaCoeffs_); deleteDemandDrivenData(nonOrthDeltaCoeffs_); deleteDemandDrivenData(nonOrthCorrectionVectors_); return true; }
void Foam::fvMesh::clearGeom() { clearGeomNotOldVol(); deleteDemandDrivenData(V0Ptr_); deleteDemandDrivenData(V00Ptr_); // Mesh motion flux cannot be deleted here because the old-time flux // needs to be saved. }
Foam::lduAddressing::~lduAddressing() { deleteDemandDrivenData(losortPtr_); deleteDemandDrivenData(ownerStartPtr_); deleteDemandDrivenData(losortStartPtr_); deleteDemandDrivenData(ownerSortAddrPtr_); patchSortCells_.clear(); patchSortAddr_.clear(); patchSortStartAddr_.clear(); }
void Foam::binaryTree<CompType, ThermoType>::deleteSubTree(bn* subTreeRoot) { if (subTreeRoot != nullptr) { deleteDemandDrivenData(subTreeRoot->leafLeft()); deleteDemandDrivenData(subTreeRoot->leafRight()); deleteSubTree(subTreeRoot->nodeLeft()); deleteSubTree(subTreeRoot->nodeRight()); deleteDemandDrivenData(subTreeRoot); } }
globalTetPolyPatch::~globalTetPolyPatch() { deleteDemandDrivenData(localEdgeIndicesPtr_); clearCutEdgeAddressing(); // Delete storage for non-existent things deleteDemandDrivenData(doubleCutEdgeIndicesPtr_); deleteDemandDrivenData(doubleCutOwnerPtr_); deleteDemandDrivenData(doubleCutNeighbourPtr_); }
void Foam::fvMesh::clearGeomNotOldVol() { slicedVolScalarField::DimensionedInternalField* VPtr = static_cast<slicedVolScalarField::DimensionedInternalField*>(VPtr_); deleteDemandDrivenData(VPtr); VPtr_ = NULL; deleteDemandDrivenData(SfPtr_); deleteDemandDrivenData(magSfPtr_); deleteDemandDrivenData(CPtr_); deleteDemandDrivenData(CfPtr_); }
void Foam::PrimitivePatch<Face, FaceList, PointField, PointType>:: clearPatchMeshAddr() { if (debug) { InfoInFunction << "Clearing patch-mesh addressing" << endl; } deleteDemandDrivenData(meshPointsPtr_); deleteDemandDrivenData(meshPointMapPtr_); deleteDemandDrivenData(localFacesPtr_); }
void Foam::PrimitivePatch<Face, FaceList, PointField, PointType>:: clearGeom() { if (debug) { InfoInFunction << "Clearing geometric data" << endl; } deleteDemandDrivenData(localPointsPtr_); deleteDemandDrivenData(faceCentresPtr_); deleteDemandDrivenData(faceNormalsPtr_); deleteDemandDrivenData(pointNormalsPtr_); }
void Foam::fvMesh::clearGeom() { clearGeomNotOldVol(); deleteDemandDrivenData(V0Ptr_); deleteDemandDrivenData(V00Ptr_); // Mesh motion flux cannot be deleted here because the old-time flux // needs to be saved. // Geometry dependent object updated through call-back // and handled by polyMesh // HJ, 29/Aug/2010 }
void Foam::primitiveMesh::clearGeom() { if (debug) { Pout<< "primitiveMesh::clearGeom() : " << "clearing geometric data" << endl; } deleteDemandDrivenData(cellCentresPtr_); deleteDemandDrivenData(faceCentresPtr_); deleteDemandDrivenData(cellVolumesPtr_); deleteDemandDrivenData(faceAreasPtr_); }
void BlockConstraint<Type>::clearMatrix() { matrixCoeffsSet_ = false; diagCoeff_.clear(); b_ = pTraits<Type>::zero; deleteDemandDrivenData(upperCoeffsOwnerPtr_); deleteDemandDrivenData(upperCoeffsNeighbourPtr_); deleteDemandDrivenData(lowerCoeffsOwnerPtr_); deleteDemandDrivenData(lowerCoeffsNeighbourPtr_); }
void Foam::fvMesh::clearGeomNotOldVol() { meshObject::clear<fvMesh, GeometricMeshObject>(*this); meshObject::clear<lduMesh, GeometricMeshObject>(*this); slicedVolScalarField::DimensionedInternalField* VPtr = static_cast<slicedVolScalarField::DimensionedInternalField*>(VPtr_); deleteDemandDrivenData(VPtr); VPtr_ = NULL; deleteDemandDrivenData(SfPtr_); deleteDemandDrivenData(magSfPtr_); deleteDemandDrivenData(CPtr_); deleteDemandDrivenData(CfPtr_); }
void Foam::readerDatabase::loadMesh() { deleteDemandDrivenData(meshPtr_); Info<< "Loading new mesh" << endl; meshPtr_ = new fvMeshSubset ( *runTimePtr_, IOobject::MUST_READ, IOobject::AUTO_WRITE ); if (setName_.size()) { Info<< "Subsetting mesh based on cellSet " << setName_ << endl; fvMeshSubset& mesh = *meshPtr_; cellSet currentSet(mesh, setName_); mesh.setCellSubset(currentSet); } getPolyHedra(); }
void Foam::fvMesh::clearAddressing() { deleteDemandDrivenData(lduPtr_); // Hack until proper callbacks. Below are all the fvMesh-MeshObjects. volPointInterpolation::Delete(*this); extendedLeastSquaresVectors::Delete(*this); leastSquaresVectors::Delete(*this); CentredFitData<linearFitPolynomial>::Delete(*this); CentredFitData<quadraticFitPolynomial>::Delete(*this); CentredFitData<quadraticLinearFitPolynomial>::Delete(*this); skewCorrectionVectors::Delete(*this); //quadraticFitSnGradData::Delete(*this); centredCECCellToFaceStencilObject::Delete(*this); centredCFCCellToFaceStencilObject::Delete(*this); centredCPCCellToFaceStencilObject::Delete(*this); centredFECCellToFaceStencilObject::Delete(*this); // Is this geometry related - cells distorting to upwind direction? upwindCECCellToFaceStencilObject::Delete(*this); upwindCFCCellToFaceStencilObject::Delete(*this); upwindCPCCellToFaceStencilObject::Delete(*this); upwindFECCellToFaceStencilObject::Delete(*this); centredCFCFaceToCellStencilObject::Delete(*this); }
// Sync mesh update with changes on other processors void Foam::polyMesh::syncUpdateMesh() { // Update zones. Since boundary depends on zones, they need to be // updated first. HJ, 20/May/2014 pointZones_.updateMesh(); faceZones_.updateMesh(); cellZones_.updateMesh(); // Update boundaryMesh (note that patches themselves already ok) boundary_.updateMesh(); // Clear out parallel data. HJ, 27/Nov/2009 deleteDemandDrivenData(globalMeshDataPtr_); setInstance(time().timeName()); // Reset valid directions (could change by faces put into empty patches) geometricD_ = Vector<label>::zero; solutionD_ = Vector<label>::zero; // Update all function objects // Moved from fvMesh.C in 1.6.x merge. HJ, 29/Aug/2010 // Instantiate a dummy mapPolyMesh autoPtr<mapPolyMesh> mapPtr(new mapPolyMesh(*this)); meshObjectBase::allUpdateTopology<polyMesh>(*this, mapPtr()); }
void Foam::fvMesh::clearAddressing() { deleteDemandDrivenData(lduPtr_); // Geometry dependent object updated through call-back // and handled by polyMesh // HJ, 29/Aug/2010 }
void processorTetPolyPatchCellDecomp::clearCutEdgeAddressing() const { deleteDemandDrivenData(cutEdgeIndicesPtr_); deleteDemandDrivenData(cutEdgeOwnerIndicesPtr_); deleteDemandDrivenData(cutEdgeOwnerStartPtr_); deleteDemandDrivenData(cutEdgeNeighbourIndicesPtr_); deleteDemandDrivenData(cutEdgeNeighbourStartPtr_); deleteDemandDrivenData(doubleCutEdgeIndicesPtr_); deleteDemandDrivenData(doubleCutOwnerPtr_); deleteDemandDrivenData(doubleCutNeighbourPtr_); deleteDemandDrivenData(ownNeiDoubleMaskPtr_); }