Commit 225b2887 authored by Thomas Witkowski's avatar Thomas Witkowski

DELETE/NEW in compositeFEM

parent 3a7156a4
......@@ -38,7 +38,7 @@ namespace AMDiS {
q = Quadrature::provideQuadrature(dim, deg);
}
numQuadPts = q->getNumPoints();
loc_scalQuad = NEW ScalableQuadrature(q);
loc_scalQuad = new ScalableQuadrature(q);
numScalQuadPts = loc_scalQuad->getNumPoints();
......@@ -82,7 +82,7 @@ namespace AMDiS {
}
}
subPolytope = NEW SubPolytope(loc_elInfo,
subPolytope = new SubPolytope(loc_elInfo,
intersecPts,
numIntersecPts,
vertex_interior);
......@@ -101,7 +101,7 @@ namespace AMDiS {
// of the element and not an intersection point. Thus the level set
// function value of this vertex really is unequal to zero.)
subPolytope = NEW SubPolytope(loc_elInfo,
subPolytope = new SubPolytope(loc_elInfo,
intersecPts,
numIntersecPts,
0);
......@@ -147,7 +147,7 @@ namespace AMDiS {
}
// Free data.
DELETE subPolytope;
delete subPolytope;
}
else if (elStatus == ElementLevelSet::LEVEL_SET_INTERIOR) {
......@@ -169,7 +169,7 @@ namespace AMDiS {
} // end of: mesh traverse
DELETE loc_scalQuad;
delete loc_scalQuad;
return int_val;
}
......@@ -206,7 +206,7 @@ namespace AMDiS {
if (!q) {
q = Quadrature::provideQuadrature(dim-1, deg);
}
surfQuad = NEW SurfaceQuadrature(q, tmpPts);
surfQuad = new SurfaceQuadrature(q, tmpPts);
numQuadPts = surfQuad->getNumPoints();
......@@ -269,7 +269,7 @@ namespace AMDiS {
} // end of: mesh traverse
DELETE surfQuad;
delete surfQuad;
return int_val;
}
......
......@@ -274,7 +274,7 @@ namespace AMDiS {
if (!q) {
q = Quadrature::provideQuadrature(dim, deg);
}
scalQuad = NEW ScalableQuadrature(q);
scalQuad = new ScalableQuadrature(q);
nScalQPts = scalQuad->getNumPoints();
......@@ -311,7 +311,7 @@ namespace AMDiS {
// of the element and not an intersection point. Thus the level set
// function value of this vertex really is unequal to zero.)
subPolytope = NEW SubPolytope(elInfo,
subPolytope = new SubPolytope(elInfo,
intersecPts,
numIntersecPts,
0);
......@@ -342,7 +342,7 @@ namespace AMDiS {
nrm += el_norm;
// Free data.
DELETE subPolytope;
delete subPolytope;
}
else if (elStatus == ElementLevelSet::LEVEL_SET_INTERIOR) {
......@@ -360,7 +360,7 @@ namespace AMDiS {
} // end of: mesh traverse
DELETE scalQuad;
delete scalQuad;
return nrm;
}
......@@ -390,7 +390,7 @@ namespace AMDiS {
if (!q) {
q = Quadrature::provideQuadrature(dim, deg);
}
scalQuad = NEW ScalableQuadrature(q);
scalQuad = new ScalableQuadrature(q);
nScalQPts = scalQuad->getNumPoints();
......@@ -429,7 +429,7 @@ namespace AMDiS {
}
}
subPolytope = NEW SubPolytope(elInfo,
subPolytope = new SubPolytope(elInfo,
intersecPts,
numIntersecPts,
vertex_interior);
......@@ -450,7 +450,7 @@ namespace AMDiS {
// of the element and not an intersection point. Thus the level set
// function value of this vertex really is unequal to zero.)
subPolytope = NEW SubPolytope(elInfo,
subPolytope = new SubPolytope(elInfo,
intersecPts,
numIntersecPts,
0);
......@@ -488,7 +488,7 @@ namespace AMDiS {
}
// Free data.
DELETE subPolytope;
delete subPolytope;
}
else if (elStatus == ElementLevelSet::LEVEL_SET_INTERIOR) {
......@@ -507,7 +507,7 @@ namespace AMDiS {
} // end of: mesh traverse
DELETE scalQuad;
delete scalQuad;
return nrm;
}
......@@ -536,7 +536,7 @@ namespace AMDiS {
if (!q) {
q = Quadrature::provideQuadrature(dim, deg);
}
scalQuad = NEW ScalableQuadrature(q);
scalQuad = new ScalableQuadrature(q);
nScalQPts = scalQuad->getNumPoints();
......@@ -573,7 +573,7 @@ namespace AMDiS {
// of the element and not an intersection point. Thus the level set
// function value of this vertex really is unequal to zero.)
subPolytope = NEW SubPolytope(elInfo,
subPolytope = new SubPolytope(elInfo,
intersecPts,
numIntersecPts,
0);
......@@ -604,14 +604,14 @@ namespace AMDiS {
nrm += el_norm;
// Free data.
DELETE subPolytope;
delete subPolytope;
}
elInfo = stack.traverseNext(elInfo);
} // end of: mesh traverse
DELETE scalQuad;
delete scalQuad;
return nrm;
}
......@@ -640,7 +640,7 @@ namespace AMDiS {
if (!q) {
q = Quadrature::provideQuadrature(dim, deg);
}
scalQuad = NEW ScalableQuadrature(q);
scalQuad = new ScalableQuadrature(q);
nScalQPts = scalQuad->getNumPoints();
......@@ -677,7 +677,7 @@ namespace AMDiS {
// of the element and not an intersection point. Thus the level set
// function value of this vertex really is unequal to zero.)
subPolytope = NEW SubPolytope(elInfo,
subPolytope = new SubPolytope(elInfo,
intersecPts,
numIntersecPts,
0);
......@@ -708,7 +708,7 @@ namespace AMDiS {
nrm += el_norm;
// Free data.
DELETE subPolytope;
delete subPolytope;
}
else {
......@@ -727,7 +727,7 @@ namespace AMDiS {
} // end of: mesh traverse
DELETE scalQuad;
delete scalQuad;
return nrm;
}
......@@ -742,7 +742,7 @@ namespace AMDiS {
{
FUNCNAME("CFE_NormAndErrorFcts::L1Norm_Analyt");
ElementL1Norm_Analyt *elNorm = NEW ElementL1Norm_Analyt(q, f);
ElementL1Norm_Analyt *elNorm = new ElementL1Norm_Analyt(q, f);
int dim = elLS->getDim();
TEST_EXIT(dim == Global::getGeo(WORLD))
......@@ -768,7 +768,7 @@ namespace AMDiS {
break;
}
DELETE elNorm;
delete elNorm;
return nrm;
}
......@@ -783,7 +783,7 @@ namespace AMDiS {
{
FUNCNAME("CFE_NormAndErrorFcts::L2NormSquare_Analyt");
ElementL2Norm_Analyt *elNorm = NEW ElementL2Norm_Analyt(q, f);
ElementL2Norm_Analyt *elNorm = new ElementL2Norm_Analyt(q, f);
int dim = elLS->getDim();
TEST_EXIT(dim == Global::getGeo(WORLD))
......@@ -809,7 +809,7 @@ namespace AMDiS {
break;
}
DELETE elNorm;
delete elNorm;
return nrm;
}
......@@ -836,7 +836,7 @@ namespace AMDiS {
FUNCNAME("CFE_NormAndErrorFcts::H1NormSquare_Analyt");
int dim = elLS->getDim();
ElementH1Norm_Analyt *elNorm = NEW ElementH1Norm_Analyt(q, grd, dim);
ElementH1Norm_Analyt *elNorm = new ElementH1Norm_Analyt(q, grd, dim);
TEST_EXIT(dim == Global::getGeo(WORLD))
("doesn't work for dimension of problem != dimension of world!\n");
......@@ -861,7 +861,7 @@ namespace AMDiS {
break;
}
DELETE elNorm;
delete elNorm;
return nrm;
}
......@@ -886,7 +886,7 @@ namespace AMDiS {
{
FUNCNAME("CFE_NormAndErrorFcts::L1Norm_DOF");
ElementL1Norm_DOF *elNorm = NEW ElementL1Norm_DOF(q, dof);
ElementL1Norm_DOF *elNorm = new ElementL1Norm_DOF(q, dof);
int dim = elLS->getDim();
TEST_EXIT(dim == Global::getGeo(WORLD))
......@@ -912,7 +912,7 @@ namespace AMDiS {
break;
}
DELETE elNorm;
delete elNorm;
return nrm;
}
......@@ -926,7 +926,7 @@ namespace AMDiS {
{
FUNCNAME("CFE_NormAndErrorFcts::L2NormSquare_DOF");
ElementL2Norm_DOF *elNorm = NEW ElementL2Norm_DOF(q, dof);
ElementL2Norm_DOF *elNorm = new ElementL2Norm_DOF(q, dof);
int dim = elLS->getDim();
TEST_EXIT(dim == Global::getGeo(WORLD))
......@@ -952,7 +952,7 @@ namespace AMDiS {
break;
}
DELETE elNorm;
delete elNorm;
return nrm;
}
......@@ -977,7 +977,7 @@ namespace AMDiS {
FUNCNAME("CFE_NormAndErrorFcts::H1NormSquare_DOF");
int dim = elLS->getDim();
ElementH1Norm_DOF *elNorm = NEW ElementH1Norm_DOF(q, dof, dim);
ElementH1Norm_DOF *elNorm = new ElementH1Norm_DOF(q, dof, dim);
TEST_EXIT(dim == Global::getGeo(WORLD))
("doesn't work for dimension of problem != dimension of world!\n");
......@@ -1003,7 +1003,7 @@ namespace AMDiS {
break;
}
DELETE elNorm;
delete elNorm;
return nrm;
}
......@@ -1030,7 +1030,7 @@ namespace AMDiS {
{
FUNCNAME("CFE_NormAndErrorFcts::L2Err()");
ElementL2Err *elNorm = NEW ElementL2Err(q, u, uh, relErr);
ElementL2Err *elNorm = new ElementL2Err(q, u, uh, relErr);
int dim = elLS->getDim();
TEST_EXIT(dim == Global::getGeo(WORLD))
......@@ -1064,7 +1064,7 @@ namespace AMDiS {
else
err = L2_err_abs;
DELETE elNorm;
delete elNorm;
return err;
}
......@@ -1082,7 +1082,7 @@ namespace AMDiS {
FUNCNAME("CFE_NormAndErrorFcts::H1Err()");
int dim = elLS->getDim();
ElementH1Err *elNorm = NEW ElementH1Err(q, u, uh, relErr, dim);
ElementH1Err *elNorm = new ElementH1Err(q, u, uh, relErr, dim);
TEST_EXIT(dim == Global::getGeo(WORLD))
("doesn't work for dimension of problem != dimension of world!\n");
......@@ -1116,7 +1116,7 @@ namespace AMDiS {
else
err = H1_err_abs;
DELETE elNorm;
delete elNorm;
return err;
}
......
......@@ -52,7 +52,7 @@ CompositeFEMOperator::getElementMatrix(const ElInfo *elInfo,
*/
if(!subElementAssembler) {
subElementAssembler = NEW SubElementAssembler(this,
subElementAssembler = new SubElementAssembler(this,
rowFESpace,
colFESpace);
}
......@@ -61,7 +61,7 @@ CompositeFEMOperator::getElementMatrix(const ElInfo *elInfo,
* Get intersection points.
*/
intersecPoints = elLS->getElIntersecPoints();
subPolytope = NEW SubPolytope(elInfo,
subPolytope = new SubPolytope(elInfo,
intersecPoints,
elLS->getNumElIntersecPoints());
......@@ -115,7 +115,7 @@ CompositeFEMOperator::getElementMatrix(const ElInfo *elInfo,
if (!assembler[myRank]) {
assembler[myRank] =
NEW StandardAssembler(this, NULL, NULL, NULL, NULL, rowFESpace, colFESpace);
new StandardAssembler(this, NULL, NULL, NULL, NULL, rowFESpace, colFESpace);
}
if (elLS->getLevelSetDomain() ==
......@@ -190,7 +190,7 @@ CompositeFEMOperator::getElementVector(const ElInfo *elInfo,
*/
if(!subElementAssembler) {
subElementAssembler = NEW SubElementAssembler(this,
subElementAssembler = new SubElementAssembler(this,
rowFESpace,
colFESpace);
}
......@@ -199,7 +199,7 @@ CompositeFEMOperator::getElementVector(const ElInfo *elInfo,
* Get intersection points.
*/
intersecPoints = elLS->getElIntersecPoints();
subPolytope = NEW SubPolytope(elInfo,
subPolytope = new SubPolytope(elInfo,
intersecPoints,
elLS->getNumElIntersecPoints());
......@@ -250,7 +250,7 @@ CompositeFEMOperator::getElementVector(const ElInfo *elInfo,
if (!assembler[myRank]) {
assembler[myRank] =
NEW StandardAssembler(this, NULL, NULL, NULL, NULL, rowFESpace, colFESpace);
new StandardAssembler(this, NULL, NULL, NULL, NULL, rowFESpace, colFESpace);
}
if (elLS->getLevelSetDomain() ==
......
......@@ -51,7 +51,7 @@ public:
~CompositeFEMOperator()
{
if (subElementAssembler)
DELETE subElementAssembler;
delete subElementAssembler;
};
/**
......
......@@ -86,7 +86,7 @@ public:
dim = mesh->getDim();
elIntersecPoints =
NEW VectorOfFixVecs<DimVec<double> >(dim,
new VectorOfFixVecs<DimVec<double> >(dim,
MAX_INTERSECTION_POINTS,
NO_INIT);
elVertexStatusVec = new int[dim+1];
......@@ -117,7 +117,7 @@ public:
if(elVertexLevelSetVec)
delete [] elVertexLevelSetVec;
if (elIntersecPoints)
DELETE elIntersecPoints;
delete elIntersecPoints;
}
/**
......
......@@ -21,7 +21,7 @@ LevelSetAdaptMesh::adaptMesh(AdaptInfo *adaptInfo)
coarseningMarkIsSet = false;
// === Mark elements for refinement/coarsening.
stack = NEW TraverseStack;
stack = new TraverseStack;
elInfo = stack->traverseFirst(mesh, -1,
Mesh::CALL_LEAF_EL |
Mesh::FILL_NEIGH |
......@@ -38,7 +38,7 @@ LevelSetAdaptMesh::adaptMesh(AdaptInfo *adaptInfo)
elInfo = stack->traverseNext(elInfo);
}
DELETE stack;
delete stack;
// === Refine/coarsen mesh.
if(refinementMarkIsSet) {
......
......@@ -65,7 +65,7 @@ PenaltyOperator::getElementMatrix(const ElInfo *elInfo,
(*tempCoords)[1] = (*intersecPoints)[1];
(*tempCoords)[2] = (*intersecPoints)[2];
if (!surfaceOp) {
surfaceOp = NEW SurfaceOperator(this, (*tempCoords));
surfaceOp = new SurfaceOperator(this, (*tempCoords));
}
else {
surfaceOp->adaptSurfaceOperator((*tempCoords));
......@@ -93,7 +93,7 @@ PenaltyOperator::getElementMatrix(const ElInfo *elInfo,
}
if (!surfaceOp) {
surfaceOp = NEW SurfaceOperator(this, *tempCoords);
surfaceOp = new SurfaceOperator(this, *tempCoords);
}
else {
surfaceOp->adaptSurfaceOperator(*tempCoords);
......@@ -116,7 +116,7 @@ PenaltyOperator::getElementMatrix(const ElInfo *elInfo,
// (*tempCoords)[0] = lambda;
// if (!surfaceOp) {
// surfaceOp = NEW SurfaceOperator(this, *tempCoords);
// surfaceOp = new SurfaceOperator(this, *tempCoords);
// }
// else {
// surfaceOp->adaptSurfaceOperator(*tempCoords);
......@@ -183,7 +183,7 @@ PenaltyOperator::getElementVector(const ElInfo *elInfo,
(*tempCoords)[1] = (*intersecPoints)[1];
(*tempCoords)[2] = (*intersecPoints)[2];
if (!surfaceOp) {
surfaceOp = NEW SurfaceOperator(this, (*tempCoords));
surfaceOp = new SurfaceOperator(this, (*tempCoords));
}
else {
surfaceOp->adaptSurfaceOperator((*tempCoords));
......@@ -211,7 +211,7 @@ PenaltyOperator::getElementVector(const ElInfo *elInfo,
}
if (!surfaceOp) {
surfaceOp = NEW SurfaceOperator(this, *tempCoords);
surfaceOp = new SurfaceOperator(this, *tempCoords);
}
else {
surfaceOp->adaptSurfaceOperator(*tempCoords);
......@@ -234,7 +234,7 @@ PenaltyOperator::getElementVector(const ElInfo *elInfo,
// (*tempCoords)[0] = lambda;
// if (!surfaceOp) {
// surfaceOp = NEW SurfaceOperator(this, *tempCoords);
// surfaceOp = new SurfaceOperator(this, *tempCoords);
// }
// else {
// surfaceOp->adaptSurfaceOperator(*tempCoords);
......
......@@ -48,7 +48,7 @@ public:
TEST_EXIT(elLS->getLevelSetFct() && elLS->getMesh())
("ElementLevelSet not initialized!\n");
tempCoords = NEW VectorOfFixVecs<DimVec<double> >(dim, dim, NO_INIT);
tempCoords = new VectorOfFixVecs<DimVec<double> >(dim, dim, NO_INIT);
};
/**
......@@ -57,10 +57,10 @@ public:
~PenaltyOperator()
{
if (surfaceOp) {
DELETE surfaceOp;
delete surfaceOp;
}
/* if (dim == 3) { */
DELETE tempCoords;
delete tempCoords;
/* } */
};
......
......@@ -19,7 +19,7 @@ namespace AMDiS {
if (zeroOrderAssembler) {
checkQuadratures();
zeroOrderScalableQuadrature =
NEW ScalableQuadrature(zeroOrderAssembler->getQuadrature());
new ScalableQuadrature(zeroOrderAssembler->getQuadrature());
zeroOrderAssembler->setQuadrature(zeroOrderScalableQuadrature);
} else {
zeroOrderScalableQuadrature = NULL;
......@@ -28,7 +28,7 @@ namespace AMDiS {
if (firstOrderAssemblerGrdPsi) {
checkQuadratures();
firstOrderGrdPsiScalableQuadrature =
NEW ScalableQuadrature(firstOrderAssemblerGrdPsi->getQuadrature());
new ScalableQuadrature(firstOrderAssemblerGrdPsi->getQuadrature());
firstOrderAssemblerGrdPsi->setQuadrature(firstOrderGrdPsiScalableQuadrature);
} else {
firstOrderGrdPsiScalableQuadrature = NULL;
......@@ -37,7 +37,7 @@ namespace AMDiS {
if (firstOrderAssemblerGrdPhi) {
checkQuadratures();
firstOrderGrdPhiScalableQuadrature =
NEW ScalableQuadrature(firstOrderAssemblerGrdPhi->getQuadrature());
new ScalableQuadrature(firstOrderAssemblerGrdPhi->getQuadrature());
firstOrderAssemblerGrdPhi->setQuadrature(firstOrderGrdPhiScalableQuadrature);
} else {
firstOrderGrdPhiScalableQuadrature = NULL;
......@@ -46,7 +46,7 @@ namespace AMDiS {
if (secondOrderAssembler) {
checkQuadratures();
secondOrderScalableQuadrature =
NEW ScalableQuadrature(secondOrderAssembler->getQuadrature());
new ScalableQuadrature(secondOrderAssembler->getQuadrature());
secondOrderAssembler->setQuadrature(secondOrderScalableQuadrature);
} else {
secondOrderScalableQuadrature = NULL;
......
......@@ -117,7 +117,7 @@ namespace AMDiS {
TEST_EXIT(dim == 1 && numIntPoints == 1)("invalid call of this routine\n");
VectorOfFixVecs<DimVec<double> > *subElVertices =
NEW VectorOfFixVecs<DimVec<double> >(dim, dim + 1, NO_INIT);
new VectorOfFixVecs<DimVec<double> >(dim, dim + 1, NO_INIT);
DimVec<double> vertex(dim, DEFAULT_VALUE, 1.0);
/**
......@@ -153,12 +153,12 @@ namespace AMDiS {
/**
* Create a new ElInfo for the subelement.
*/
subElements.push_back( NEW SubElInfo(subElVertices, elInfo) );
subElements.push_back( new SubElInfo(subElVertices, elInfo) );
TEST_EXIT( subElements.size() == 1 )("error in creating subelements");
numSubElements = 1;
DELETE subElVertices;
delete subElVertices;
}
......@@ -186,7 +186,7 @@ namespace AMDiS {
("invalid call of this routine\n");
VectorOfFixVecs<DimVec<double> >*subElVertices =
NEW VectorOfFixVecs<DimVec<double> >(dim, dim + 1, NO_INIT);
new VectorOfFixVecs<DimVec<double> >(dim, dim + 1, NO_INIT);
DimVec<double> vertex(dim, DEFAULT_VALUE, 1.0);
/**
......@@ -218,12 +218,12 @@ namespace AMDiS {
/**
* Create a new ElInfo for the subelement.
*/
subElements.push_back( NEW SubElInfo(subElVertices, elInfo) );
subElements.push_back( new SubElInfo(subElVertices, elInfo) );
TEST_EXIT( subElements.size() == 1 )("error in creating subelements");
numSubElements = 1;
DELETE subElVertices;
delete subElVertices;
}
......@@ -273,7 +273,7 @@ namespace AMDiS {
("invalid index for vertex of a tetrahedron");
VectorOfFixVecs<DimVec<double> > *subElVertices =
NEW VectorOfFixVecs<DimVec<double> >(dim, dim + 1, NO_INIT);
new VectorOfFixVecs<DimVec<double> >(dim, dim + 1, NO_INIT);
DimVec<double> vertexA(dim, DEFAULT_VALUE, 0.0);
DimVec<double> vertexB(dim, DEFAULT_VALUE, 0.0);
......@@ -465,26 +465,26 @@ namespace AMDiS {
(*subElVertices)[1] = vertexB;
(*subElVertices)[2] = (*intPoints)[indexS_0];
(*subElVertices)[3] = (*intPoints)[indexS_1];
subElements.push_back( NEW SubElInfo(subElVertices, elInfo) );
subElements.push_back( new SubElInfo(subElVertices, elInfo) );
// Subelement 2: B - S_0 - S_1 - S_2
(*subElVertices)[0] = vertexB;
(*subElVertices)[1] = (*intPoints)[indexS_0];
(*subElVertices)[2] = (*intPoints)[indexS_1];
(*subElVertices)[3] = (*intPoints)[indexS_2];
subElements.push_back( NEW SubElInfo(subElVertices, elInfo) );
subElements.push_back( new SubElInfo(subElVertices, elInfo) );
// Subelement 3: B - S_0 - S_2 - S_3
(*subElVertices)[0] = vertexB;
(*subElVertices)[1] = (*intPoints)[indexS_0];
(*subElVertices)[2] = (*intPoints)[indexS_2];
(*subElVertices)[3] = (*intPoints