[19102] | 1 | Index: ../trunk-jpl/src/c/classes/FemModel.cpp
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- ../trunk-jpl/src/c/classes/FemModel.cpp (revision 18726)
|
---|
| 4 | +++ ../trunk-jpl/src/c/classes/FemModel.cpp (revision 18727)
|
---|
| 5 | @@ -1815,6 +1815,7 @@
|
---|
| 6 | int* eplzigzag_counter = NULL;
|
---|
| 7 |
|
---|
| 8 | HydrologyDCEfficientAnalysis* effanalysis = new HydrologyDCEfficientAnalysis();
|
---|
| 9 | + HydrologyDCInefficientAnalysis* inefanalysis = new HydrologyDCInefficientAnalysis();
|
---|
| 10 | /*Step 1: update mask, the mask might be extended by residual and/or using downstream sediment head*/
|
---|
| 11 | mask=new Vector<IssmDouble>(this->nodes->NumberOfNodes(HydrologyDCEfficientAnalysisEnum));
|
---|
| 12 | this->parameters->FindParam(&eplzigzag_counter,NULL,EplZigZagCounterEnum);
|
---|
| 13 | @@ -1833,7 +1834,7 @@
|
---|
| 14 | /*Update Mask*/
|
---|
| 15 | InputUpdateFromVectorx(this,serial_mask,HydrologydcMaskEplactiveNodeEnum,NodeSIdEnum);
|
---|
| 16 | xDelete<IssmDouble>(serial_mask);
|
---|
| 17 | -
|
---|
| 18 | + inefanalysis->ElementizeEplMask(this);
|
---|
| 19 | /*Step 2: update node activity. If one element is connected to mask=1, all nodes are active*/
|
---|
| 20 | active=new Vector<IssmDouble>(nodes->NumberOfNodes(HydrologyDCEfficientAnalysisEnum));
|
---|
| 21 | for (int i=0;i<elements->Size();i++){
|
---|
| 22 | @@ -1841,6 +1842,7 @@
|
---|
| 23 | effanalysis->HydrologyEPLGetActive(active,element);
|
---|
| 24 | }
|
---|
| 25 |
|
---|
| 26 | +
|
---|
| 27 | /*Assemble and serialize*/
|
---|
| 28 | active->Assemble();
|
---|
| 29 | serial_active=active->ToMPISerial();
|
---|
| 30 | @@ -1853,7 +1855,7 @@
|
---|
| 31 | if(node->InAnalysis(HydrologyDCEfficientAnalysisEnum)){
|
---|
| 32 | if(serial_active[node->Sid()]==1.){
|
---|
| 33 | node->Activate();
|
---|
| 34 | - counter++;
|
---|
| 35 | + if(!node->IsClone());counter++;
|
---|
| 36 | }
|
---|
| 37 | else{
|
---|
| 38 | node->Deactivate();
|
---|
| 39 | @@ -1899,7 +1901,7 @@
|
---|
| 40 | if(node->InAnalysis(L2ProjectionEPLAnalysisEnum)){
|
---|
| 41 | if(serial_active[node->Sid()]==1.){
|
---|
| 42 | node->Activate();
|
---|
| 43 | - counter++;
|
---|
| 44 | + if(!node->IsClone());counter++;
|
---|
| 45 | }
|
---|
| 46 | else{
|
---|
| 47 | node->Deactivate();
|
---|