Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 25727) +++ ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 25728) @@ -254,14 +254,15 @@ /*Allocate arrays*/ const int NUM_VERTICES = this->GetNumberOfVertices(); + _assert_(NUM_VERTICES<=MAXVERTICES); - IssmDouble* eps_xx = xNew(NUM_VERTICES); - IssmDouble* eps_yy = xNew(NUM_VERTICES); - IssmDouble* eps_zz = xNew(NUM_VERTICES); - IssmDouble* eps_xy = xNew(NUM_VERTICES); - IssmDouble* eps_xz = xNew(NUM_VERTICES); - IssmDouble* eps_yz = xNew(NUM_VERTICES); - IssmDouble* eps_ef = xNew(NUM_VERTICES); + IssmDouble eps_xx[MAXVERTICES]; + IssmDouble eps_yy[MAXVERTICES]; + IssmDouble eps_zz[MAXVERTICES]; + IssmDouble eps_xy[MAXVERTICES]; + IssmDouble eps_xz[MAXVERTICES]; + IssmDouble eps_yz[MAXVERTICES]; + IssmDouble eps_ef[MAXVERTICES]; /* Start looping on the number of vertices: */ Gauss* gauss=this->NewGauss(); @@ -296,25 +297,17 @@ } /*Add Stress tensor components into inputs*/ - this->AddInput(StrainRatexxEnum,eps_xx,P1Enum); - this->AddInput(StrainRatexyEnum,eps_xy,P1Enum); - this->AddInput(StrainRatexzEnum,eps_xz,P1Enum); - this->AddInput(StrainRateyyEnum,eps_yy,P1Enum); - this->AddInput(StrainRateyzEnum,eps_yz,P1Enum); - this->AddInput(StrainRatezzEnum,eps_zz,P1Enum); - this->AddInput(StrainRateeffectiveEnum,eps_ef,P1Enum); + this->AddInput(StrainRatexxEnum,&eps_xx[0],P1Enum); + this->AddInput(StrainRatexyEnum,&eps_xy[0],P1Enum); + this->AddInput(StrainRatexzEnum,&eps_xz[0],P1Enum); + this->AddInput(StrainRateyyEnum,&eps_yy[0],P1Enum); + this->AddInput(StrainRateyzEnum,&eps_yz[0],P1Enum); + this->AddInput(StrainRatezzEnum,&eps_zz[0],P1Enum); + this->AddInput(StrainRateeffectiveEnum,&eps_ef[0],P1Enum); /*Clean up and return*/ delete gauss; xDelete(xyz_list); - xDelete(eps_xx); - xDelete(eps_yy); - xDelete(eps_zz); - xDelete(eps_xy); - xDelete(eps_xz); - xDelete(eps_yz); - xDelete(eps_ef); - } /*}}}*/ void Element::CoordinateSystemTransform(IssmDouble** ptransform,Node** nodes_list,int numnodes,int* cs_array){/*{{{*/