Ignore:
Timestamp:
06/13/13 09:10:14 (12 years ago)
Author:
Mathieu Morlighem
Message:

CHG: fixing node sid indexing (need to check analysis first)

File:
1 edited

Legend:

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

    r15249 r15250  
    15891589
    15901590        /*Step 1: update maks, the mask might be extended by residual and/or using downstream sediment head*/
    1591         mask=new Vector<IssmDouble>(nodes->NumberOfNodes());
     1591        mask=new Vector<IssmDouble>(nodes->NumberOfNodes(HydrologyDCEfficientAnalysisEnum));
    15921592        for (int i=0;i<elements->Size();i++){
    15931593                Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
     
    16051605
    16061606        /*Step 2: update node activity. If one element is connected to mask=1, all nodes are active*/
    1607         active=new Vector<IssmDouble>(nodes->NumberOfNodes());
     1607        active=new Vector<IssmDouble>(nodes->NumberOfNodes(HydrologyDCEfficientAnalysisEnum));
    16081608        for (int i=0;i<elements->Size();i++){
    16091609                Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
     
    16171617
    16181618        /*Update node activation accordingly*/
     1619        int counter =0;
    16191620        for (int i=0;i<nodes->Size();i++){
    16201621                Node* node=dynamic_cast<Node*>(nodes->GetObjectByOffset(i));
    1621                 if(serial_active[node->Sid()]==1.){
    1622                         node->Activate();
    1623                 }
    1624                 else{
    1625                         node->Deactivate();
     1622                if(node->InAnalysis(HydrologyDCEfficientAnalysisEnum)){
     1623                        if(serial_active[node->Sid()]==1.){
     1624                                node->Activate();
     1625                                counter++;
     1626                        }
     1627                        else{
     1628                                node->Deactivate();
     1629                        }
    16261630                }
    16271631        }
    16281632        xDelete<IssmDouble>(serial_active);
     1633        if(VerboseSolution()) _printf0_("   Number of active nodes in EPL layer: "<< counter <<"\n");
    16291634
    16301635}
Note: See TracChangeset for help on using the changeset viewer.