source: issm/oecreview/Archive/13393-13976/ISSM-13902-13903.diff@ 13980

Last change on this file since 13980 was 13980, checked in by Mathieu Morlighem, 12 years ago

preparing oecreview for 13393-13976'

File size: 3.2 KB
  • ../trunk-jpl/src/c/classes/objects/Elements/Tria.cpp

     
    161161        }
    162162}
    163163/*}}}*/
    164 /*FUNCTION Tria::GetDofList {{{*/
     164/*FUNCTION Tria::SetwiseNodeConnectivity{{{*/
    165165void Tria::SetwiseNodeConnectivity(int* pd_nz,int* po_nz,Node* node,bool* flags,int set1_enum,int set2_enum){
    166166
    167167        int index;
  • ../trunk-jpl/src/c/classes/objects/Elements/Penta.cpp

     
    26062606        else this->nodes=NULL;
    26072607}
    26082608/*}}}*/
     2609/*FUNCTION Penta::SetwiseNodeConnectivity{{{*/
     2610void Penta::SetwiseNodeConnectivity(int* pd_nz,int* po_nz,Node* node,bool* flags,int set1_enum,int set2_enum){
     2611
     2612        int index;
     2613        int set_enum;
     2614
     2615        /*Find node index*/
     2616        index = this->GetNodeIndex(node);
     2617
     2618        /*Output */
     2619        int d_nz = 0;
     2620        int o_nz = 0;
     2621
     2622        /*Loop over all nodes*/
     2623        for(int i=0;i<6;i++){
     2624
     2625                if(!flags[this->nodes[i]->Sid()]){
     2626
     2627                        /*flag current node so that no other element processes it*/
     2628                        flags[this->nodes[i]->Sid()]=true;
     2629
     2630                        /*What set are we interested in?*/
     2631                        if(i!=index)
     2632                         set_enum=set2_enum;
     2633                        else
     2634                         set_enum=set1_enum;
     2635
     2636                        /*if node is clone, we have an off-diagonal non-zero, else it is a diagonal non-zero*/
     2637                        switch(set2_enum){
     2638                                case FsetEnum:
     2639                                        if(nodes[i]->indexing.fsize){
     2640                                                if(this->nodes[i]->IsClone())
     2641                                                 o_nz += 1;
     2642                                                else
     2643                                                 d_nz += 1;
     2644                                        }
     2645                                        break;
     2646                                case GsetEnum:
     2647                                        if(nodes[i]->indexing.gsize){
     2648                                                if(this->nodes[i]->IsClone())
     2649                                                 o_nz += 1;
     2650                                                else
     2651                                                 d_nz += 1;
     2652                                        }
     2653                                        break;
     2654                                case SsetEnum:
     2655                                        if(nodes[i]->indexing.ssize){
     2656                                                if(this->nodes[i]->IsClone())
     2657                                                 o_nz += 1;
     2658                                                else
     2659                                                 d_nz += 1;
     2660                                        }
     2661                                        break;
     2662                                default: _error_("not supported");
     2663                        }
     2664                }
     2665        }
     2666
     2667        /*Assign output pointers: */
     2668        *pd_nz=d_nz;
     2669        *po_nz=o_nz;
     2670}
     2671/*}}}*/
    26092672/*FUNCTION Penta::SpawnTria {{{*/
    26102673Tria*  Penta::SpawnTria(int g0, int g1, int g2){
    26112674
  • ../trunk-jpl/src/c/classes/objects/Elements/Penta.h

     
    7979                void   ComputeStressTensor();
    8080                void   Configure(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters);
    8181                void   SetCurrentConfiguration(Elements* elements,Loads* loads,DataSet* nodes,Materials* materials,Parameters* parameters);
    82                 void   SetwiseNodeConnectivity(int* d_nz,int* o_nz,Node* node,bool* flags,int set1_enum,int set2_enum){_error_("not implemented yet");};
     82                void   SetwiseNodeConnectivity(int* d_nz,int* o_nz,Node* node,bool* flags,int set1_enum,int set2_enum);
    8383                void   CreateKMatrix(Matrix<IssmDouble>* Kff, Matrix<IssmDouble>* Kfs,Vector<IssmDouble>* df);
    8484                void   CreatePVector(Vector<IssmDouble>* pf);
    8585                void   CreateJacobianMatrix(Matrix<IssmDouble>* Jff);
Note: See TracBrowser for help on using the repository browser.