Changeset 5724
- Timestamp:
- 09/09/10 14:31:37 (15 years ago)
- Location:
- issm/trunk/src/c/objects
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/objects/Elements/Penta.cpp
r5723 r5724 3862 3862 3863 3863 /*Free ressources:*/ 3864 delete gauss;3865 3864 xfree((void**)&doflist); 3866 3865 -
issm/trunk/src/c/objects/Gauss/GaussPenta.cpp
r5722 r5724 80 80 } 81 81 /*}}}*/ 82 /*FUNCTION GaussPenta::GaussPenta{{{1*/ 82 /*FUNCTION GaussPenta::GaussPenta(int index1, int index2, int order){{{1*/ 83 GaussPenta::GaussPenta(int index1, int index2,int order){ 84 85 /*Intermediaties*/ 86 double *seg_coords = NULL; 87 double *seg_weights = NULL; 88 int i; 89 90 /*Get Segment gauss points*/ 91 numgauss=order; 92 GaussLegendreLinear(&seg_coords,&seg_weights,numgauss); 93 94 /*Allocate GaussTria fields*/ 95 coords1=(double*)xmalloc(numgauss*sizeof(double)); 96 coords2=(double*)xmalloc(numgauss*sizeof(double)); 97 coords3=(double*)xmalloc(numgauss*sizeof(double)); 98 coords4=(double*)xmalloc(numgauss*sizeof(double)); 99 weights=(double*)xmalloc(numgauss*sizeof(double)); 100 101 if(index1==0 && index2==3){ 102 for(i=0;i<numgauss;i++) coords1[i]=1.0; 103 for(i=0;i<numgauss;i++) coords2[i]=0.0; 104 for(i=0;i<numgauss;i++) coords3[i]=0.0; 105 for(i=0;i<numgauss;i++) coords4[i]=seg_coords[i]; 106 for(i=0;i<numgauss;i++) weights[i]=seg_weights[i]; 107 } 108 else if (index1==1 && index2==4){ 109 for(i=0;i<numgauss;i++) coords1[i]=0.0; 110 for(i=0;i<numgauss;i++) coords2[i]=1.0; 111 for(i=0;i<numgauss;i++) coords3[i]=0.0; 112 for(i=0;i<numgauss;i++) coords4[i]=seg_coords[i]; 113 for(i=0;i<numgauss;i++) weights[i]=seg_weights[i]; 114 } 115 else if (index1==2 && index2==5){ 116 for(i=0;i<numgauss;i++) coords1[i]=0.0; 117 for(i=0;i<numgauss;i++) coords2[i]=0.0; 118 for(i=0;i<numgauss;i++) coords3[i]=1.0; 119 for(i=0;i<numgauss;i++) coords4[i]=seg_coords[i]; 120 for(i=0;i<numgauss;i++) weights[i]=seg_weights[i]; 121 } 122 else{ 123 ISSMERROR("Tria not supported yet"); 124 } 125 126 /*Initialize static fields as undefined*/ 127 weight=UNDEF; 128 coord1=UNDEF; 129 coord2=UNDEF; 130 coord3=UNDEF; 131 coord4=UNDEF; 132 133 /*clean up*/ 134 xfree((void**)&seg_coords); 135 xfree((void**)&seg_weights); 136 137 } 138 /*}}}*/ 139 /*FUNCTION GaussPenta::GaussPenta(int index1, int index2, int index3, int order){{{1*/ 83 140 GaussPenta::GaussPenta(int index1, int index2, int index3, int order){ 84 141 -
issm/trunk/src/c/objects/Gauss/GaussPenta.h
r5722 r5724 34 34 GaussPenta(); 35 35 GaussPenta(int order_horiz,int order_vert); 36 GaussPenta(int index1, int index2,int order); 36 37 GaussPenta(int index1, int index2, int index3, int order); 37 38 ~GaussPenta();
Note:
See TracChangeset
for help on using the changeset viewer.