Changeset 24066


Ignore:
Timestamp:
07/04/19 05:30:40 (6 years ago)
Author:
Mathieu Morlighem
Message:

BUG: do not look for penalties in AMR runs

Location:
issm/trunk-jpl/src/c
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/IoModel.cpp

    r24030 r24066  
    25402540
    25412541                /*First set FILE* position to the beginning of the file: */
     2542                _assert_(fid);
    25422543                fseek(fid,0,SEEK_SET);
    25432544
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp

    r24059 r24066  
    289289        }
    290290
    291         /*Take care of penalties*/
    292         int numvertex_pairing;
    293         int *vertex_pairing = NULL;
    294         iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL,"md.stressbalance.vertex_pairing");
    295         for(int i=0;i<numvertex_pairing;i++){
    296                 int id1 = vertex_pairing[2*i+0]-1;
    297                 int id2 = vertex_pairing[2*i+1]-1;
    298                 for(int e=0;e<num_procs;e++){
    299                         if(IsVertexInRank(vertices_ranks,vertices_proc_count,id1,e)){
    300                                 AddVertexToRank(vertices_ranks,vertices_proc_count,id2,e);
    301                         }
    302                 }
    303         }
    304         xDelete<int>(vertex_pairing);
    305         iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL,"md.masstransport.vertex_pairing");
    306         for(int i=0;i<numvertex_pairing;i++){
    307                 int id1 = vertex_pairing[2*i+0]-1;
    308                 int id2 = vertex_pairing[2*i+1]-1;
    309                 for(int e=0;e<num_procs;e++){
    310                         if(IsVertexInRank(vertices_ranks,vertices_proc_count,id1,e)){
    311                                 AddVertexToRank(vertices_ranks,vertices_proc_count,id2,e);
    312                         }
    313                 }
    314         }
    315         xDelete<int>(vertex_pairing);
     291        /*Take care of penalties (only in non-AMR for now)*/
     292        if(!isamr){
     293                int numvertex_pairing;
     294                int *vertex_pairing = NULL;
     295                iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL,"md.stressbalance.vertex_pairing");
     296                for(int i=0;i<numvertex_pairing;i++){
     297                        int id1 = vertex_pairing[2*i+0]-1;
     298                        int id2 = vertex_pairing[2*i+1]-1;
     299                        for(int e=0;e<num_procs;e++){
     300                                if(IsVertexInRank(vertices_ranks,vertices_proc_count,id1,e)){
     301                                        AddVertexToRank(vertices_ranks,vertices_proc_count,id2,e);
     302                                }
     303                        }
     304                }
     305                xDelete<int>(vertex_pairing);
     306                iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL,"md.masstransport.vertex_pairing");
     307                for(int i=0;i<numvertex_pairing;i++){
     308                        int id1 = vertex_pairing[2*i+0]-1;
     309                        int id2 = vertex_pairing[2*i+1]-1;
     310                        for(int e=0;e<num_procs;e++){
     311                                if(IsVertexInRank(vertices_ranks,vertices_proc_count,id1,e)){
     312                                        AddVertexToRank(vertices_ranks,vertices_proc_count,id2,e);
     313                                }
     314                        }
     315                }
     316                xDelete<int>(vertex_pairing);
     317        }
    316318
    317319        /*Create vector of size total numnodes, initialized with -1, that will keep track of local ids*/
Note: See TracChangeset for help on using the changeset viewer.