Ignore:
Timestamp:
05/30/19 13:56:00 (6 years ago)
Author:
Mathieu Morlighem
Message:

CHG: working on channels

File:
1 edited

Legend:

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

    r22983 r23962  
    328328        /*Clean up*/
    329329        xDelete<IssmDouble>(triabasis);
     330}
     331/*}}}*/
     332void TriaRef::GetSegmentNodalFunctionsDerivatives(IssmDouble* dbasis,IssmDouble* xyz_list_tria,Gauss* gauss,int index1,int index2,int finiteelement){/*{{{*/
     333        /*This routine returns the values of the nodal functions  at the gaussian point.*/
     334
     335        _assert_(index1>=0 && index1<3);
     336        _assert_(index2>=0 && index2<3);
     337
     338        /*Fetch number of nodes for this finite element*/
     339        int numnodes = this->NumberofNodes(finiteelement);
     340
     341        /*Get nodal functions*/
     342        IssmDouble* dtriabasis=xNew<IssmDouble>(2*numnodes);
     343        GetNodalFunctionsDerivatives(dtriabasis,xyz_list_tria,gauss,finiteelement);
     344
     345        switch(finiteelement){
     346                case P1Enum: case P1DGEnum:
     347                        dbasis[2*0+0] = dtriabasis[numnodes*0+index1];
     348                        dbasis[2*0+1] = dtriabasis[numnodes*1+index1];
     349                        dbasis[2*1+0] = dtriabasis[numnodes*0+index2];
     350                        dbasis[2*1+1] = dtriabasis[numnodes*1+index2];
     351                        break;
     352                default:
     353                        _error_("Element type "<<EnumToStringx(finiteelement)<<" not supported yet");
     354        }
     355
     356        /*Clean up*/
     357        xDelete<IssmDouble>(dtriabasis);
    330358}
    331359/*}}}*/
Note: See TracChangeset for help on using the changeset viewer.