Changeset 15776


Ignore:
Timestamp:
08/09/13 13:24:34 (12 years ago)
Author:
seroussi
Message:

BUG: fixed coupling HO/FS ice sheet

File:
1 edited

Legend:

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

    r15772 r15776  
    67106710        Tria*  tria=pentabase->SpawnTria(0); //lower face is 0, upper face is 1.
    67116711
    6712         /*Prepare node list*/
     6712        /*prepare node list*/
    67136713        for(i=0;i<NUMVERTICES;i++){
    67146714                node_list[i+0*NUMVERTICES] = pentabase->nodes[i];
     
    71127112
    71137113        /*Constants*/
    7114         const int numnodes       = 2 *NUMVERTICES;
     7114        const int numnodes       = 3 *NUMVERTICES+1;
    71157115        const int numdofp        = NDOF2 *NUMVERTICES;
    71167116        const int numdofs        = NDOF4 * 6 + NDOF3;
     
    71197119        /*Intermediaries*/
    71207120        int       i,j,init;
     7121        Node  *node_list[NUMVERTICES*3+1];
     7122        int   cs_list[NUMVERTICES*3+1];
     7123        int   cs_list2[NUMVERTICES*2+1];
    71217124
    71227125        /*Some parameters needed*/
    71237126        init=this->element_type;
     7127
     7128        /*prepare node list*/
     7129        for(i=0;i<NUMVERTICES+1;i++){
     7130                node_list[i+NUMVERTICES] = this->nodes[i];
     7131                cs_list[i+NUMVERTICES]   = XYZEnum;
     7132                cs_list2[i]              = XYZEnum;
     7133        }
     7134        for(i=0;i<NUMVERTICES;i++){
     7135                node_list[i]                 = this->nodes[i];
     7136                node_list[i+2*NUMVERTICES+1] = this->nodes[i+NUMVERTICES+1];
     7137                cs_list[i]                   = XYEnum;
     7138                cs_list[i+2*NUMVERTICES+1]   = PressureEnum;
     7139                cs_list2[i+NUMVERTICES+1]    = PressureEnum;
     7140        }
    71247141
    71257142        /*compute all stiffness matrices for this element*/
     
    71317148        /*Compute HO Matrix with P1 element type\n");*/
    71327149        this->element_type=P1Enum;
    7133         Ke1=CreateKMatrixStressbalanceHO();
     7150        Ke1=CreateKMatrixStressbalanceHO(); TransformInvStiffnessMatrixCoord(Ke1,this->nodes,NUMVERTICES,XYEnum);
    71347151        this->element_type=init;
    71357152        /*Compute FS Matrix and condense it \n");*/
    7136         Ke2=CreateKMatrixStressbalanceFS();
     7153        Ke2=CreateKMatrixStressbalanceFS(); TransformInvStiffnessMatrixCoord(Ke2,this->nodes,2*NUMVERTICES+1,cs_list2);
    71377154        int indices[3]={18,19,20};
    71387155        Ke2->StaticCondensation(3,&indices[0]);
     
    71487165
    71497166        /*Transform Coordinate System*/ //Do not transform, already done in the matrices
    7150         //TransformStiffnessMatrixCoord(Ke,node_list,numnodes,cs_list);
     7167        TransformStiffnessMatrixCoord(Ke,node_list,numnodes,cs_list);
    71517168
    71527169        /*clean-up and return*/
     
    82588275        ElementVector* pe1=CreatePVectorCouplingHOFSViscous();
    82598276        ElementVector* pe2=CreatePVectorCouplingHOFSFriction();
    8260 //      if(id==15){
    8261 //      pe1->Echo();
    8262 //      pe2->Echo();
    8263 //      _error_("");
    8264 //      }
    82658277        ElementVector* pe =new ElementVector(pe1,pe2);
    82668278
Note: See TracChangeset for help on using the changeset viewer.