Changeset 10395


Ignore:
Timestamp:
11/01/11 07:49:56 (13 years ago)
Author:
Mathieu Morlighem
Message:

Now Stokes rotation is 1.e-10

Location:
issm/trunk/src/c/objects/Loads
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/objects/Loads/Pengrid.cpp

    r10135 r10395  
    559559        Ke->values[2*NDOF4+2]= kmax*pow((double)10,penalty_offset);
    560560
     561        /*Transform Coordinate System*/
     562        TransformStiffnessMatrixCoord(Ke,NDOF4);
     563
    561564        /*Clean up and return*/
    562565        return Ke;
     
    682685}
    683686/*}}}1*/
    684 /*FUNCTION Pengrid::UpdateInputs {{{1*/
    685 void  Pengrid::UpdateInputs(double* solution){
    686         _error_("not supported yet!");
    687 }
    688 /*}}}1*/
    689687/*FUNCTION Pengrid::ResetConstraint {{{1*/
    690688void  Pengrid::ResetConstraint(void){
     
    693691}
    694692/*}}}1*/
     693/*FUNCTION Pengrid::TransformStiffnessMatrixCoord{{{1*/
     694void Pengrid::TransformStiffnessMatrixCoord(ElementMatrix* Ke,int dim){
     695
     696        int     i,j;
     697        int     numnodes          = 1;
     698        double *transform         = NULL;
     699        double *values            = NULL;
     700
     701        /*Copy current stiffness matrix*/
     702        values=(double*)xmalloc(Ke->nrows*Ke->ncols*sizeof(double));
     703        for(i=0;i<Ke->nrows;i++) for(j=0;j<Ke->ncols;j++) values[i*Ke->ncols+j]=Ke->values[i*Ke->ncols+j];
     704
     705        /*Get Coordinate Systems transform matrix*/
     706        CoordinateSystemTransform(&transform,&node,numnodes,dim);
     707
     708        /*Transform matrix: T*Ke*T^t */
     709        TripleMultiply(transform,numnodes*dim,numnodes*dim,1,
     710                                values,Ke->nrows,Ke->ncols,0,
     711                                transform,numnodes*dim,numnodes*dim,0,
     712                                &Ke->values[0],0);
     713
     714        /*Free Matrix*/
     715        xfree((void**)&transform);
     716        xfree((void**)&values);
     717}
     718/*}}}*/
     719/*FUNCTION Pengrid::UpdateInputs {{{1*/
     720void  Pengrid::UpdateInputs(double* solution){
     721        _error_("not supported yet!");
     722}
     723/*}}}1*/
  • issm/trunk/src/c/objects/Loads/Pengrid.h

    r9883 r10395  
    9090                void  UpdateInputs(double* solution);
    9191                void  ResetConstraint(void);
     92                void  TransformStiffnessMatrixCoord(ElementMatrix* Ke,int dim);
    9293                /*}}}*/
    9394
Note: See TracChangeset for help on using the changeset viewer.