source: issm/oecreview/Archive/18296-19100/ISSM-18726-18727.diff@ 19102

Last change on this file since 19102 was 19102, checked in by Mathieu Morlighem, 10 years ago

NEW: added 18296-19100

File size: 1.8 KB
RevLine 
[19102]1Index: ../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();
Note: See TracBrowser for help on using the repository browser.