diff --git a/AMDiS/src/AMDiS.h b/AMDiS/src/AMDiS.h index 5821636a6690d2de79df5125d686fe3145c3b20d..bfd03ba0b7dba7a8bf8b9e401ef096a6a32226d5 100644 --- a/AMDiS/src/AMDiS.h +++ b/AMDiS/src/AMDiS.h @@ -97,6 +97,7 @@ #include "Traverse.h" #include "Triangle.h" #include "ValueWriter.h" +#include "VertexVector.h" #include "VtkWriter.h" #include "ZeroOrderTerm.h" diff --git a/AMDiS/src/AdaptInfo.cc b/AMDiS/src/AdaptInfo.cc index 3d517c93529a873d45f47821233f70d036595155..bbdf0477b3df787dabc098b54677737aef15f13c 100644 --- a/AMDiS/src/AdaptInfo.cc +++ b/AMDiS/src/AdaptInfo.cc @@ -19,6 +19,7 @@ namespace AMDiS { } } + void AdaptInfo::serialize(std::ostream& out) { out << name << "\n"; @@ -42,9 +43,9 @@ namespace AMDiS { SerUtil::serialize(out, solverTolerance); SerUtil::serialize(out, solverResidual); - int size = static_cast<int>(scalContents.size()); + unsigned int size = scalContents.size(); SerUtil::serialize(out, size); - for (int i = 0; i < size; i++) { + for (unsigned int i = 0; i < size; i++) { SerUtil::serialize(out, scalContents[i]->est_sum); SerUtil::serialize(out, scalContents[i]->est_t_sum); SerUtil::serialize(out, scalContents[i]->est_max); @@ -61,6 +62,7 @@ namespace AMDiS { } } + void AdaptInfo::deserialize(std::istream& in) { in >> name; diff --git a/AMDiS/src/BoundaryManager.cc b/AMDiS/src/BoundaryManager.cc index 6c46f50954828a643603820d9568285f693fa2ce..b868ca603c31ef8632c8b1b56ff74c32eb6d1fc5 100644 --- a/AMDiS/src/BoundaryManager.cc +++ b/AMDiS/src/BoundaryManager.cc @@ -12,31 +12,35 @@ namespace AMDiS { std::map<BoundaryType, std::vector<BoundaryCondition*> > BoundaryManager::globalBoundaryMap; + BoundaryManager::BoundaryManager(const FiniteElemSpace *feSpace) { localBounds.resize(omp_get_overall_max_threads()); dofIndices.resize(omp_get_overall_max_threads()); allocatedMemoryLocalBounds = feSpace->getBasisFcts()->getNumber(); - for (int i = 0; i < static_cast<int>(localBounds.size()); i++) + for (unsigned int i = 0; i < localBounds.size(); i++) localBounds[i] = new BoundaryType[allocatedMemoryLocalBounds]; } + BoundaryManager::BoundaryManager(BoundaryManager &bm) { localBCs = bm.localBCs; allocatedMemoryLocalBounds = bm.allocatedMemoryLocalBounds; localBounds.resize(bm.localBounds.size()); dofIndices.resize(bm.localBounds.size()); - for (int i = 0; i < static_cast<int>(localBounds.size()); i++) + for (unsigned int i = 0; i < localBounds.size(); i++) localBounds[i] = new BoundaryType[allocatedMemoryLocalBounds]; } + BoundaryManager::~BoundaryManager() { - for (int i = 0; i < static_cast<int>(localBounds.size()); i++) + for (unsigned int i = 0; i < localBounds.size(); i++) delete [] localBounds[i]; } + double BoundaryManager::boundResidual(ElInfo *elInfo, DOFMatrix *matrix, const DOFVectorBase<double> *dv) @@ -49,6 +53,7 @@ namespace AMDiS { return result; } + void BoundaryManager::fillBoundaryConditions(ElInfo *elInfo, DOFVectorBase<double> *vec) { @@ -80,6 +85,7 @@ namespace AMDiS { } } + void BoundaryManager::fillBoundaryConditions(ElInfo *elInfo, DOFMatrix *mat) { if (localBCs.size() <= 0) @@ -111,6 +117,7 @@ namespace AMDiS { localBound, nBasFcts); } + void BoundaryManager::initMatrix(DOFMatrix *matrix) { for (BoundaryIndexMap::iterator it = localBCs.begin(); it != localBCs.end(); ++it) @@ -122,6 +129,7 @@ namespace AMDiS { (*it).second->initMatrix(matrix); } + void BoundaryManager::exitMatrix(DOFMatrix *matrix) { for (BoundaryIndexMap::iterator it = localBCs.begin(); it != localBCs.end(); ++it) @@ -133,6 +141,7 @@ namespace AMDiS { (*it).second->exitMatrix(matrix); } + void BoundaryManager::initVector(DOFVectorBase<double> *vector) { for (BoundaryIndexMap::iterator it = localBCs.begin(); it != localBCs.end(); ++it) @@ -144,6 +153,7 @@ namespace AMDiS { (*it).second->initVector(vector); } + void BoundaryManager::exitVector(DOFVectorBase<double> *vector) { for (BoundaryIndexMap::iterator it = localBCs.begin(); it != localBCs.end(); ++it) diff --git a/AMDiS/src/ZeroOrderTerm.cc b/AMDiS/src/ZeroOrderTerm.cc index 3f61ac5dcd7ac14534974e681e0abb29d68efab5..1a775722a07f467426297d654a802d7591fc313b 100644 --- a/AMDiS/src/ZeroOrderTerm.cc +++ b/AMDiS/src/ZeroOrderTerm.cc @@ -14,6 +14,7 @@ namespace AMDiS { auxFeSpaces.insert(dv->getFeSpace()); } + void VecAtQP_ZOT::initElement(const ElInfo* elInfo, SubAssembler* subAssembler, Quadrature *quad) @@ -21,6 +22,7 @@ namespace AMDiS { vecAtQPs = getVectorAtQPs(vec, elInfo, subAssembler, quad); } + void VecAtQP_ZOT::initElement(const ElInfo* smallElInfo, const ElInfo* largeElInfo, SubAssembler* subAssembler, @@ -29,6 +31,7 @@ namespace AMDiS { vecAtQPs = getVectorAtQPs(vec, smallElInfo, largeElInfo, subAssembler, quad); } + void VecAtQP_ZOT::getC(const ElInfo *, int nPoints, std::vector<double> &C) { if (f) { @@ -40,6 +43,7 @@ namespace AMDiS { } } + void VecAtQP_ZOT::eval(int nPoints, const double *uhAtQP, const WorldVector<double> *grdUhAtQP, @@ -73,6 +77,7 @@ namespace AMDiS { auxFeSpaces.insert(dv2->getFeSpace()); } + void MultVecAtQP_ZOT::initElement(const ElInfo* elInfo, SubAssembler* subAssembler, Quadrature *quad) @@ -81,12 +86,14 @@ namespace AMDiS { vecAtQPs2 = getVectorAtQPs(vec2, elInfo, subAssembler, quad); } + void MultVecAtQP_ZOT::getC(const ElInfo *, int nPoints, std::vector<double> &C) { for (int iq = 0; iq < nPoints; iq++) C[iq] += (*f1)(vecAtQPs1[iq]) * (*f2)(vecAtQPs2[iq]); } + void MultVecAtQP_ZOT::eval(int nPoints, const double *uhAtQP, const WorldVector<double> *grdUhAtQP, @@ -113,6 +120,7 @@ namespace AMDiS { auxFeSpaces.insert(dv2->getFeSpace()); } + void Vec2AtQP_ZOT::initElement(const ElInfo* elInfo, SubAssembler* subAssembler, Quadrature *quad) @@ -520,35 +528,38 @@ namespace AMDiS { { vecsAtQPs.resize(vecs.size()); - for (int i = 0; i < static_cast<int>(dv.size()); i++) { + for (unsigned int i = 0; i < dv.size(); i++) { TEST_EXIT(dv[i])("One vector is NULL!\n"); auxFeSpaces.insert(dv[i]->getFeSpace()); } } + void VecOfDOFVecsAtQP_ZOT::initElement(const ElInfo* elInfo, SubAssembler* subAssembler, Quadrature *quad) { - int size = static_cast<int>(vecs.size()); - for (int i = 0; i < size; i++) + unsigned int size = vecs.size(); + for (unsigned int i = 0; i < size; i++) vecsAtQPs[i] = getVectorAtQPs(vecs[i], elInfo, subAssembler, quad); } + void VecOfDOFVecsAtQP_ZOT::getC(const ElInfo *, int nPoints, std::vector<double> &C) { - int size = static_cast<int>(vecs.size()); + unsigned int size = vecs.size(); std::vector<double> arg(size); for (int iq = 0; iq < nPoints; iq++) { - for (int i = 0; i < size; i++) + for (unsigned int i = 0; i < size; i++) arg[i] = vecsAtQPs[i][iq]; C[iq] += (*f)(arg); } } + void VecOfDOFVecsAtQP_ZOT::eval(int nPoints, const double *uhAtQP, const WorldVector<double> *grdUhAtQP,