Changeset 17858


Ignore:
Timestamp:
04/28/14 14:10:24 (11 years ago)
Author:
seroussi
Message:

BUG: fixed NR and sigma_nn with right NormalBase

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r17855 r17858  
    157157        else{
    158158                IssmDouble* xyz_list=NULL;
     159                IssmDouble *xyz_list_base=NULL;
    159160                IssmDouble  pressure,viscosity,sigma_nn;
    160161                IssmDouble  sigma_xx,sigma_xy,sigma_yy;
     
    165166                /* Get node coordinates and dof list: */
    166167                GetVerticesCoordinates(&xyz_list);
     168           GetVerticesCoordinatesTop(&xyz_list_base);
    167169
    168170                /*Retrieve all inputs we will be needing: */
     
    188190
    189191                /*Get normal vector to the bed */
    190                 NormalBase(&base_normal[0],xyz_list);
     192                NormalBase(&base_normal[0],xyz_list_base);
    191193
    192194                /*Compute sigma_nn*/
     
    198200                /*Clean up and return*/
    199201                xDelete<IssmDouble>(xyz_list);
     202                xDelete<IssmDouble>(xyz_list_base);
    200203                delete gauss;
    201204        }
     
    16651668
    16661669        /*Build unit outward pointing vector*/
    1667         int index1,index2;
    16681670        IssmDouble vector[2];
    16691671        IssmDouble norm;
    16701672
    1671         this->EdgeOnBaseIndices(&index1,&index2);
    1672         vector[0]=xyz_list[index2*3+0] - xyz_list[index1*3+0];
    1673         vector[1]=xyz_list[index2*3+1] - xyz_list[index1*3+1];
     1673        vector[0]=xyz_list[1*3+0] - xyz_list[0*3+0];
     1674        vector[1]=xyz_list[1*3+1] - xyz_list[0*3+1];
    16741675
    16751676        norm=sqrt(vector[0]*vector[0] + vector[1]*vector[1]);
     
    16881689
    16891690        this->EdgeOnSurfaceIndices(&index1,&index2);
    1690         vector[0]=xyz_list[index2*3+0] - xyz_list[index1*3+0];
    1691         vector[1]=xyz_list[index2*3+1] - xyz_list[index1*3+1];
     1691        vector[0]=xyz_list[1*3+0] - xyz_list[0*3+0];
     1692        vector[1]=xyz_list[1*3+1] - xyz_list[0*3+1];
    16921693
    16931694        norm=sqrt(vector[0]*vector[0] + vector[1]*vector[1]);
Note: See TracChangeset for help on using the changeset viewer.