Changeset 15495


Ignore:
Timestamp:
07/15/13 16:46:28 (12 years ago)
Author:
Mathieu Morlighem
Message:

NEW: added a couple of basis functions, derivatives not done yet

File:
1 edited

Legend:

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

    r15492 r15495  
    11021102                        basis[5]=gauss->coord3*(1.+gauss->coord4)/2.;
    11031103                        return;
    1104                 case P2xP1Enum:
    1105                         /*Corner nodes*/
    1106                         basis[ 0]=0.;
    1107                         basis[ 1]=0.;
    1108                         basis[ 2]=0.;
    1109                         basis[ 3]=0.;
    1110                         basis[ 4]=0.;
    1111                         basis[ 5]=0.;
    1112                         /*mid-sides of quads*/
    1113                         basis[ 6]=0.;
    1114                         basis[ 7]=0.;
    1115                         basis[ 8]=0.;
    1116                         /*mid-sides of triangles*/
    1117                         basis[ 9]=0.;
    1118                         basis[10]=0.;
    1119                         basis[11]=0.;
    1120                         basis[12]=0.;
    1121                         basis[13]=0.;
    1122                         basis[14]=0.;
    1123                 case MINIEnum:
     1104                case P1bubbleEnum:
    11241105                        basis[0]=gauss->coord1*(1.-gauss->coord4)/2.;
    11251106                        basis[1]=gauss->coord2*(1.-gauss->coord4)/2.;
     
    11291110                        basis[5]=gauss->coord3*(1.+gauss->coord4)/2.;
    11301111                        basis[6]=27.*gauss->coord1*gauss->coord2*gauss->coord3*(1.+gauss->coord4)*(1.-gauss->coord4);
     1112                        return;
     1113                case P2xP1Enum:
     1114                        /*Corner nodes*/
     1115                        basis[ 0]=gauss->coord1*(2.*gauss->coord1-1.)*(1.-gauss->coord4)/2.;
     1116                        basis[ 1]=gauss->coord2*(2.*gauss->coord2-1.)*(1.-gauss->coord4)/2.;
     1117                        basis[ 2]=gauss->coord3*(2.*gauss->coord3-1.)*(1.-gauss->coord4)/2.;
     1118                        basis[ 3]=gauss->coord1*(2.*gauss->coord1-1.)*(1.+gauss->coord4)/2.;
     1119                        basis[ 4]=gauss->coord2*(2.*gauss->coord2-1.)*(1.+gauss->coord4)/2.;
     1120                        basis[ 5]=gauss->coord3*(2.*gauss->coord3-1.)*(1.+gauss->coord4)/2.;
     1121                        /*mid-sides of triangles*/
     1122                        basis[ 6]=4.*gauss->coord3*gauss->coord2*(1.-gauss->coord4)/2.;
     1123                        basis[ 7]=4.*gauss->coord3*gauss->coord1*(1.-gauss->coord4)/2.;
     1124                        basis[ 8]=4.*gauss->coord1*gauss->coord2*(1.-gauss->coord4)/2.;
     1125                        basis[ 9]=4.*gauss->coord3*gauss->coord2*(1.+gauss->coord4)/2.;
     1126                        basis[10]=4.*gauss->coord3*gauss->coord1*(1.+gauss->coord4)/2.;
     1127                        basis[11]=4.*gauss->coord1*gauss->coord2*(1.+gauss->coord4)/2.;
     1128                        return;
     1129                case P2Enum:
     1130                        /*Corner nodes*/
     1131                        basis[ 0]=gauss->coord1*(2.*gauss->coord1-1.)*gauss->coord4*(gauss->coord4-1.)/2.;
     1132                        basis[ 1]=gauss->coord2*(2.*gauss->coord2-1.)*gauss->coord4*(gauss->coord4-1.)/2.;
     1133                        basis[ 2]=gauss->coord3*(2.*gauss->coord3-1.)*gauss->coord4*(gauss->coord4-1.)/2.;
     1134                        basis[ 3]=gauss->coord1*(2.*gauss->coord1-1.)*gauss->coord4*(gauss->coord4+1.)/2.;
     1135                        basis[ 4]=gauss->coord2*(2.*gauss->coord2-1.)*gauss->coord4*(gauss->coord4+1.)/2.;
     1136                        basis[ 5]=gauss->coord3*(2.*gauss->coord3-1.)*gauss->coord4*(gauss->coord4+1.)/2.;
     1137                        /*mid-sides of quads*/
     1138                        basis[ 6]=gauss->coord1*(1.-gauss->coord4*gauss->coord4);
     1139                        basis[ 7]=gauss->coord2*(1.-gauss->coord4*gauss->coord4);
     1140                        basis[ 8]=gauss->coord3*(1.-gauss->coord4*gauss->coord4);
     1141                        /*mid-sides of triangles*/
     1142                        basis[ 9]=2.*gauss->coord3*gauss->coord2*gauss->coord4*(gauss->coord4-1.);
     1143                        basis[10]=2.*gauss->coord3*gauss->coord1*gauss->coord4*(gauss->coord4-1.);
     1144                        basis[11]=2.*gauss->coord1*gauss->coord2*gauss->coord4*(gauss->coord4-1.);
     1145                        basis[12]=2.*gauss->coord3*gauss->coord2*gauss->coord4*(gauss->coord4+1.);
     1146                        basis[13]=2.*gauss->coord3*gauss->coord1*gauss->coord4*(gauss->coord4+1.);
     1147                        basis[14]=2.*gauss->coord1*gauss->coord2*gauss->coord4*(gauss->coord4+1.);
    11311148                        return;
    11321149                default:
Note: See TracChangeset for help on using the changeset viewer.