diff --git a/AMDiS/Reinit/Makefile b/AMDiS/Reinit/Makefile deleted file mode 100644 index 9a9fc95922fd2f8ed26321bd1438cfec14e79d6a..0000000000000000000000000000000000000000 --- a/AMDiS/Reinit/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -SHELL = /bin/sh -COMPILE = g++ -DEFS = -DPACKAGE=\"AMDiS\" -DVERSION=\"0.1\" -DHAVE_DLFCN_H=1 -DEBUG = 0 -AMDIS_DIR = ../ - -INCLUDES = -I./src -I$(AMDIS_DIR)/src -I$(AMDIS_DIR)/compositeFEM/src -I$(AMDIS_DIR)/lib/mtl4 - -ifeq ($(strip $(DEBUG)), 0) - CPPFLAGS = -O2 -else - CPPFLAGS = -g -O0 -endif -CPPFLAGS += -ftemplate-depth-40 - -VPATH = .:$(AMDIS_DIR)/Reinit/src - -LIBOFILES = \ -BoundaryElementDist.o \ -BoundaryElementNormalDist.o \ -BoundaryElementLevelSetDist.o \ -BoundaryElementTopDist.o \ -BoundaryElementEdgeDist.o \ -ElementLevelSet.o \ -ElementUpdate_2d.o \ -ElementUpdate_3d.o \ -HL_SignedDist.o \ -HL_SignedDistTraverse.o \ -VelocityExt.o \ -VelocityExtFromVelocityField.o \ -NormEps.o - -all: libreinit.a - -# statische Bibliothek -libreinit.a: $(LIBOFILES) - rm -f lib/libreinit.a - ar cq lib/libreinit.a $(LIBOFILES) - -.cc.o: $*.cc - $(COMPILE) $(DEFS) $(INCLUDES) $(CPPFLAGS) -c -o $*.o $< - -clean: - -rm -rf *.o diff --git a/AMDiS/Reinit/src/HL_SignedDistLevels.cc b/AMDiS/Reinit/src/HL_SignedDistLevels.cc deleted file mode 100644 index 09d53e6c80d49104d4a2c1c735f13b28d983e2ad..0000000000000000000000000000000000000000 --- a/AMDiS/Reinit/src/HL_SignedDistLevels.cc +++ /dev/null @@ -1,1372 +0,0 @@ -// -// Software License for AMDiS -// -// Copyright (c) 2010 Dresden University of Technology -// All rights reserved. -// Authors: Simon Vey, Thomas Witkowski et al. -// -// This file is part of AMDiS -// -// See also license.opensource.txt in the distribution. - - -#include "HL_SignedDistLevels.h" - -#include "VelocityExtFromVelocityField.h" - -void -HL_SignedDistLevels::initializeBoundary() -{ - FUNCNAME("HL_SignedDistLevels::initializeBoundary()"); - - TraverseStack stack; - FixVec<double, VERTEX> distVec(dim, NO_INIT); - int elStatus; - const int *elVertStatusVec; - int NumVertIntPoints; - int ElNum; - clock_t time1; - clock_t time2; - double TIME; - - //=== transvering Mesh to SMI and add quantities - time1 = clock(); - Mesh_to_SMI_and_quantity(); - time2 = clock(); - TIME = TIME_USED(time1, time2); - - cout <<"Zeit zum Transformieren nach SMI: "<<TIME<<" sec.\n"; - - // ===== All non-boundary vertices are initialized with "infinity". ===== - sD_DOF->set(inftyValue); - - // ===== Traverse mesh and initialize boundary elements. ===== - const int nBasFcts = feSpace->getBasisFcts()->getNumber(); - DegreeOfFreedom *locInd = GET_MEMORY(DegreeOfFreedom, nBasFcts); - - ElInfo *elInfo; - if (velExt && velExtType.isSet(VEL_EXT_FROM_VEL_FIELD)) { - elInfo = stack.traverseFirst(feSpace->getMesh(), - -1, - Mesh::CALL_LEAF_EL | - Mesh::FILL_BOUND | - Mesh::FILL_COORDS | - Mesh::FILL_GRD_LAMBDA); - } - else { - elInfo = stack.traverseFirst(feSpace->getMesh(), - -1, - Mesh::CALL_LEAF_EL | - Mesh::FILL_BOUND | - Mesh::FILL_COORDS); - } - while(elInfo) { - - // Set elInfo in case velocity extension from velocity field is used. - if (velExt && velExtType.isSet(VEL_EXT_FROM_VEL_FIELD)) { - ((VelocityExtFromVelocityField *)velExt)->setElInfo(elInfo); - } - - // Get local indices of vertices. - feSpace->getBasisFcts()->getLocalIndices( - const_cast<Element *>(elInfo->getElement()), - const_cast<DOFAdmin *>(feSpace->getAdmin()), - locInd); - - // Get element status. - elStatus = elLS->createElementLevelSet(elInfo); - - //Get some information for creating the first list - - elVertStatusVec = elLS->getElVertStatusVec(); - - //Beginn creating the first list - - NumVertIntPoints = elLS->getNumVertIntPoints(); - ElNum = elInfo->getElement()->getIndex(); - - createFirstList( elStatus, elVertStatusVec, ElNum, NumVertIntPoints); - - //end creating the first list - - // Is element cut by the interface ? - if (elStatus == ElementLevelSet::LEVEL_SET_BOUNDARY) { - - // Reset element distance vector. - for (int i=0; i<=dim; ++i) { - distVec[i] = inftyValue; - } - - // Mark all vertices as boundary vertices. - for (int i=0; i<=dim; ++i) { - (*bound_DOF)[locInd[i]] = 1.0; - } - - // Calculate distance for all vertices. - if (bndElDist->calcDistOnBoundaryElement(elInfo, distVec) != - ElementLevelSet::LEVEL_SET_BOUNDARY) { - ERROR_EXIT("error in distance calculation !\n"); - } - else { - - // If distance is smaller, correct to new distance. - for (int i=0; i<=dim; ++i) { - if ((*sD_DOF)[locInd[i]] > distVec[i]) { - (*sD_DOF)[locInd[i]] = distVec[i]; - //If distance is corrected, calculate new velocity. - if(velExt != NULL) - { - velExt->calcVelocityBoundary(locInd, i); - } - } - } - } - } // end of: elStatus == ElementLevelSet::LEVEL_SET_BOUNDARY - - else if (elLS->getNumVertIntPoints() != 0){ -// // Interface cuts element only in vertices. -// elVertStatusVec = elLS->getElVertStatusVec(); - -// for (int i=0; i<=dim; ++i) { -// if (elVertStatusVec[i] == ElementLevelSet::LEVEL_SET_BOUNDARY) { -// (*bound_DOF)[locInd[i]] = 1.0; -// (*sD_DOF)[locInd[i]] = 0.0; -// } -// } - - ERROR_EXIT("intersection point is element vertex. should never happen !\n"); - } - - elInfo = stack.traverseNext(elInfo); - } // end of: mesh traverse - - FREE_MEMORY(locInd, DegreeOfFreedom, nBasFcts); - - return; -} - -void -HL_SignedDistLevels::Mesh_to_SMI_and_quantity() -{ - if(!smiAdapter) - { - smiAdapter = NEW SMIAdapter(1, 1, - const_cast<FiniteElemSpace*>(feSpace), - 1, -1); - } - - // cout << "\n\n\tSMI-Adapter angelegt !\n\n"; - - //====== transfer Mesh to SMI ====================== - - smiAdapter->addNeighbourInfo(); - - // cout << "\n\n\tNachbarschafts-Infos in SMI ergaenzt !\n\n"; - - smiAdapter-> transferMeshToSMI(); - - // cout << "\n\n\tGitter nach SMI geschrieben !\n\n"; - - int smiError = SMI_Begin_write_transaction(1,1); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Begin_write_transaction() failed with error %d\n", smiError); - - int nul = 0; - int *null = new int [dim+1]; - for (int i=0; i<=dim; i++) - { - null[i] = nul; - } - - //which pair of element and node is saved in list - smiError = - SMI_Add_quantity(1, 1, 1, SMI_LOC_ELEM, SMI_TYPE_INT, dim+1, null); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Add_quantity() failed with error %d\n", smiError); - - //which node is a boundary-node - smiError = SMI_Add_quantity(1, 1, 2, SMI_LOC_NODE, SMI_TYPE_INT, 1, &nul); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Add_quantity() failed with error %d\n", smiError); - - //saves the number of tried updates - smiError = SMI_Add_quantity(1, 1, 3, SMI_LOC_NODE, SMI_TYPE_INT, 1, &nul); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Add_quantity() failed with error %d\n", smiError); - - //saves the number of updates - smiError = SMI_Add_quantity(1, 1, 4, SMI_LOC_NODE, SMI_TYPE_INT, 1, &nul); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Add_quantity() failed with error %d\n", smiError); - - //how often a node is saved in the second list - smiError = SMI_Add_quantity(1, 1, 5, SMI_LOC_NODE, SMI_TYPE_INT, 1, &nul); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Add_quantity() failed with error %d\n", smiError); - - //saves the level of an element - smiError = SMI_Add_quantity(1, 1, 6, SMI_LOC_ELEM, SMI_TYPE_INT, 1, - &inftyValue); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Add_quantity() failed with error %d\n", smiError); - - // cout << "\n\n\tQuantities in SMI ergaenzt !\n\n"; - - delete [] null; -} - -void -HL_SignedDistLevels::createFirstList(const int elStatus, - const int *elVertStatusVec, - int ElNum, - const int NumVertIntPoints) -{ - int *sv = new int[dim+1]; - int *nodeIndices; - int nul = 0; - int smiError; - - if (elStatus == ElementLevelSet::LEVEL_SET_BOUNDARY) - { - List_Element.push(ElNum); - - smiError = - SMI_Set_quantity_values(1, 1, 6, SMI_TYPE_INT, 1, 1, &ElNum, &nul); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Set_quantity_values() failed with error %d\n", smiError); - - //saving which nodes are boundary-nodes - for (int i=0; i<=dim; i++) - { - sv[i] = 1; - } - - smiError = - SMI_Get_elems(1, 1, 1, const_cast<DegreeOfFreedom*>(&ElNum), - NULL, &nodeIndices, NULL, NULL); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_elems() failed with error %d\n", smiError); - - smiError = - SMI_Set_quantity_values(1, 1, 2, SMI_TYPE_INT, 1, 3, nodeIndices, sv); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Set_quantity_values() failed with error %d\n", smiError); - } - //if the elemet isn't a boundary-element, but the interface cuts the FE in two nodes -// else if (NumVertIntPoints == dim) -// { -// List_Element.push( ElNum ); - -// smiError = -// SMI_Set_quantity_values(1, 1, 6, SMI_TYPE_INT, 1, 1, &ElNum, &nul); -// TEST_EXIT(smiError == SMI_OK) -// ("SMI_Set_quantity_values() failed with error %d\n", smiError); - -// //saving which nodes are boundary-nodes -// for (int i=0; i<=dim; i++) -// { -// if(elVertStatusVec[i] == ElementLevelSet::LEVEL_SET_BOUNDARY) -// { -// sv[i] = 1; -// } -// else -// { -// sv[i] = 0; -// } - -// smiError = -// SMI_Get_elems(1, 1, 1, const_cast<DegreeOfFreedom*>(&ElNum), -// NULL, &nodeIndices, NULL, NULL); -// TEST_EXIT(smiError == SMI_OK) -// ("SMI_Get_elems() failed with error %d\n", smiError); - -// smiError = -// SMI_Set_quantity_values(1, 1, 2, SMI_TYPE_INT, 1, 3, -// nodeIndices, sv); -// TEST_EXIT(smiError == SMI_OK) -// ("SMI_Set_quantity_values() failed with error %d\n", smiError); -// } -// } - - delete [] sv; -} - -void -HL_SignedDistLevels::HL_updateIteration() -{ - int numNodes; - int *nodeIndices; - int max_q3 = 0; - int max_q4 = 0; - int sum_q3 = 0; - int sum_q4 = 0; - clock_t time1; - clock_t time2; - double TIME; - int control; - - int smiError = - SMI_Get_all_nodes(1, 1, const_cast<DegreeOfFreedom*>(&numNodes), - &nodeIndices); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_all_nodes() failed with error %d\n", smiError); - - int *values_q3 = new int [numNodes]; - int *values_q4 = new int [numNodes]; - - GET_PARAMETER(0,"SignedDist->count updates", "%d", &count_updates); - - time1 = clock(); - control = traverseListElement(); - time2 = clock(); - TIME = TIME_USED(time1, time2); - - cout<<"Zeit zum durchlaufen der ersten (Elementen-) Liste: "<<TIME<<" sec.\n\n"; - if(control == 1) - { - createLevels (); - } - - ///////////////////////////////// - - - //print chosen level in a file - if (print_level == 1) - { - DOFVector<double> *level_DOF = NEW DOFVector<double>(sD_DOF->getFeSpace(), - "level_DOF"); - - int numElems; - int *elemIndices; - int *NodeIndices; - - smiError = SMI_Get_all_elems(1, 1, &numElems, &elemIndices); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_all_elems() failed with error %d\n", smiError); - - int *value_q6 = new int [numElems]; - - smiError = - SMI_Get_quantity_values(1, 1, 6, SMI_TYPE_INT, 1, numElems, - elemIndices, value_q6); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", smiError); - - for(int i=0; i<numElems; i++) - { - smiError = - SMI_Get_elems(1, 1, 1, &elemIndices[i], NULL, &NodeIndices, - NULL, NULL); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_elems() failed with error %d\n", smiError); - - for(int j=0; j<=dim; j++) - { - (*level_DOF)[NodeIndices[j]] = -1; - } - } - for(int i=0; i<numElems; i++) - { - smiError = - SMI_Get_elems(1, 1, 1, &elemIndices[i], NULL, &NodeIndices, - NULL, NULL); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_elems() failed with error %d\n", smiError); - - if (value_q6[i] == chosen_level) - { - for(int j=0; j<dim+1; j++) - { - (*level_DOF)[NodeIndices[j]] = 0; - } - } - } - - FileWriter *levelFileWriter = - NEW FileWriter("level->output", - level_DOF->getFeSpace()->getMesh(), - level_DOF); - levelFileWriter->writeFiles (adaptInfo, false); - - DELETE levelFileWriter; - } - - //end of the part for printing chosen levels - - - time1 = clock(); - traversingListLevel_ ( sD_DOF ); - time2 = clock(); - TIME = TIME_USED(time1,time2); - - cout<<"Zeit zum Durchlaufen der zweiten Liste (Liste von Listen): "<<TIME<<" sec.\n\n"; - - std::string smiOutFile; - GET_PARAMETER(0, "SignedDist->count updates->output->filename", &smiOutFile); - cout << "count updates Ausgabe-Datei: " << smiOutFile.c_str() << "\n\n"; - - ofstream out (smiOutFile.c_str()); - - smiError = - SMI_Get_quantity_values(1, 1, 3, SMI_TYPE_INT, 1, numNodes, nodeIndices, - values_q3); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", smiError); - - smiError = - SMI_Get_quantity_values(1, 1, 4, SMI_TYPE_INT, 1, numNodes, nodeIndices, - values_q4); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", smiError); - - for (int i=0; i<numNodes; i++) - { - out<<nodeIndices[i]<<" "<<values_q3[i]<<" "<<values_q4[i]<<"\n"; - - if(max_q3 < values_q3[i]) - { - max_q3 = values_q3[i]; - } - if(max_q4 < values_q4[i]) - { - max_q4 = values_q4[i]; - } - sum_q3 = sum_q3 + values_q3[i]; - sum_q4 = sum_q4 + values_q4[i]; - } - - out<<"\n\n maximale Anzahl an versuchten Updates auf einem Knoten: "<<max_q3<<"\n maximale Anzahl an durchgefuehrten Updates auf einem Knoten: "<<max_q4<<"\n"; - out<<"\n Summe aller versuchten Updates: "<<sum_q3<<"\n Summe aller durchgefuehrten updates: "<<sum_q4<<"\n"; - - out<<"Anzahl an Knoten: "<<numNodes<<"\n"; - - out.close(); - - smiError = SMI_End_write_transaction(1, 1); - TEST_EXIT(smiError == SMI_OK) - ("SMI_End_write_transaction() failed with error %d\n", smiError); - - return; -} - -int -HL_SignedDistLevels::traverseListElement() -{ - int Element; - - bool neighboursExist; - bool neighbourInNewListSet = false; - - while (List_Element.size() != 0) - { - Element = List_Element.front(); - - neighboursExist = collectNeighbours_setLevels (Element, 0, &neighbourInNewListSet); - - List_Element.pop(); - } - - //within the function "collectNeighbours_setLevels" the new pairs are saved in the list "level" - //this list will be one entry of the list "Level_" - if (neighbourInNewListSet) - { - Level_.push_back (Level); - } - - while (Level.size() != 0) - { - Level.pop(); - } - if (!neighbourInNewListSet) - { - return 0; - } - else - { - return 1; - } - -} - -void -HL_SignedDistLevels::createLevels () -{ - bool neighbourExists = true; - bool stop = false; - Vert_Struct vertStruct; - int i = 0; - bool elementInNextListSet = true; - int value_q2; - int smiError; - - while(elementInNextListSet) - { - stop = false; - neighbourExists = false; - elementInNextListSet = false; - - while(Level_[i].size() != 0) - { - vertStruct = Level_[i].front(); - - neighbourExists = collectNeighbours_setLevels (vertStruct.ElNum, i+1, &elementInNextListSet); - - smiError = - SMI_Get_quantity_values(1, 1, 2, SMI_TYPE_INT, 1, 1, - &vertStruct.VertNum, &value_q2); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", smiError); - - if(value_q2 == 0) - { - helpLevel.push (vertStruct); - } - Level_[i].pop(); - } - - Level_[i] = helpLevel; - while (helpLevel.size() != 0) - { - helpLevel.pop(); - } - - if(elementInNextListSet) - { - Level_.push_back (Level); - } - - while (Level.size() != 0) - { - Level.pop(); - } - i++; - } -} - -bool -HL_SignedDistLevels::collectNeighbours_setLevels (const int Element, - const int currentIndex, - bool *elementInNewListSet) -{ - Vert_Struct vertStruct; - - int *neighbour=new int[dim+1]; - int *oppVertices=new int[dim+1]; - int *value = new int [dim+1]; - int saved_level; - int value_q5; - int *nodeIndices; - int *nodeIndicesOfElem; - int smiError; - - bool neighbourExists = false; - - smiAdapter->getNeighbourInfo(Element, neighbour, oppVertices); - - for ( int i=0; i<=dim; i++) - { - //if this neighbour exists it will be saved in a list according to it's level - if(neighbour[i] != -1) - { - neighbourExists = true; - - //calling old level and saving new level if necessary - smiError = - SMI_Get_quantity_values(1, 1, 6, SMI_TYPE_INT, 1, 1, - &neighbour[i], &saved_level); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", smiError); - - if(saved_level > currentIndex) - { - saved_level = currentIndex+1; - - smiError = - SMI_Set_quantity_values (1, 1, 6, SMI_TYPE_INT, 1, 1, - &neighbour[i], &saved_level); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Set_quantity_values() failed with error %d\n", - smiError); - - smiError = - SMI_Get_elems(1, 1, 1, &neighbour[i], NULL, &nodeIndices, - NULL,NULL); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_elems() failed with error %d\n", - smiError); - - smiError = - SMI_Get_quantity_values(1, 1, 1, SMI_TYPE_INT, dim+1, 1, - &neighbour[i], value); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", - smiError); - - if (value[oppVertices[i]] == 0) - { - vertStruct.ElNum = neighbour[i] ; - vertStruct.VertNum = oppVertices[i]; - Level.push( vertStruct ); - value[oppVertices[i]] = 1; - (*elementInNewListSet) = true; - - //counts how often a node is saved in the list of lists - if(count_in_list == 1) - { - smiError = - SMI_Get_elems(1, 1, 1, - const_cast<DegreeOfFreedom*>(&(vertStruct.ElNum)), - NULL, &nodeIndicesOfElem, NULL, NULL); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_elems() failed with error %d\n", smiError); - - smiError = - SMI_Get_quantity_values(1, 1, 5, SMI_TYPE_INT, 1, 1, - const_cast<DegreeOfFreedom*>(& nodeIndicesOfElem[vertStruct.VertNum]), - &value_q5); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", - smiError); - - value_q5 = value_q5 + 1; - - smiError = - SMI_Set_quantity_values(1, 1, 5, SMI_TYPE_INT, 1, 1, - const_cast<DegreeOfFreedom*>(& nodeIndicesOfElem[vertStruct.VertNum]), - &value_q5); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Set_quantity_values() failed with error %d\n", - smiError); - } - } - //save which pairs of elements and nodes is saved in a list - smiError = - SMI_Set_quantity_values(1, 1, 1, SMI_TYPE_INT, dim+1, 1, -// &neighbour[i], value); - neighbour+i, value); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Set_quantity_values() failed with error %d\n", - smiError); - } - } - } - - delete [] neighbour; - delete [] oppVertices; - delete [] value; - - return neighbourExists; - - -} - -void -HL_SignedDistLevels::traversingListLevel_ ( DOFVector<double> *boundVal_DOF ) -{ - bool Continue = true; - - Vert_Struct El_Vert; - - int Vert; - - int locVert; - int value_q3; - int value_q4; - int value_q5; - int counter = 0; - int *nodeIndices; - int *nodeIndicesOfElem; - double *coords = new double [(dim+1)*dim]; - int *valuesINT=new int[dim+1]; - double update; - int counter_list = 0; - int counter_lists_of_lists = 0; - FixVec<WorldVector<double> *, VERTEX> coordsOfNodes(dim); - for ( int i=0; i<=dim; i++) - { - coordsOfNodes[i] = new WorldVector<double>; - } - FixVec<double,VERTEX> boundVal(dim,NO_INIT); - WorldVector<double> helpVec; - int smiError; - - //for repeating the traverse of the list "Level_" - while (Continue == true) - { - Continue = false; - - //for traversing of the list "Level_" - for (int j=0; j < (signed int) Level_.size();j++) - { - //for traversing the entries of the List "Level_" - - while (Level_[j].size() != 0) - { - El_Vert = Level_[j].front(); - Vert = El_Vert.VertNum; - - smiError = - SMI_Get_elems (1, 1, 1, &(El_Vert.ElNum), NULL, - &(nodeIndices), NULL, NULL); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_elems() failed with error %d\n", smiError); - - smiError = - SMI_Get_nodes (1, 1, 3, dim, nodeIndices, coords); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_nodes() failed with error %d\n", smiError); - - //sorting of the nodes for calculating the update - counter = 0; - for (int i=0; i<=dim; i++) - { - if (i == El_Vert.VertNum) - { - (*(coordsOfNodes[dim]))[0]=coords[i*2]; - (*(coordsOfNodes[dim]))[1]=coords[i*2+1]; - boundVal[dim] = (*boundVal_DOF)[nodeIndices[i]]; - locVert = i; - } - else - { - (*(coordsOfNodes[counter]))[0]=coords[i*2]; - (*(coordsOfNodes[counter]))[1]=coords[i*2+1]; - boundVal[counter] = (*boundVal_DOF)[nodeIndices[i]]; - counter = counter+1; - } - } - - //save permutation of vertexes for calculation of the velocity - if(velExt != NULL) - { - velExt->setPermutation(locVert, 0); - } - update = elUpdate->calcElementUpdate( coordsOfNodes, boundVal ); - - //for counting tried updates - if(count_updates == 1) - { - smiError = - SMI_Get_quantity_values(1, 1, 3, SMI_TYPE_INT, 1, 1, - &nodeIndices[locVert], &value_q3); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", - smiError); - - value_q3 = value_q3 + 1; - - smiError = - SMI_Set_quantity_values(1, 1, 3, SMI_TYPE_INT, 1, 1, - const_cast<DegreeOfFreedom*>(&nodeIndices[locVert]), - &value_q3); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Set_quantity_values() failed with error %d\n", - smiError); - } - - //checking whether the calculated update will be set as new distance - if (update < (*boundVal_DOF)[nodeIndices[locVert]] && ((*boundVal_DOF)[nodeIndices[locVert]]-update) > tol) - { - (*boundVal_DOF)[nodeIndices[locVert]] = update; - //If distance is corrected, calculate new velocity. - if(velExt != NULL) - { - velExt->calcVelocity(nodeIndices, locVert); - } - - //for counting successful updates - if(count_updates == 1) - { - smiError = - SMI_Get_quantity_values(1, 1, 4, SMI_TYPE_INT, 1, 1, - &nodeIndices[locVert], - &value_q4); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", - smiError); - - value_q4 = value_q4 + 1; - - smiError = - SMI_Set_quantity_values(1, 1, 4, SMI_TYPE_INT, 1, 1, - const_cast<DegreeOfFreedom*>(&nodeIndices[locVert]), - &value_q4); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Set_quantity_values() failed with error %d\n", - smiError); - } - //?? - Continue = search_and_include_comb(El_Vert.ElNum, - Vert, nodeIndices, j); - } - - smiError = - SMI_Get_quantity_values(1, 1, 1, SMI_TYPE_INT, dim+1, 1, - &El_Vert.ElNum, valuesINT); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", - smiError); - - Level_[j].pop(); - valuesINT[locVert] = 0; - - smiError = - SMI_Set_quantity_values(1, 1, 1, SMI_TYPE_INT, dim+1, 1, - &El_Vert.ElNum, valuesINT); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Set_quantity_values() failed with error %d\n", - smiError); - - //counts how often a node is saved in the list of lists - if(count_in_list == 1) - { - smiError = - SMI_Get_elems(1, 1, 1, - const_cast<DegreeOfFreedom*>(&(El_Vert.ElNum)), - NULL, &nodeIndicesOfElem, NULL, NULL); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_elems() failed with error %d\n", smiError); - - smiError = - SMI_Get_quantity_values(1, 1, 5, SMI_TYPE_INT, 1, 1, - const_cast<DegreeOfFreedom*>(& nodeIndicesOfElem[El_Vert.VertNum]), - &value_q5); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", - smiError); - - value_q5 = value_q5 - 1; - - smiError = - SMI_Set_quantity_values(1, 1, 5, SMI_TYPE_INT, 1, 1, - const_cast<DegreeOfFreedom*>(& nodeIndicesOfElem[El_Vert.VertNum]), - &value_q5); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Set_quantity_values() failed with error %d\n", - smiError); - } - - //for printing which node is how often saved in a list after a special number of tried updates - if(count_in_list == 1) - { - counter_list++; - if(counter_list % print_in_list == 0) - { - print_quantity_5(counter_list); - } - } - } - } - //for printing which node is how often saved in a list at the end of the ..th traverse of the list "Level_" - if(count_in_list == 1) - { - counter_lists_of_lists++; - if(counter_lists_of_lists == print_in_list_2) - { - print_quantity_5(counter_lists_of_lists); - } - } - - } - - delete [] coords; - delete [] valuesINT; - for ( int i=0; i<Global::getGeo(VERTEX,dim); i++) - { - delete coordsOfNodes[i]; - } -} - -bool -HL_SignedDistLevels::search_and_include_comb(int ElNum, - int Vert, - int *nodeIndices, - const int Index) -{ - bool stop_l = false; - bool stop_r = false; - bool Continue = false; - bool continue_out = false; - int neighbour_l; - int neighbour_r; - int Vert_1_l; - int Vert_2_l; - int Vert_1_r; - int Vert_2_r; - int counter; - int elem_l; - int elem_r; - int node_l; - int node_r; - int VertGlobal; - int *nodeIndicesOfElem; - - int smiError = - SMI_Get_elems(1, 1, 1, const_cast<DegreeOfFreedom*>(&(ElNum)), NULL, - &nodeIndicesOfElem, NULL, NULL); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_elems() failed with error %d\n", smiError); - - VertGlobal = nodeIndicesOfElem[Vert]; - - //here the process of including elements/nodes into the second list - stop_l = false; - stop_r = false; - - elem_l = ElNum; - if (elem_l == -1) - { - stop_l = true; - } - elem_r = ElNum; - if (elem_r == -1) - { - stop_r = true; - } - - counter = 0; - for (int i=0; i<=dim; i++) - { - if(i != Vert && counter == 1) - { - node_r = i; - counter = counter + 1; - } - if(i != Vert && counter == 0) - { - node_l = i; - counter = counter + 1; - } - - } - - while (!stop_l || !stop_r) - { - //get next neighbour - if (!stop_l) - { - stop_l = getNextNeighbour (elem_l, VertGlobal, node_l, neighbour_l, Vert_1_l, Vert_2_l); - } - if(!stop_r) - { - stop_r = getNextNeighbour (elem_r, VertGlobal, node_r, neighbour_r, Vert_1_r, Vert_2_r); - } - - if(neighbour_l == elem_r) - { - break; - } - - //indclude into the second list (only if possible) - if (!stop_l) - { - Continue = includeIntoList (neighbour_l, Vert_1_l, Vert_2_l, Index); - if(Continue == true) - { - continue_out = Continue; - } - if(neighbour_l == neighbour_r) - { - break; - } - //"elem_l", "node_l", "elem_r", "node_r" have to be set on the next elements - node_l = getNext_node_l_r(elem_l,neighbour_l, node_l,VertGlobal); - elem_l = neighbour_l; - - } - if (!stop_r && neighbour_l != neighbour_r) - { - Continue = includeIntoList (neighbour_r, Vert_1_r, Vert_2_r, Index); - if(Continue == true) - { - continue_out = Continue; - } - //"elem_l", "node_l", "elem_r", "node_r" have to be set on the next elements - node_r = getNext_node_l_r(elem_r,neighbour_r, node_r, VertGlobal); - elem_r = neighbour_r; - } - } - return continue_out; -} - -bool -HL_SignedDistLevels::includeIntoList (int ElNum_in, - int VertNum_1_in, - int VertNum_2_in, - const int Index) -{ - Vert_Struct vertStruct_0; - Vert_Struct vertStruct_1; - - int *nodeIndices; - int *valuesINT = new int[dim+1]; - int *locVert = new int[dim]; - int value_q2; - int value_q5; - int value_q6; - int smiError; - - bool Continue = false; - - if(ElNum_in != -1) - { - smiError = - SMI_Get_elems(1, 1, 1, &ElNum_in, NULL, &nodeIndices, NULL, NULL); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_elems() failed with error %d\n", smiError); - - smiError = - SMI_Get_quantity_values(1, 1, 1, SMI_TYPE_INT, dim+1, 1, - const_cast<DegreeOfFreedom*>(&ElNum_in), - valuesINT); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", smiError); - - //if the pair of element and node isn't saved in any List and if it isn't a boundary-node include into adapting list - smiError = SMI_Get_quantity_values(1, 1, 2, SMI_TYPE_INT, 1, 1, - &nodeIndices[VertNum_1_in], - &value_q2); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", smiError); - - if(valuesINT[VertNum_1_in] == 0 && value_q2 == 0) - { - vertStruct_0.ElNum = ElNum_in; - vertStruct_0.VertNum = VertNum_1_in; - - smiError = - SMI_Get_quantity_values (1, 1, 6, SMI_TYPE_INT, 1, 1, &ElNum_in, - &value_q6); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", smiError); - - Level_[value_q6-1].push( vertStruct_0 ); - - //counts how often a node is saved in the list of lists - if(count_in_list == 1) - { - smiError = - SMI_Get_quantity_values(1, 1, 5, SMI_TYPE_INT, 1, 1, - const_cast<DegreeOfFreedom*>(& nodeIndices[vertStruct_0.VertNum]), - &value_q5); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", - smiError); - - value_q5 = value_q5 + 1; - - smiError = - SMI_Set_quantity_values(1, 1, 5, SMI_TYPE_INT, 1, 1, - const_cast<DegreeOfFreedom*>(& nodeIndices[vertStruct_0.VertNum]), - &value_q5); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Set_quantity_values() failed with error %d\n", - smiError); - } - - if(value_q6-1 < Index) - { - Continue = true; - } - - valuesINT[VertNum_1_in] = 1; - - smiError = - SMI_Set_quantity_values(1, 1, 1, SMI_TYPE_INT, dim+1, 1, -// &ElNum_in, &valuesINT); - &ElNum_in, valuesINT); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Set_quantity_values() failed with error %d\n", smiError); - } - - smiError = - SMI_Get_quantity_values(1, 1, 2, SMI_TYPE_INT, 1, 1, - &nodeIndices[VertNum_2_in], &value_q2); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", smiError); - - if(valuesINT[VertNum_2_in] == 0 && value_q2 == 0) - { - vertStruct_1.ElNum = ElNum_in; - vertStruct_1.VertNum = VertNum_2_in; - - smiError = - SMI_Get_quantity_values(1, 1, 6, SMI_TYPE_INT, 1, 1, &ElNum_in, - &value_q6); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", smiError); - - Level_[value_q6-1].push( vertStruct_1 ); - - //counts how often a node is saved in the list of lists - if(count_in_list == 1) - { - smiError = - SMI_Get_quantity_values(1, 1, 5, SMI_TYPE_INT, 1, 1, - const_cast<DegreeOfFreedom*>(& nodeIndices[vertStruct_1.VertNum]), - &value_q5); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", - smiError); - - value_q5 = value_q5 + 1; - - smiError = - SMI_Set_quantity_values(1, 1, 5, SMI_TYPE_INT, 1, 1, - const_cast<DegreeOfFreedom*>(& nodeIndices[vertStruct_1.VertNum]), - &value_q5); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Set_quantity_values() failed with error %d\n", - smiError); - } - - if(value_q6-1 < Index) - { - Continue = true; - } - - valuesINT[VertNum_2_in] = 1; - - smiError = - SMI_Set_quantity_values(1, 1, 1, SMI_TYPE_INT, dim+1, 1, - &ElNum_in, - //&valuesINT); - valuesINT); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Set_quantity_values() failed with error %d\n", smiError); - } - } - - delete [] valuesINT; - delete [] locVert; - - return Continue; -} - -bool -HL_SignedDistLevels::getNextNeighbour (const int ElNum_in, - const int Vert_Up_in, - const int VertNum_in, - int &ElNum_out, - int &VertNum_1_out, - int &VertNum_2_out) -{ - int *neighbour = new int[dim+1]; - int *oppVertices = new int[dim+1]; - int *nodeIndicesOfElem; - int smiError; - - smiAdapter->getNeighbourInfo(ElNum_in, neighbour,oppVertices); - - ElNum_out = neighbour [VertNum_in]; - - if(ElNum_out != -1) - { - smiError = - SMI_Get_elems(1, 1, 1, const_cast<DegreeOfFreedom*>(&(ElNum_out)), - NULL, &nodeIndicesOfElem, NULL, NULL); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_elems() failed with error %d\n", smiError); - - VertNum_1_out = oppVertices[VertNum_in]; - for (int i=0; i<=dim; i++) - { - if (nodeIndicesOfElem[i] != Vert_Up_in && i != VertNum_1_out) - { - VertNum_2_out = i; - } - } - } - - delete [] neighbour; - delete [] oppVertices; - - if (ElNum_out == -1) - { - return true; - } - - return false; - -} - -int -HL_SignedDistLevels::getNext_node_l_r (int elem_l_r_in, - int neighbour_l_r_in, - int node_l_r_in, - const int Vert) -{ - FUNCNAME("getNext_node_l_r()"); - - int *nodeIndicesOfElem; - int *nodeIndicesOfNeighbour = new int[dim+1]; - int globalNextNode_l_r_out; - - int smiError = - SMI_Get_elems(1, 1, 1, const_cast<DegreeOfFreedom*>(&neighbour_l_r_in), - NULL, &nodeIndicesOfElem, NULL, NULL); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_elems() failed with error %d\n", smiError); - - for(int i=0; i<=dim; i++) - { - nodeIndicesOfNeighbour[i] = nodeIndicesOfElem[i]; - } - - smiError = - SMI_Get_elems(1, 1, 1, const_cast<DegreeOfFreedom*>(&elem_l_r_in), - NULL, &nodeIndicesOfElem, NULL, NULL); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_elems() failed with error %d\n", smiError); - - for (int i=0; i<=dim; i++) - { - if(nodeIndicesOfElem[i] != Vert && i != node_l_r_in) - { - globalNextNode_l_r_out = nodeIndicesOfElem[i]; - } - } - for (int i=0; i<=dim; i++) - { - if(nodeIndicesOfNeighbour[i] == globalNextNode_l_r_out) - { - return i; - } - } - - ERROR_EXIT("should never be reached !\n"); - return 0; -} - -void -HL_SignedDistLevels::print_quantity_5 (int cntr) -{ - int numNodes; - int*nodeIndices; - double *coords = new double[dim]; - - int smiError = - SMI_Get_all_nodes(1, 1, const_cast<DegreeOfFreedom*>(&numNodes), - &nodeIndices); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_alls() failed with error %d\n", smiError); - - int *values_q5 = new int [numNodes]; - - std::string q5_OutFile_0; - std::string q5_OutFile_1; - std::string q5_OutFile_2; - std::string q5_OutFile_3; - std::string q5_OutFile_4; - - GET_PARAMETER(0, "SignedDist->count saving->output->filename_0", &q5_OutFile_0); - GET_PARAMETER(0, "SignedDist->count saving->output->filename_1", &q5_OutFile_1); - GET_PARAMETER(0, "SignedDist->count saving->output->filename_2", &q5_OutFile_2); - GET_PARAMETER(0, "SignedDist->count saving->output->filename_3", &q5_OutFile_3); - GET_PARAMETER(0, "SignedDist->count saving->output->filename_4", &q5_OutFile_4); - - - char cntrStr[20]; - sprintf(cntrStr, "%d", cntr); - q5_OutFile_0 += cntrStr; - q5_OutFile_1 += cntrStr; - q5_OutFile_2 += cntrStr; - q5_OutFile_3 += cntrStr; - q5_OutFile_4 += cntrStr; - - cout << "count saving Ausgabe-Datei_0: " << q5_OutFile_0.c_str() << "\n\n"; - cout << "count saving Ausgabe-Datei_1: " << q5_OutFile_1.c_str() << "\n\n"; - cout << "count saving Ausgabe-Datei_2: " << q5_OutFile_2.c_str() << "\n\n"; - cout << "count saving Ausgabe-Datei_3: " << q5_OutFile_3.c_str() << "\n\n"; - cout << "count saving Ausgabe-Datei_4: " << q5_OutFile_4.c_str() << "\n\n"; - - ofstream out_0 (q5_OutFile_0.c_str()); - ofstream out_1 (q5_OutFile_1.c_str()); - ofstream out_2 (q5_OutFile_2.c_str()); - ofstream out_3 (q5_OutFile_3.c_str()); - ofstream out_4 (q5_OutFile_4.c_str()); - - smiError = - SMI_Get_quantity_values(1, 1, 5, SMI_TYPE_INT, 1, numNodes, nodeIndices, - values_q5); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", smiError); - - for (int i=0; i<numNodes; i++) - { - smiError = - SMI_Get_nodes (1, 1, 1, dim, - const_cast<DegreeOfFreedom*>(&nodeIndices[i]), - coords); - - if(values_q5[i] == 0) - { - out_0<<coords[0]<<" "<<coords[1]<<"\n"; - } - if(values_q5[i] == 1) - { - out_1<<coords[0]<<" "<<coords[1]<<"\n"; - } - if(values_q5[i] == 2) - { - out_2<<coords[0]<<" "<<coords[1]<<"\n"; - } - if(values_q5[i] == 3) - { - out_3<<coords[0]<<" "<<coords[1]<<"\n"; - } - if(values_q5[i] >= 4) - { - out_4<<coords[0]<<" "<<coords[1]<<"\n"; - } - - - } - - out_0.close(); - out_1.close(); - out_2.close(); - out_3.close(); - out_4.close(); - - delete [] coords; - delete [] values_q5; -} - -void -HL_SignedDistLevels::print_quantity_6 () -{ - std::string smiOutFile2; - GET_PARAMETER(0, "SignedDist->print levels->filename2", &smiOutFile2); - cout << "count levels Ausgabe-Datei: " << smiOutFile2.c_str() << "\n\n"; - - ofstream out2 (smiOutFile2.c_str()); - - int numElems; - int *elemIndices; - - int smiError = SMI_Get_all_elems(1, 1, &numElems, &elemIndices); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_all_elems() failed with error %d\n", smiError); - - int *value_q6 = new int [numElems]; - - smiError = - SMI_Get_quantity_values(1, 1, 6, SMI_TYPE_INT, 1, numElems, elemIndices, - value_q6); - TEST_EXIT(smiError == SMI_OK) - ("SMI_Get_quantity_values() failed with error %d\n", smiError); - - int cl=0; - for (int i=0; i<numElems; i++) - { - out2<<elemIndices[i]<<" "<<value_q6[i]<<"\n"; - - if(value_q6[i] == 100000) - { - cl=cl +1; - } - } - - out2.close(); -} diff --git a/AMDiS/Reinit/src/HL_SignedDistLevels.h b/AMDiS/Reinit/src/HL_SignedDistLevels.h deleted file mode 100644 index 38eb9712fce4397bbb86854c80c46351c74b384c..0000000000000000000000000000000000000000 --- a/AMDiS/Reinit/src/HL_SignedDistLevels.h +++ /dev/null @@ -1,246 +0,0 @@ -// ============================================================================ -// == == -// == AMDiS - Adaptive multidimensional simulations == -// == == -// == http://www.amdis-fem.org == -// == == -// ============================================================================ -// -// Software License for AMDiS -// -// Copyright (c) 2010 Dresden University of Technology -// All rights reserved. -// Authors: Simon Vey, Thomas Witkowski et al. -// -// This file is part of AMDiS -// -// See also license.opensource.txt in the distribution. - - - - -#ifndef HL_SIGNEDDISTLEVELS -#define HL_SIGNEDDISTLEVELS - -#include <queue> -#include <vector> -#include <time.h> -#include "ElInfo.h" -#include "FixVec.h" -#include "Traverse.h" -#include "ElementLevelSet.h" -#include "BoundaryElementDist.h" -#include "ElementUpdate.h" -#include "ElementUpdate_2d.h" -#include "ElementUpdate_3d.h" -#include "HL_SignedDist.h" -#include "VelocityExt.h" -#include "SMIAdapter.h" -#include "smi.h" - -using namespace AMDiS; - -typedef struct -{ - int ElNum; - int VertNum; -} Vert_Struct; - -class HL_SignedDistLevels : public HL_SignedDist -{ -public: - HL_SignedDistLevels(const char *name_, - int dim_, - bool doVelocityExt = false, - Flag velExtType_ = VEL_EXT) - : HL_SignedDist(name_, dim_, doVelocityExt, velExtType_), - smiAdapter(NULL) - { - FUNCNAME("HL_SignedDistLevels::HL_SignedDistLevels()"); - - // ===== Read parameters from init file. ===== - GET_PARAMETER(0, name + "->tolerance", "%f", &tol); - GET_PARAMETER(0, name + "->count_how_often_saved_in_list", "%d", &count_in_list); - GET_PARAMETER(0, name + "->save_in_list->the ..th", "%d", &print_in_list); - GET_PARAMETER(0, name + "->save_in_list->after the ..th traversing of the list", "%d", &print_in_list_2); - GET_PARAMETER(0, name + "->print_level", "%d", &chosen_level); - GET_PARAMETER(0, name + "->print_level_yes_no", "%d", &print_level); - - TEST_EXIT(tol > 0)("illegal tolerance !\n"); - } - - protected: - /** - * Initializes the boundary: calculation of the distance of boundary - * vertices to the interface. - * Interface is given by \ref lS_DOF and result is stored in - * \ref sD_DOF. - */ - void initializeBoundary(); - - /** - * function for transvering Mesh to SMi an Adding the quantities - **/ - void Mesh_to_SMI_and_quantity (); - - /** - * function for creating the first list, in which elementnumber of - * boundary-elements are saved - */ - void createFirstList(const int elStatus, - const int *elVertStatusVec, - int ElNum, - const int NumVertIntPoints); - - /** - * Calculates the distance function and stores result in sD_DOF. - * Requirement: The boundary values are already set in \ref sD_DOF. - */ - void HL_updateIteration(); - - /** - * function for traversing the list "List_Element" - * returns 1 if min one element is set in the new list - * returns 0 if no element is set in the new list - */ - int traverseListElement(); - - /** - * function for creating all levels higher than 1 an saving pairs of - * elements and node in the right list - **/ - void createLevels (); - - /** - * function collects the next neighbours, creates an according list - * and saves the pair in it - * returns true if one or more neighbours exist and false if not - **/ - bool collectNeighbours_setLevels (const int Element, - const int currentIndex, - bool *elementInNewListSet); - - /** - * function for traversing the list of list, named "Level_" - **/ - void traversingListLevel_ ( DOFVector<double> *boundVal_DOF ); - - /** - * calls the next neighbours and puts them into the right list - * returns true if an element had to be saved in an lower level - * than the current index - * this means the loop over all lists Level_[i] has to be repaeated again - * "Vert" is a local node - **/ - bool search_and_include_comb(int ElNum, - int Vert, - int *nodeIndices, - const int Index); - - /** - * checking whether the element "ElNum_in" has to be included into - * the second list - * if yes it will be included - * returns true if the level of the element is smaler than he current index - * returns false if the level is greater thean the current index - * "Vert_1_in" and "Vert_2_in" are localvertizes - */ - bool includeIntoList (int ElNum_in, - int VertNum_1_in, - int VertNum_2_in, - const int Index); - - /** - * gets the neighbour according to the node "VertNum_in" and two of - * its nodes (in local koordinates) - * returns "false" if the called neighbour exists and "true" if not - * Vert_Up_in is given in global coordinates, the other points are - * given in local coordinates - */ - bool getNextNeighbour (const int ElNum_in, - const int Vert_Up_in, - const int VertNum_in, - int &ElNum_out, - int &VertNum_1_out, - int &VertNum_2_out); - - /** - * function needed in the function "traversingListELVert" - **/ - int getNext_node_l_r (int elem_l_r_in, - int neighbour_l_r_in, - int node_l_r_in, - const int Vert); - - //================================== - void print_quantity_5 (int cntr); - - /** - * function for printinq the quantity 6 - * attention: we need at least read_transaction in smi for calling - * this function - **/ - void print_quantity_6 (); - //==================================== - - protected: - /** - * Tolerance for Hopf-Lax update iteration loop. - */ - double tol; - - /** - * is needed for transfering the mesh to SMI - */ - SMIAdapter *smiAdapter; - - /** - * in this list boundary-elements are saved; - * is needed for creating the list "List_El_Vert" - */ - queue<int> List_Element; - - /** - * in this list structs filled with element-number and vertex-number - * are saved; - * is needed for traversing the mesh efficiently - */ - queue<Vert_Struct> Level; - - queue<Vert_Struct> helpLevel; - - queue<Vert_Struct> List_El_Vert; //Listen noch einmal kontrollieren! - - /** - * in this vector the lists of different levels are saved - **/ - vector<queue<Vert_Struct> > Level_; - - /** - * 0 ->do not count updates - * 1 ->count updates - **/ - int count_updates; - - /** - * 1 -> it will be count how often a node is saved in the second list - * 0 ->it will not be count - **/ - int count_in_list; - - int print_in_list; - int print_in_list_2; - - /** - * level which will be printed in a file - **/ - int chosen_level; - - /** - * 1->a special level will be printed in a file - * 0->no level is printed in a file - **/ - int print_level; -}; - -#endif // HL_SIGNEDDISTLEVELS diff --git a/AMDiS/src/Makefile.am b/AMDiS/src/Makefile.am index 6596db1e68d404acfb43f4307d18ee673d4a58a3..0bdb5be1344b6463f84d0eabd90f00d80fd201f9 100644 --- a/AMDiS/src/Makefile.am +++ b/AMDiS/src/Makefile.am @@ -1,4 +1,4 @@ -lib_LTLIBRARIES = libamdis.la libcompositeFEM.la +lib_LTLIBRARIES = libamdis.la libcompositeFEM.la libreinit.la LIB_DIR = ../lib PARALLEL_DIR = $(SOURCE_DIR) @@ -249,6 +249,21 @@ parallel/ParMetisPartitioner.h \ parallel/PetscSolver.h \ parallel/StdMpi.h \ parallel/ZoltanPartitioner.h \ +reinit/BoundaryElementDist.h \ +reinit/BoundaryElementEdgeDist.h \ +reinit/BoundaryElementLevelSetDist.h \ +reinit/BoundaryElementNormalDist.h \ +reinit/BoundaryElementTopDist.h \ +reinit/ElementLevelSet.h \ +reinit/ElementUpdate.h \ +reinit/ElementUpdate_2d.h \ +reinit/ElementUpdate_3d.h \ +reinit/HL_SignedDist.h \ +reinit/HL_SignedDistBornemann.h \ +reinit/HL_SignedDistTraverse.h \ +reinit/NormEps.h \ +reinit/VelocityExt.h \ +reinit/VelocityExtFromVelocityField.h \ time/RosenbrockAdaptInstationary.h \ time/RosenbrockStationary.h \ time/RosenbrockMethod.h @@ -377,3 +392,19 @@ compositeFEM/LevelSetAdaptMesh.cc \ compositeFEM/PenaltyOperator.cc \ compositeFEM/SubElementAssembler.cc \ compositeFEM/SubPolytope.cc + +libreinit_la_CXXFLAGS = $(libamdis_la_CXXFLAGS) +libreinit_la_SOURCES = \ +reinit/BoundaryElementDist.cc \ +reinit/BoundaryElementEdgeDist.cc \ +reinit/BoundaryElementLevelSetDist.cc \ +reinit/BoundaryElementNormalDist.cc \ +reinit/BoundaryElementTopDist.cc \ +reinit/ElementLevelSet.cc \ +reinit/ElementUpdate_2d.cc \ +reinit/ElementUpdate_3d.cc \ +reinit/HL_SignedDist.cc \ +reinit/HL_SignedDistTraverse.cc \ +reinit/NormEps.cc \ +reinit/VelocityExt.cc \ +reinit/VelocityExtFromVelocityField.cc \ No newline at end of file diff --git a/AMDiS/src/Makefile.in b/AMDiS/src/Makefile.in index f09b96de44432b8fe08adb0c41beb311ff375ffd..57fb5d7559ea4d12b25e458f6fbb3bf657dd1c23 100644 --- a/AMDiS/src/Makefile.in +++ b/AMDiS/src/Makefile.in @@ -213,6 +213,19 @@ am_libcompositeFEM_la_OBJECTS = libcompositeFEM_la-CFE_Integration.lo \ libcompositeFEM_la-SubElementAssembler.lo \ libcompositeFEM_la-SubPolytope.lo libcompositeFEM_la_OBJECTS = $(am_libcompositeFEM_la_OBJECTS) +libreinit_la_LIBADD = +am_libreinit_la_OBJECTS = libreinit_la-BoundaryElementDist.lo \ + libreinit_la-BoundaryElementEdgeDist.lo \ + libreinit_la-BoundaryElementLevelSetDist.lo \ + libreinit_la-BoundaryElementNormalDist.lo \ + libreinit_la-BoundaryElementTopDist.lo \ + libreinit_la-ElementLevelSet.lo \ + libreinit_la-ElementUpdate_2d.lo \ + libreinit_la-ElementUpdate_3d.lo libreinit_la-HL_SignedDist.lo \ + libreinit_la-HL_SignedDistTraverse.lo libreinit_la-NormEps.lo \ + libreinit_la-VelocityExt.lo \ + libreinit_la-VelocityExtFromVelocityField.lo +libreinit_la_OBJECTS = $(am_libreinit_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -224,9 +237,10 @@ LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ CXXLD = $(CXX) CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(libamdis_la_SOURCES) $(libcompositeFEM_la_SOURCES) +SOURCES = $(libamdis_la_SOURCES) $(libcompositeFEM_la_SOURCES) \ + $(libreinit_la_SOURCES) DIST_SOURCES = $(am__libamdis_la_SOURCES_DIST) \ - $(libcompositeFEM_la_SOURCES) + $(libcompositeFEM_la_SOURCES) $(libreinit_la_SOURCES) nobase_includeHEADERS_INSTALL = $(install_sh_DATA) HEADERS = $(nobase_include_HEADERS) ETAGS = etags @@ -356,12 +370,11 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -lib_LTLIBRARIES = libamdis.la libcompositeFEM.la +lib_LTLIBRARIES = libamdis.la libcompositeFEM.la libreinit.la LIB_DIR = ../lib PARALLEL_DIR = $(SOURCE_DIR) PARMETIS_DIR = ../lib/ParMetis-3.1 -AMDIS_INCLUDES = -I$(SOURCE_DIR) $(am__append_3) $(am__append_5) \ - $(am__append_8) +AMDIS_INCLUDES = $(am__append_3) $(am__append_5) $(am__append_8) libamdis_la_CXXFLAGS = $(am__append_2) $(am__append_4) $(am__append_6) \ $(am__append_7) $(am__append_9) $(am__append_10) \ $(am__append_11) @@ -559,6 +572,21 @@ parallel/ParMetisPartitioner.h \ parallel/PetscSolver.h \ parallel/StdMpi.h \ parallel/ZoltanPartitioner.h \ +reinit/BoundaryElementDist.h \ +reinit/BoundaryElementEdgeDist.h \ +reinit/BoundaryElementLevelSetDist.h \ +reinit/BoundaryElementNormalDist.h \ +reinit/BoundaryElementTopDist.h \ +reinit/ElementLevelSet.h \ +reinit/ElementUpdate.h \ +reinit/ElementUpdate_2d.h \ +reinit/ElementUpdate_3d.h \ +reinit/HL_SignedDist.h \ +reinit/HL_SignedDistBornemann.h \ +reinit/HL_SignedDistTraverse.h \ +reinit/NormEps.h \ +reinit/VelocityExt.h \ +reinit/VelocityExtFromVelocityField.h \ time/RosenbrockAdaptInstationary.h \ time/RosenbrockStationary.h \ time/RosenbrockMethod.h @@ -685,6 +713,22 @@ compositeFEM/PenaltyOperator.cc \ compositeFEM/SubElementAssembler.cc \ compositeFEM/SubPolytope.cc +libreinit_la_CXXFLAGS = $(libamdis_la_CXXFLAGS) +libreinit_la_SOURCES = \ +reinit/BoundaryElementDist.cc \ +reinit/BoundaryElementEdgeDist.cc \ +reinit/BoundaryElementLevelSetDist.cc \ +reinit/BoundaryElementNormalDist.cc \ +reinit/BoundaryElementTopDist.cc \ +reinit/ElementLevelSet.cc \ +reinit/ElementUpdate_2d.cc \ +reinit/ElementUpdate_3d.cc \ +reinit/HL_SignedDist.cc \ +reinit/HL_SignedDistTraverse.cc \ +reinit/NormEps.cc \ +reinit/VelocityExt.cc \ +reinit/VelocityExtFromVelocityField.cc + all: all-am .SUFFIXES: @@ -749,6 +793,8 @@ libamdis.la: $(libamdis_la_OBJECTS) $(libamdis_la_DEPENDENCIES) $(CXXLINK) -rpath $(libdir) $(libamdis_la_LDFLAGS) $(libamdis_la_OBJECTS) $(libamdis_la_LIBADD) $(LIBS) libcompositeFEM.la: $(libcompositeFEM_la_OBJECTS) $(libcompositeFEM_la_DEPENDENCIES) $(CXXLINK) -rpath $(libdir) $(libcompositeFEM_la_LDFLAGS) $(libcompositeFEM_la_OBJECTS) $(libcompositeFEM_la_LIBADD) $(LIBS) +libreinit.la: $(libreinit_la_OBJECTS) $(libreinit_la_DEPENDENCIES) + $(CXXLINK) -rpath $(libdir) $(libreinit_la_LDFLAGS) $(libreinit_la_OBJECTS) $(libreinit_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -883,6 +929,19 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcompositeFEM_la-PenaltyOperator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcompositeFEM_la-SubElementAssembler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcompositeFEM_la-SubPolytope.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreinit_la-BoundaryElementDist.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreinit_la-BoundaryElementEdgeDist.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreinit_la-BoundaryElementLevelSetDist.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreinit_la-BoundaryElementNormalDist.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreinit_la-BoundaryElementTopDist.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreinit_la-ElementLevelSet.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreinit_la-ElementUpdate_2d.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreinit_la-ElementUpdate_3d.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreinit_la-HL_SignedDist.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreinit_la-HL_SignedDistTraverse.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreinit_la-NormEps.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreinit_la-VelocityExt.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreinit_la-VelocityExtFromVelocityField.Plo@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ @@ -1794,6 +1853,97 @@ libcompositeFEM_la-SubPolytope.lo: compositeFEM/SubPolytope.cc @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libcompositeFEM_la_CXXFLAGS) $(CXXFLAGS) -c -o libcompositeFEM_la-SubPolytope.lo `test -f 'compositeFEM/SubPolytope.cc' || echo '$(srcdir)/'`compositeFEM/SubPolytope.cc +libreinit_la-BoundaryElementDist.lo: reinit/BoundaryElementDist.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -MT libreinit_la-BoundaryElementDist.lo -MD -MP -MF "$(DEPDIR)/libreinit_la-BoundaryElementDist.Tpo" -c -o libreinit_la-BoundaryElementDist.lo `test -f 'reinit/BoundaryElementDist.cc' || echo '$(srcdir)/'`reinit/BoundaryElementDist.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libreinit_la-BoundaryElementDist.Tpo" "$(DEPDIR)/libreinit_la-BoundaryElementDist.Plo"; else rm -f "$(DEPDIR)/libreinit_la-BoundaryElementDist.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='reinit/BoundaryElementDist.cc' object='libreinit_la-BoundaryElementDist.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -c -o libreinit_la-BoundaryElementDist.lo `test -f 'reinit/BoundaryElementDist.cc' || echo '$(srcdir)/'`reinit/BoundaryElementDist.cc + +libreinit_la-BoundaryElementEdgeDist.lo: reinit/BoundaryElementEdgeDist.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -MT libreinit_la-BoundaryElementEdgeDist.lo -MD -MP -MF "$(DEPDIR)/libreinit_la-BoundaryElementEdgeDist.Tpo" -c -o libreinit_la-BoundaryElementEdgeDist.lo `test -f 'reinit/BoundaryElementEdgeDist.cc' || echo '$(srcdir)/'`reinit/BoundaryElementEdgeDist.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libreinit_la-BoundaryElementEdgeDist.Tpo" "$(DEPDIR)/libreinit_la-BoundaryElementEdgeDist.Plo"; else rm -f "$(DEPDIR)/libreinit_la-BoundaryElementEdgeDist.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='reinit/BoundaryElementEdgeDist.cc' object='libreinit_la-BoundaryElementEdgeDist.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -c -o libreinit_la-BoundaryElementEdgeDist.lo `test -f 'reinit/BoundaryElementEdgeDist.cc' || echo '$(srcdir)/'`reinit/BoundaryElementEdgeDist.cc + +libreinit_la-BoundaryElementLevelSetDist.lo: reinit/BoundaryElementLevelSetDist.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -MT libreinit_la-BoundaryElementLevelSetDist.lo -MD -MP -MF "$(DEPDIR)/libreinit_la-BoundaryElementLevelSetDist.Tpo" -c -o libreinit_la-BoundaryElementLevelSetDist.lo `test -f 'reinit/BoundaryElementLevelSetDist.cc' || echo '$(srcdir)/'`reinit/BoundaryElementLevelSetDist.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libreinit_la-BoundaryElementLevelSetDist.Tpo" "$(DEPDIR)/libreinit_la-BoundaryElementLevelSetDist.Plo"; else rm -f "$(DEPDIR)/libreinit_la-BoundaryElementLevelSetDist.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='reinit/BoundaryElementLevelSetDist.cc' object='libreinit_la-BoundaryElementLevelSetDist.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -c -o libreinit_la-BoundaryElementLevelSetDist.lo `test -f 'reinit/BoundaryElementLevelSetDist.cc' || echo '$(srcdir)/'`reinit/BoundaryElementLevelSetDist.cc + +libreinit_la-BoundaryElementNormalDist.lo: reinit/BoundaryElementNormalDist.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -MT libreinit_la-BoundaryElementNormalDist.lo -MD -MP -MF "$(DEPDIR)/libreinit_la-BoundaryElementNormalDist.Tpo" -c -o libreinit_la-BoundaryElementNormalDist.lo `test -f 'reinit/BoundaryElementNormalDist.cc' || echo '$(srcdir)/'`reinit/BoundaryElementNormalDist.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libreinit_la-BoundaryElementNormalDist.Tpo" "$(DEPDIR)/libreinit_la-BoundaryElementNormalDist.Plo"; else rm -f "$(DEPDIR)/libreinit_la-BoundaryElementNormalDist.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='reinit/BoundaryElementNormalDist.cc' object='libreinit_la-BoundaryElementNormalDist.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -c -o libreinit_la-BoundaryElementNormalDist.lo `test -f 'reinit/BoundaryElementNormalDist.cc' || echo '$(srcdir)/'`reinit/BoundaryElementNormalDist.cc + +libreinit_la-BoundaryElementTopDist.lo: reinit/BoundaryElementTopDist.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -MT libreinit_la-BoundaryElementTopDist.lo -MD -MP -MF "$(DEPDIR)/libreinit_la-BoundaryElementTopDist.Tpo" -c -o libreinit_la-BoundaryElementTopDist.lo `test -f 'reinit/BoundaryElementTopDist.cc' || echo '$(srcdir)/'`reinit/BoundaryElementTopDist.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libreinit_la-BoundaryElementTopDist.Tpo" "$(DEPDIR)/libreinit_la-BoundaryElementTopDist.Plo"; else rm -f "$(DEPDIR)/libreinit_la-BoundaryElementTopDist.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='reinit/BoundaryElementTopDist.cc' object='libreinit_la-BoundaryElementTopDist.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -c -o libreinit_la-BoundaryElementTopDist.lo `test -f 'reinit/BoundaryElementTopDist.cc' || echo '$(srcdir)/'`reinit/BoundaryElementTopDist.cc + +libreinit_la-ElementLevelSet.lo: reinit/ElementLevelSet.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -MT libreinit_la-ElementLevelSet.lo -MD -MP -MF "$(DEPDIR)/libreinit_la-ElementLevelSet.Tpo" -c -o libreinit_la-ElementLevelSet.lo `test -f 'reinit/ElementLevelSet.cc' || echo '$(srcdir)/'`reinit/ElementLevelSet.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libreinit_la-ElementLevelSet.Tpo" "$(DEPDIR)/libreinit_la-ElementLevelSet.Plo"; else rm -f "$(DEPDIR)/libreinit_la-ElementLevelSet.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='reinit/ElementLevelSet.cc' object='libreinit_la-ElementLevelSet.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -c -o libreinit_la-ElementLevelSet.lo `test -f 'reinit/ElementLevelSet.cc' || echo '$(srcdir)/'`reinit/ElementLevelSet.cc + +libreinit_la-ElementUpdate_2d.lo: reinit/ElementUpdate_2d.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -MT libreinit_la-ElementUpdate_2d.lo -MD -MP -MF "$(DEPDIR)/libreinit_la-ElementUpdate_2d.Tpo" -c -o libreinit_la-ElementUpdate_2d.lo `test -f 'reinit/ElementUpdate_2d.cc' || echo '$(srcdir)/'`reinit/ElementUpdate_2d.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libreinit_la-ElementUpdate_2d.Tpo" "$(DEPDIR)/libreinit_la-ElementUpdate_2d.Plo"; else rm -f "$(DEPDIR)/libreinit_la-ElementUpdate_2d.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='reinit/ElementUpdate_2d.cc' object='libreinit_la-ElementUpdate_2d.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -c -o libreinit_la-ElementUpdate_2d.lo `test -f 'reinit/ElementUpdate_2d.cc' || echo '$(srcdir)/'`reinit/ElementUpdate_2d.cc + +libreinit_la-ElementUpdate_3d.lo: reinit/ElementUpdate_3d.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -MT libreinit_la-ElementUpdate_3d.lo -MD -MP -MF "$(DEPDIR)/libreinit_la-ElementUpdate_3d.Tpo" -c -o libreinit_la-ElementUpdate_3d.lo `test -f 'reinit/ElementUpdate_3d.cc' || echo '$(srcdir)/'`reinit/ElementUpdate_3d.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libreinit_la-ElementUpdate_3d.Tpo" "$(DEPDIR)/libreinit_la-ElementUpdate_3d.Plo"; else rm -f "$(DEPDIR)/libreinit_la-ElementUpdate_3d.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='reinit/ElementUpdate_3d.cc' object='libreinit_la-ElementUpdate_3d.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -c -o libreinit_la-ElementUpdate_3d.lo `test -f 'reinit/ElementUpdate_3d.cc' || echo '$(srcdir)/'`reinit/ElementUpdate_3d.cc + +libreinit_la-HL_SignedDist.lo: reinit/HL_SignedDist.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -MT libreinit_la-HL_SignedDist.lo -MD -MP -MF "$(DEPDIR)/libreinit_la-HL_SignedDist.Tpo" -c -o libreinit_la-HL_SignedDist.lo `test -f 'reinit/HL_SignedDist.cc' || echo '$(srcdir)/'`reinit/HL_SignedDist.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libreinit_la-HL_SignedDist.Tpo" "$(DEPDIR)/libreinit_la-HL_SignedDist.Plo"; else rm -f "$(DEPDIR)/libreinit_la-HL_SignedDist.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='reinit/HL_SignedDist.cc' object='libreinit_la-HL_SignedDist.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -c -o libreinit_la-HL_SignedDist.lo `test -f 'reinit/HL_SignedDist.cc' || echo '$(srcdir)/'`reinit/HL_SignedDist.cc + +libreinit_la-HL_SignedDistTraverse.lo: reinit/HL_SignedDistTraverse.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -MT libreinit_la-HL_SignedDistTraverse.lo -MD -MP -MF "$(DEPDIR)/libreinit_la-HL_SignedDistTraverse.Tpo" -c -o libreinit_la-HL_SignedDistTraverse.lo `test -f 'reinit/HL_SignedDistTraverse.cc' || echo '$(srcdir)/'`reinit/HL_SignedDistTraverse.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libreinit_la-HL_SignedDistTraverse.Tpo" "$(DEPDIR)/libreinit_la-HL_SignedDistTraverse.Plo"; else rm -f "$(DEPDIR)/libreinit_la-HL_SignedDistTraverse.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='reinit/HL_SignedDistTraverse.cc' object='libreinit_la-HL_SignedDistTraverse.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -c -o libreinit_la-HL_SignedDistTraverse.lo `test -f 'reinit/HL_SignedDistTraverse.cc' || echo '$(srcdir)/'`reinit/HL_SignedDistTraverse.cc + +libreinit_la-NormEps.lo: reinit/NormEps.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -MT libreinit_la-NormEps.lo -MD -MP -MF "$(DEPDIR)/libreinit_la-NormEps.Tpo" -c -o libreinit_la-NormEps.lo `test -f 'reinit/NormEps.cc' || echo '$(srcdir)/'`reinit/NormEps.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libreinit_la-NormEps.Tpo" "$(DEPDIR)/libreinit_la-NormEps.Plo"; else rm -f "$(DEPDIR)/libreinit_la-NormEps.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='reinit/NormEps.cc' object='libreinit_la-NormEps.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -c -o libreinit_la-NormEps.lo `test -f 'reinit/NormEps.cc' || echo '$(srcdir)/'`reinit/NormEps.cc + +libreinit_la-VelocityExt.lo: reinit/VelocityExt.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -MT libreinit_la-VelocityExt.lo -MD -MP -MF "$(DEPDIR)/libreinit_la-VelocityExt.Tpo" -c -o libreinit_la-VelocityExt.lo `test -f 'reinit/VelocityExt.cc' || echo '$(srcdir)/'`reinit/VelocityExt.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libreinit_la-VelocityExt.Tpo" "$(DEPDIR)/libreinit_la-VelocityExt.Plo"; else rm -f "$(DEPDIR)/libreinit_la-VelocityExt.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='reinit/VelocityExt.cc' object='libreinit_la-VelocityExt.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -c -o libreinit_la-VelocityExt.lo `test -f 'reinit/VelocityExt.cc' || echo '$(srcdir)/'`reinit/VelocityExt.cc + +libreinit_la-VelocityExtFromVelocityField.lo: reinit/VelocityExtFromVelocityField.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -MT libreinit_la-VelocityExtFromVelocityField.lo -MD -MP -MF "$(DEPDIR)/libreinit_la-VelocityExtFromVelocityField.Tpo" -c -o libreinit_la-VelocityExtFromVelocityField.lo `test -f 'reinit/VelocityExtFromVelocityField.cc' || echo '$(srcdir)/'`reinit/VelocityExtFromVelocityField.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libreinit_la-VelocityExtFromVelocityField.Tpo" "$(DEPDIR)/libreinit_la-VelocityExtFromVelocityField.Plo"; else rm -f "$(DEPDIR)/libreinit_la-VelocityExtFromVelocityField.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='reinit/VelocityExtFromVelocityField.cc' object='libreinit_la-VelocityExtFromVelocityField.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreinit_la_CXXFLAGS) $(CXXFLAGS) -c -o libreinit_la-VelocityExtFromVelocityField.lo `test -f 'reinit/VelocityExtFromVelocityField.cc' || echo '$(srcdir)/'`reinit/VelocityExtFromVelocityField.cc + mostlyclean-libtool: -rm -f *.lo @@ -1872,7 +2022,7 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/compositeFEM $(distdir)/io $(distdir)/itl $(distdir)/parallel $(distdir)/time + $(mkdir_p) $(distdir)/compositeFEM $(distdir)/io $(distdir)/itl $(distdir)/parallel $(distdir)/reinit $(distdir)/time @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ diff --git a/AMDiS/Reinit/src/BoundaryElementDist.cc b/AMDiS/src/reinit/BoundaryElementDist.cc similarity index 100% rename from AMDiS/Reinit/src/BoundaryElementDist.cc rename to AMDiS/src/reinit/BoundaryElementDist.cc diff --git a/AMDiS/Reinit/src/BoundaryElementDist.h b/AMDiS/src/reinit/BoundaryElementDist.h similarity index 100% rename from AMDiS/Reinit/src/BoundaryElementDist.h rename to AMDiS/src/reinit/BoundaryElementDist.h diff --git a/AMDiS/Reinit/src/BoundaryElementEdgeDist.cc b/AMDiS/src/reinit/BoundaryElementEdgeDist.cc similarity index 100% rename from AMDiS/Reinit/src/BoundaryElementEdgeDist.cc rename to AMDiS/src/reinit/BoundaryElementEdgeDist.cc diff --git a/AMDiS/Reinit/src/BoundaryElementEdgeDist.h b/AMDiS/src/reinit/BoundaryElementEdgeDist.h similarity index 100% rename from AMDiS/Reinit/src/BoundaryElementEdgeDist.h rename to AMDiS/src/reinit/BoundaryElementEdgeDist.h diff --git a/AMDiS/Reinit/src/BoundaryElementLevelSetDist.cc b/AMDiS/src/reinit/BoundaryElementLevelSetDist.cc similarity index 100% rename from AMDiS/Reinit/src/BoundaryElementLevelSetDist.cc rename to AMDiS/src/reinit/BoundaryElementLevelSetDist.cc diff --git a/AMDiS/Reinit/src/BoundaryElementLevelSetDist.h b/AMDiS/src/reinit/BoundaryElementLevelSetDist.h similarity index 100% rename from AMDiS/Reinit/src/BoundaryElementLevelSetDist.h rename to AMDiS/src/reinit/BoundaryElementLevelSetDist.h diff --git a/AMDiS/Reinit/src/BoundaryElementNormalDist.cc b/AMDiS/src/reinit/BoundaryElementNormalDist.cc similarity index 100% rename from AMDiS/Reinit/src/BoundaryElementNormalDist.cc rename to AMDiS/src/reinit/BoundaryElementNormalDist.cc diff --git a/AMDiS/Reinit/src/BoundaryElementNormalDist.h b/AMDiS/src/reinit/BoundaryElementNormalDist.h similarity index 100% rename from AMDiS/Reinit/src/BoundaryElementNormalDist.h rename to AMDiS/src/reinit/BoundaryElementNormalDist.h diff --git a/AMDiS/Reinit/src/BoundaryElementTopDist.cc b/AMDiS/src/reinit/BoundaryElementTopDist.cc similarity index 100% rename from AMDiS/Reinit/src/BoundaryElementTopDist.cc rename to AMDiS/src/reinit/BoundaryElementTopDist.cc diff --git a/AMDiS/Reinit/src/BoundaryElementTopDist.h b/AMDiS/src/reinit/BoundaryElementTopDist.h similarity index 100% rename from AMDiS/Reinit/src/BoundaryElementTopDist.h rename to AMDiS/src/reinit/BoundaryElementTopDist.h diff --git a/AMDiS/Reinit/src/ElementLevelSet.cc b/AMDiS/src/reinit/ElementLevelSet.cc similarity index 100% rename from AMDiS/Reinit/src/ElementLevelSet.cc rename to AMDiS/src/reinit/ElementLevelSet.cc diff --git a/AMDiS/Reinit/src/ElementLevelSet.h b/AMDiS/src/reinit/ElementLevelSet.h similarity index 100% rename from AMDiS/Reinit/src/ElementLevelSet.h rename to AMDiS/src/reinit/ElementLevelSet.h diff --git a/AMDiS/Reinit/src/ElementUpdate.h b/AMDiS/src/reinit/ElementUpdate.h similarity index 100% rename from AMDiS/Reinit/src/ElementUpdate.h rename to AMDiS/src/reinit/ElementUpdate.h diff --git a/AMDiS/Reinit/src/ElementUpdate_2d.cc b/AMDiS/src/reinit/ElementUpdate_2d.cc similarity index 100% rename from AMDiS/Reinit/src/ElementUpdate_2d.cc rename to AMDiS/src/reinit/ElementUpdate_2d.cc diff --git a/AMDiS/Reinit/src/ElementUpdate_2d.h b/AMDiS/src/reinit/ElementUpdate_2d.h similarity index 100% rename from AMDiS/Reinit/src/ElementUpdate_2d.h rename to AMDiS/src/reinit/ElementUpdate_2d.h diff --git a/AMDiS/Reinit/src/ElementUpdate_3d.cc b/AMDiS/src/reinit/ElementUpdate_3d.cc similarity index 100% rename from AMDiS/Reinit/src/ElementUpdate_3d.cc rename to AMDiS/src/reinit/ElementUpdate_3d.cc diff --git a/AMDiS/Reinit/src/ElementUpdate_3d.h b/AMDiS/src/reinit/ElementUpdate_3d.h similarity index 100% rename from AMDiS/Reinit/src/ElementUpdate_3d.h rename to AMDiS/src/reinit/ElementUpdate_3d.h diff --git a/AMDiS/Reinit/src/HL_SignedDist.cc b/AMDiS/src/reinit/HL_SignedDist.cc similarity index 100% rename from AMDiS/Reinit/src/HL_SignedDist.cc rename to AMDiS/src/reinit/HL_SignedDist.cc diff --git a/AMDiS/Reinit/src/HL_SignedDist.h b/AMDiS/src/reinit/HL_SignedDist.h similarity index 100% rename from AMDiS/Reinit/src/HL_SignedDist.h rename to AMDiS/src/reinit/HL_SignedDist.h diff --git a/AMDiS/Reinit/src/HL_SignedDistBornemann.h b/AMDiS/src/reinit/HL_SignedDistBornemann.h similarity index 100% rename from AMDiS/Reinit/src/HL_SignedDistBornemann.h rename to AMDiS/src/reinit/HL_SignedDistBornemann.h diff --git a/AMDiS/Reinit/src/HL_SignedDistTraverse.cc b/AMDiS/src/reinit/HL_SignedDistTraverse.cc similarity index 98% rename from AMDiS/Reinit/src/HL_SignedDistTraverse.cc rename to AMDiS/src/reinit/HL_SignedDistTraverse.cc index 3ece9b84763c4edcb57540457d74aa0d2869f5f7..a0bb681f81a5cef93a8c3abe210dde7afb7cc661 100644 --- a/AMDiS/Reinit/src/HL_SignedDistTraverse.cc +++ b/AMDiS/src/reinit/HL_SignedDistTraverse.cc @@ -26,7 +26,7 @@ void HL_SignedDistTraverse::initializeBoundary() int elStatus; const int nBasFcts = feSpace->getBasisFcts()->getNumber(); - if (locInd.size() < nBasFcts) + if (static_cast<int>(locInd.size()) < nBasFcts) locInd.resize(nBasFcts); ElInfo *elInfo; @@ -101,6 +101,7 @@ void HL_SignedDistTraverse::initializeBoundary() } // end of: mesh traverse } + void HL_SignedDistTraverse::HL_updateIteration() { // ===== Create DOF vector for the last iteration step. ===== @@ -150,13 +151,14 @@ void HL_SignedDistTraverse::HL_updateIteration() cout << "\tnumber of iterations needed: " << itCntr << "\n\n"; } + void HL_SignedDistTraverse::HL_elementUpdate(ElInfo *elInfo) { FUNCNAME("HL_SignedDistTraverse::HL_elementUpdate()"); // ===== Get global indices of vertices of element. ===== const int nBasFcts = feSpace->getBasisFcts()->getNumber(); - if (locInd.size() < nBasFcts) + if (static_cast<int>(locInd.size()) < nBasFcts) locInd.resize(nBasFcts); feSpace->getBasisFcts()->getLocalIndices( @@ -195,6 +197,7 @@ void HL_SignedDistTraverse::HL_elementUpdate(ElInfo *elInfo) } } + double HL_SignedDistTraverse::calcElementUpdate(ElInfo *elInfo, int nXh, const DegreeOfFreedom *locInd) @@ -241,6 +244,7 @@ double HL_SignedDistTraverse::calcElementUpdate(ElInfo *elInfo, return elUpdate->calcElementUpdate(elVert, uhVal); } + bool HL_SignedDistTraverse::checkTol() { DOFVector<double>::Iterator it_sD(sD_DOF, USED_DOFS); diff --git a/AMDiS/Reinit/src/HL_SignedDistTraverse.h b/AMDiS/src/reinit/HL_SignedDistTraverse.h similarity index 100% rename from AMDiS/Reinit/src/HL_SignedDistTraverse.h rename to AMDiS/src/reinit/HL_SignedDistTraverse.h diff --git a/AMDiS/Reinit/src/NormEps.cc b/AMDiS/src/reinit/NormEps.cc similarity index 100% rename from AMDiS/Reinit/src/NormEps.cc rename to AMDiS/src/reinit/NormEps.cc diff --git a/AMDiS/Reinit/src/NormEps.h b/AMDiS/src/reinit/NormEps.h similarity index 100% rename from AMDiS/Reinit/src/NormEps.h rename to AMDiS/src/reinit/NormEps.h diff --git a/AMDiS/Reinit/src/VelocityExt.cc b/AMDiS/src/reinit/VelocityExt.cc similarity index 100% rename from AMDiS/Reinit/src/VelocityExt.cc rename to AMDiS/src/reinit/VelocityExt.cc diff --git a/AMDiS/Reinit/src/VelocityExt.h b/AMDiS/src/reinit/VelocityExt.h similarity index 77% rename from AMDiS/Reinit/src/VelocityExt.h rename to AMDiS/src/reinit/VelocityExt.h index 1b73b5b8fd77b43b63e937532fe3d6ed790f3677..6996b869f82121776331f874fdd0d4b06b2cecfa 100644 --- a/AMDiS/Reinit/src/VelocityExt.h +++ b/AMDiS/src/reinit/VelocityExt.h @@ -50,7 +50,7 @@ public: { FUNCNAME("VelocityExt::printVelDOF()"); - TEST_EXIT(i < velDOF.size())("illegal index !\n"); + TEST_EXIT(i < static_cast<int>(velDOF.size()))("Illegal index!\n"); FileWriter *fileWriter = new FileWriter( "VelocityExt->velocity output", @@ -66,7 +66,7 @@ public: { FUNCNAME("VelocityExt::printOrigVelDOF()"); - TEST_EXIT(i < origVelDOF.size())("illegal index !\n"); + TEST_EXIT(i < static_cast<int>(origVelDOF.size()))("Illegal index!\n"); FileWriter *fileWriter = new FileWriter( "VelocityExt->interface velocity output", @@ -75,11 +75,9 @@ public: fileWriter->writeFiles(adaptInfo, false); delete fileWriter; - }; + } - /** - * Set velocity (one velocity vector). - */ + /// Set velocity (one velocity vector). void setVelocity(DOFVector<double> *origVelDOF_, DOFVector<double> *velDOF_) { @@ -97,11 +95,9 @@ public: origVelDOF.push_back(origVelDOF_); velDOF.push_back(velDOF_); - }; + } - /** - * Set velocity (multiple velocity vectors). - */ + /// Set velocity (multiple velocity vectors). void setVelocity(std::vector<DOFVector<double> *> &origVelDOF_, std::vector<DOFVector<double> *> &velDOF_) { @@ -109,8 +105,8 @@ public: nVelDOFs = origVelDOF_.size(); - TEST_EXIT(nVelDOFs > 0)("illegal number of velocity vectors !\n"); - TEST_EXIT(nVelDOFs == velDOF_.size())("different sizes !\n"); + TEST_EXIT(nVelDOFs > 0)("Illegal number of velocity vectors!\n"); + TEST_EXIT(nVelDOFs == static_cast<int>(velDOF_.size()))("Different sizes!\n"); for (int i=0; i<nVelDOFs; ++i) { TEST_EXIT(origVelDOF_[i])("illegal velocity vector origVelDOF !\n"); @@ -146,18 +142,27 @@ public: * indexV is the index of the vertex(with respect to the numeration on the element), * for that the coordinates shall be stored. */ - void setBarycentricCoords_2D_boundary(const double &l_0, const double &l_1, const double &l_2, const int indexV); + void setBarycentricCoords_2D_boundary(const double &l_0, + const double &l_1, + const double &l_2, + const int indexV); /** * Sets barycentric coordinates for 2D for a vertex on a non-boundary element. * l_0. l_1, l_2 are the coordinates. */ - void setBarycentricCoords_2D(const double &l_0, const double &l_1, const double &l_2); + void setBarycentricCoords_2D(const double &l_0, + const double &l_1, + const double &l_2); /** - * Calculates the barycentric coordinates for 2D for a vertex on a non-boundary element. + * Calculates the barycentric coordinates for 2D for a vertex on a + * non-boundary element. */ - void calcBarycentricCoords_2D(const double &c_delta, const double &c_alpha, const double &norm_zhminusyh, const double &norm_xhminusyh); + void calcBarycentricCoords_2D(const double &c_delta, + const double &c_alpha, + const double &norm_zhminusyh, + const double &norm_xhminusyh); /** * Sets barycentric coordinates for 3D for a vertex on a boundary element @@ -166,24 +171,33 @@ public: * indexV is the index of the vertex(with respect to the numeration on the element), * for that the coordinates shall be stored. */ - void setBarycentricCoords_3D_boundary(const double &l_0, const double &l_1, const double &l_2, const double &l_3, const int indexV); + void setBarycentricCoords_3D_boundary(const double &l_0, + const double &l_1, + const double &l_2, + const double &l_3, + const int indexV); + + /// Calculates the barycentric coordinates for 3D for a boundary vertex. + void calcBarycentricCoords_3D_boundary(const DimVec<double> sp1, + const DimVec<double> sp2, + const double lambda, + int i); /** - * Calculates the barycentric coordinates for 3D for a boundary vertex. + * Expands 3 coordinates from a face update to 4 coordinates and stores them in + * lamVec[index]. vertNum is the index of the element face the coordinates + * belong to (0, 1 or 2). */ - void calcBarycentricCoords_3D_boundary(const DimVec<double> sp1, const DimVec<double> sp2, const double lambda, int i); + void copyAndExpandFaceCoords_3D(int vertNum, int index); /** - * Expands 3 coordinates from a face update to 4 coordinates and stores them in lamVec[index]. - * vertNum is the index of the element face the coordinates belong to(0,1,or 2). - */ - void copyAndExpandFaceCoords_3D(int vertNum,int index); - -/** * Sets barycentric coordinates for 3D for a vertex on a non-boundary element. * l_0, l_1, l-2, l_3 are the coordinates. */ - void setBarycentricCoords_3D(const double &l_0, const double &l_1, const double &l_2, const double &l_3); + void setBarycentricCoords_3D(const double &l_0, + const double &l_1, + const double &l_2, + const double &l_3); /** * Stores the index of element face with the shortest distance to the interface so far. @@ -201,45 +215,29 @@ public: */ void setPermutation(int vertNum, int mTrav); - /** - * Sets the permutation. - */ + /// Sets the permutation. void setPermutation(int vertNum); - /** - * Sets the permutation of the vertices in 2D. - */ + /// Sets the permutation of the vertices in 2D. void setPermutation_2D(int i_0, int i_1, int i_2); - /** - * Sets the permutation of the vertices in 3D. - */ + /// Sets the permutation of the vertices in 3D. void setPermutation_3D(int i_0, int i_1, int i_2, int i_3); - /** - * Swaps two vertices in the permutation. - */ + /// Swaps two vertices in the permutation. void swapVertices(int i1, int i2); protected: - /** - * Original velocity vector. - */ + /// Original velocity vector. std::vector<DOFVector<double> *> origVelDOF; - /** - * Dimension of mesh. - */ + /// Dimension of mesh. int dim; - /** - * Dof vector with extended velocity. - */ + /// DOF vector with extended velocity. std::vector<DOFVector<double> *> velDOF; - /** - * Number of velocity vectors to be extended. - */ + /// Number of velocity vectors to be extended. int nVelDOFs; /** @@ -257,9 +255,7 @@ public: */ int indexFace; - /** - * List with the permutation of the vertices. - */ + /// List with the permutation of the vertices. DimVec<int> permutation; }; diff --git a/AMDiS/Reinit/src/VelocityExtFromVelocityField.cc b/AMDiS/src/reinit/VelocityExtFromVelocityField.cc similarity index 100% rename from AMDiS/Reinit/src/VelocityExtFromVelocityField.cc rename to AMDiS/src/reinit/VelocityExtFromVelocityField.cc diff --git a/AMDiS/Reinit/src/VelocityExtFromVelocityField.h b/AMDiS/src/reinit/VelocityExtFromVelocityField.h similarity index 100% rename from AMDiS/Reinit/src/VelocityExtFromVelocityField.h rename to AMDiS/src/reinit/VelocityExtFromVelocityField.h