source: issm/oecreview/Archive/24684-25833/ISSM-25727-25728.diff@ 25834

Last change on this file since 25834 was 25834, checked in by Mathieu Morlighem, 4 years ago

CHG: added 24684-25833

File size: 2.3 KB
RevLine 
[25834]1Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
2===================================================================
3--- ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 25727)
4+++ ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 25728)
5@@ -254,14 +254,15 @@
6
7 /*Allocate arrays*/
8 const int NUM_VERTICES = this->GetNumberOfVertices();
9+ _assert_(NUM_VERTICES<=MAXVERTICES);
10
11- IssmDouble* eps_xx = xNew<IssmDouble>(NUM_VERTICES);
12- IssmDouble* eps_yy = xNew<IssmDouble>(NUM_VERTICES);
13- IssmDouble* eps_zz = xNew<IssmDouble>(NUM_VERTICES);
14- IssmDouble* eps_xy = xNew<IssmDouble>(NUM_VERTICES);
15- IssmDouble* eps_xz = xNew<IssmDouble>(NUM_VERTICES);
16- IssmDouble* eps_yz = xNew<IssmDouble>(NUM_VERTICES);
17- IssmDouble* eps_ef = xNew<IssmDouble>(NUM_VERTICES);
18+ IssmDouble eps_xx[MAXVERTICES];
19+ IssmDouble eps_yy[MAXVERTICES];
20+ IssmDouble eps_zz[MAXVERTICES];
21+ IssmDouble eps_xy[MAXVERTICES];
22+ IssmDouble eps_xz[MAXVERTICES];
23+ IssmDouble eps_yz[MAXVERTICES];
24+ IssmDouble eps_ef[MAXVERTICES];
25
26 /* Start looping on the number of vertices: */
27 Gauss* gauss=this->NewGauss();
28@@ -296,25 +297,17 @@
29 }
30
31 /*Add Stress tensor components into inputs*/
32- this->AddInput(StrainRatexxEnum,eps_xx,P1Enum);
33- this->AddInput(StrainRatexyEnum,eps_xy,P1Enum);
34- this->AddInput(StrainRatexzEnum,eps_xz,P1Enum);
35- this->AddInput(StrainRateyyEnum,eps_yy,P1Enum);
36- this->AddInput(StrainRateyzEnum,eps_yz,P1Enum);
37- this->AddInput(StrainRatezzEnum,eps_zz,P1Enum);
38- this->AddInput(StrainRateeffectiveEnum,eps_ef,P1Enum);
39+ this->AddInput(StrainRatexxEnum,&eps_xx[0],P1Enum);
40+ this->AddInput(StrainRatexyEnum,&eps_xy[0],P1Enum);
41+ this->AddInput(StrainRatexzEnum,&eps_xz[0],P1Enum);
42+ this->AddInput(StrainRateyyEnum,&eps_yy[0],P1Enum);
43+ this->AddInput(StrainRateyzEnum,&eps_yz[0],P1Enum);
44+ this->AddInput(StrainRatezzEnum,&eps_zz[0],P1Enum);
45+ this->AddInput(StrainRateeffectiveEnum,&eps_ef[0],P1Enum);
46
47 /*Clean up and return*/
48 delete gauss;
49 xDelete<IssmDouble>(xyz_list);
50- xDelete<IssmDouble>(eps_xx);
51- xDelete<IssmDouble>(eps_yy);
52- xDelete<IssmDouble>(eps_zz);
53- xDelete<IssmDouble>(eps_xy);
54- xDelete<IssmDouble>(eps_xz);
55- xDelete<IssmDouble>(eps_yz);
56- xDelete<IssmDouble>(eps_ef);
57-
58 }
59 /*}}}*/
60 void Element::CoordinateSystemTransform(IssmDouble** ptransform,Node** nodes_list,int numnodes,int* cs_array){/*{{{*/
Note: See TracBrowser for help on using the repository browser.