/[escript]/branches/domexper/dudley/src/Assemble_jacobeans.c
ViewVC logotype

Diff of /branches/domexper/dudley/src/Assemble_jacobeans.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3080 by jfenwick, Tue Aug 3 04:28:03 2010 UTC revision 3086 by jfenwick, Thu Aug 5 05:07:58 2010 UTC
# Line 67  void Assemble_jacobeans_1D(double* coord Line 67  void Assemble_jacobeans_1D(double* coord
67                }                }
68                if (D==0.) {                if (D==0.) {
69                    sprintf(error_msg,"Assemble_jacobeans_1D: element %d (id %d) has length zero.",e,element_id[e]);                    sprintf(error_msg,"Assemble_jacobeans_1D: element %d (id %d) has length zero.",e,element_id[e]);
70                    Finley_setError(ZERO_DIVISION_ERROR,error_msg);                    Dudley_setError(ZERO_DIVISION_ERROR,error_msg);
71                } else {                } else {
72                   invD=1./D;                   invD=1./D;
73                   for (s=0;s<numTest; s++) dTdX[INDEX4(s,0,q,e,numTest,DIM,numQuad)]=DTDv[INDEX3(s,0,q,numTest,LOCDIM)]*invD;                   for (s=0;s<numTest; s++) dTdX[INDEX4(s,0,q,e,numTest,DIM,numQuad)]=DTDv[INDEX3(s,0,q,numTest,LOCDIM)]*invD;
# Line 116  void Assemble_jacobeans_2D(double* coord Line 116  void Assemble_jacobeans_2D(double* coord
116                D  =  dXdv00*dXdv11 - dXdv01*dXdv10;                D  =  dXdv00*dXdv11 - dXdv01*dXdv10;
117                if (D==0.) {                if (D==0.) {
118                    sprintf(error_msg,"Assemble_jacobeans_2D: element %d (id %d) has area zero.",e,element_id[e]);                    sprintf(error_msg,"Assemble_jacobeans_2D: element %d (id %d) has area zero.",e,element_id[e]);
119                    Finley_setError(ZERO_DIVISION_ERROR,error_msg);                    Dudley_setError(ZERO_DIVISION_ERROR,error_msg);
120                } else {                } else {
121                   invD=1./D;                   invD=1./D;
122                   dvdX00= dXdv11*invD;                   dvdX00= dXdv11*invD;
# Line 168  void Assemble_jacobeans_2D_M1D_E1D(doubl Line 168  void Assemble_jacobeans_2D_M1D_E1D(doubl
168                D=dXdv00*dXdv00+dXdv10*dXdv10;                D=dXdv00*dXdv00+dXdv10*dXdv10;
169                if (D==0.) {                if (D==0.) {
170                    sprintf(error_msg,"Assemble_jacobeans_2D_M1D_E1D: element %d (id %d) has length zero.",e,element_id[e]);                    sprintf(error_msg,"Assemble_jacobeans_2D_M1D_E1D: element %d (id %d) has length zero.",e,element_id[e]);
171                    Finley_setError(ZERO_DIVISION_ERROR,error_msg);                    Dudley_setError(ZERO_DIVISION_ERROR,error_msg);
172                } else {                } else {
173                   invD=1./D;                   invD=1./D;
174                   dvdX00=dXdv00*invD;                   dvdX00=dXdv00*invD;
# Line 224  void Assemble_jacobeans_2D_M1D_E1D_C(dou Line 224  void Assemble_jacobeans_2D_M1D_E1D_C(dou
224                D_1=dXdv00_1*dXdv00_1+dXdv10_1*dXdv10_1;                D_1=dXdv00_1*dXdv00_1+dXdv10_1*dXdv10_1;
225                if (D_0 == 0.  || D_1 == 0.) {                if (D_0 == 0.  || D_1 == 0.) {
226                    sprintf(error_msg,"Assemble_jacobeans_2D_M1D_E1D: element %d (id %d) has length zero.",e,element_id[e]);                    sprintf(error_msg,"Assemble_jacobeans_2D_M1D_E1D: element %d (id %d) has length zero.",e,element_id[e]);
227                    Finley_setError(ZERO_DIVISION_ERROR,error_msg);                    Dudley_setError(ZERO_DIVISION_ERROR,error_msg);
228                } else {                } else {
229                   invD_0=1./D_0;                   invD_0=1./D_0;
230                   dvdX00_0=dXdv00_0*invD_0;                   dvdX00_0=dXdv00_0*invD_0;
# Line 282  void Assemble_jacobeans_2D_M1D_E2D(doubl Line 282  void Assemble_jacobeans_2D_M1D_E2D(doubl
282                D  =  dXdv00*dXdv11 - dXdv01*dXdv10;                D  =  dXdv00*dXdv11 - dXdv01*dXdv10;
283                if (D==0.) {                if (D==0.) {
284                    sprintf(error_msg,"Assemble_jacobeans_2D_E2D: element %d (id %d) has area zero.",e,element_id[e]);                    sprintf(error_msg,"Assemble_jacobeans_2D_E2D: element %d (id %d) has area zero.",e,element_id[e]);
285                    Finley_setError(ZERO_DIVISION_ERROR,error_msg);                    Dudley_setError(ZERO_DIVISION_ERROR,error_msg);
286                } else {                } else {
287                   invD=1./D;                   invD=1./D;
288                   dvdX00= dXdv11*invD;                   dvdX00= dXdv11*invD;
# Line 349  void Assemble_jacobeans_2D_M1D_E2D_C(dou Line 349  void Assemble_jacobeans_2D_M1D_E2D_C(dou
349                D_1  =  dXdv00_1*dXdv11_1 - dXdv01_1*dXdv10_1;                D_1  =  dXdv00_1*dXdv11_1 - dXdv01_1*dXdv10_1;
350                if ( (D_0 ==0.) || (D_1 ==0.) ) {                if ( (D_0 ==0.) || (D_1 ==0.) ) {
351                    sprintf(error_msg,"Assemble_jacobeans_2D_E2D_C: element %d (id %d) has area zero.",e,element_id[e]);                    sprintf(error_msg,"Assemble_jacobeans_2D_E2D_C: element %d (id %d) has area zero.",e,element_id[e]);
352                    Finley_setError(ZERO_DIVISION_ERROR,error_msg);                    Dudley_setError(ZERO_DIVISION_ERROR,error_msg);
353                } else {                } else {
354                   invD_0=1./D_0;                   invD_0=1./D_0;
355                   dvdX00_0= dXdv11_0*invD_0;                   dvdX00_0= dXdv11_0*invD_0;
# Line 427  void Assemble_jacobeans_3D(double* coord Line 427  void Assemble_jacobeans_3D(double* coord
427                D  =  dXdv00*(dXdv11*dXdv22-dXdv12*dXdv21)+ dXdv01*(dXdv20*dXdv12-dXdv10*dXdv22)+dXdv02*(dXdv10*dXdv21-dXdv20*dXdv11);                D  =  dXdv00*(dXdv11*dXdv22-dXdv12*dXdv21)+ dXdv01*(dXdv20*dXdv12-dXdv10*dXdv22)+dXdv02*(dXdv10*dXdv21-dXdv20*dXdv11);
428                if (D==0.) {                if (D==0.) {
429                    sprintf(error_msg,"Assemble_jacobeans_3D: element %d (id %d) has volume zero.",e,element_id[e]);                    sprintf(error_msg,"Assemble_jacobeans_3D: element %d (id %d) has volume zero.",e,element_id[e]);
430                    Finley_setError(ZERO_DIVISION_ERROR,error_msg);                    Dudley_setError(ZERO_DIVISION_ERROR,error_msg);
431                } else {                } else {
432                   invD=1./D;                   invD=1./D;
433                   dvdX00=(dXdv11*dXdv22-dXdv12*dXdv21)*invD;                   dvdX00=(dXdv11*dXdv22-dXdv12*dXdv21)*invD;
# Line 500  void Assemble_jacobeans_3D_M2D_E3D(doubl Line 500  void Assemble_jacobeans_3D_M2D_E3D(doubl
500                D  =  dXdv00*(dXdv11*dXdv22-dXdv12*dXdv21)+ dXdv01*(dXdv20*dXdv12-dXdv10*dXdv22)+dXdv02*(dXdv10*dXdv21-dXdv20*dXdv11);                D  =  dXdv00*(dXdv11*dXdv22-dXdv12*dXdv21)+ dXdv01*(dXdv20*dXdv12-dXdv10*dXdv22)+dXdv02*(dXdv10*dXdv21-dXdv20*dXdv11);
501                if (D==0.) {                if (D==0.) {
502                    sprintf(error_msg,"Assemble_jacobeans_3D: element %d (id %d) has volume zero.",e,element_id[e]);                    sprintf(error_msg,"Assemble_jacobeans_3D: element %d (id %d) has volume zero.",e,element_id[e]);
503                    Finley_setError(ZERO_DIVISION_ERROR,error_msg);                    Dudley_setError(ZERO_DIVISION_ERROR,error_msg);
504                } else {                } else {
505                   invD=1./D;                   invD=1./D;
506                   dvdX00=(dXdv11*dXdv22-dXdv12*dXdv21)*invD;                   dvdX00=(dXdv11*dXdv22-dXdv12*dXdv21)*invD;
# Line 604  void Assemble_jacobeans_3D_M2D_E3D_C(dou Line 604  void Assemble_jacobeans_3D_M2D_E3D_C(dou
604                D_1=dXdv00_1*(dXdv11_1*dXdv22_1-dXdv12_1*dXdv21_1)+dXdv01_1*(dXdv20_1*dXdv12_1-dXdv10_1*dXdv22_1)+dXdv02_1*(dXdv10_1*dXdv21_1-dXdv20_1*dXdv11_1);                D_1=dXdv00_1*(dXdv11_1*dXdv22_1-dXdv12_1*dXdv21_1)+dXdv01_1*(dXdv20_1*dXdv12_1-dXdv10_1*dXdv22_1)+dXdv02_1*(dXdv10_1*dXdv21_1-dXdv20_1*dXdv11_1);
605                if ( (D_0==0.) || (D_1 == 0.)) {                if ( (D_0==0.) || (D_1 == 0.)) {
606                    sprintf(error_msg,"Assemble_jacobeans_3D_C: element %d (id %d) has volume zero.",e,element_id[e]);                    sprintf(error_msg,"Assemble_jacobeans_3D_C: element %d (id %d) has volume zero.",e,element_id[e]);
607                    Finley_setError(ZERO_DIVISION_ERROR,error_msg);                    Dudley_setError(ZERO_DIVISION_ERROR,error_msg);
608                } else {                } else {
609                   invD_0=1./D_0;                   invD_0=1./D_0;
610                   dvdX00_0=(dXdv11_0*dXdv22_0-dXdv12_0*dXdv21_0)*invD_0;                   dvdX00_0=(dXdv11_0*dXdv22_0-dXdv12_0*dXdv21_0)*invD_0;
# Line 699  void Assemble_jacobeans_3D_M2D_E2D(doubl Line 699  void Assemble_jacobeans_3D_M2D_E2D(doubl
699                D=m00*m11-m01*m01;                D=m00*m11-m01*m01;
700                if (D==0.) {                if (D==0.) {
701                    sprintf(error_msg,"Assemble_jacobeans_3D_M2D: element %d (id %d) has area zero.",e,element_id[e]);                    sprintf(error_msg,"Assemble_jacobeans_3D_M2D: element %d (id %d) has area zero.",e,element_id[e]);
702                    Finley_setError(ZERO_DIVISION_ERROR,error_msg);                    Dudley_setError(ZERO_DIVISION_ERROR,error_msg);
703                } else {                } else {
704                   invD=1./D;                   invD=1./D;
705                   dvdX00=( m00*dXdv00-m01*dXdv01)*invD;                   dvdX00=( m00*dXdv00-m01*dXdv01)*invD;
# Line 786  void Assemble_jacobeans_3D_M2D_E2D_C(dou Line 786  void Assemble_jacobeans_3D_M2D_E2D_C(dou
786                D_1=m00_1*m11_1-m01_1*m01_1;                D_1=m00_1*m11_1-m01_1*m01_1;
787                if ( (D_0==0.) || (D_1 == 0.) ) {                if ( (D_0==0.) || (D_1 == 0.) ) {
788                    sprintf(error_msg,"Assemble_jacobeans_3D_M2D: element %d (id %d) has area zero.",e,element_id[e]);                    sprintf(error_msg,"Assemble_jacobeans_3D_M2D: element %d (id %d) has area zero.",e,element_id[e]);
789                    Finley_setError(ZERO_DIVISION_ERROR,error_msg);                    Dudley_setError(ZERO_DIVISION_ERROR,error_msg);
790                } else {                } else {
791                   invD_0=1./D_0;                   invD_0=1./D_0;
792                   dvdX00_0=( m00_0*dXdv00_0-m01_0*dXdv01_0)*invD_0;                   dvdX00_0=( m00_0*dXdv00_0-m01_0*dXdv01_0)*invD_0;

Legend:
Removed from v.3080  
changed lines
  Added in v.3086

  ViewVC Help
Powered by ViewVC 1.1.26