Ignore:
Timestamp:
05/26/10 09:30:24 (15 years ago)
Author:
seroussi
Message:

modified hutter solution to be done by tria or penta

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/objects/Elements/Sing.cpp

    r3944 r3947  
    333333        int    doflist[numdofs];
    334334        int    numberofdofspernode;
     335        int    connectivity;
     336
     337        /*dynamic objects pointed to by hooks: */
     338        Node**  nodes=NULL;
     339
     340        /*recover objects from hooks: */
     341        nodes=(Node**)hnodes.delivers();
     342
     343        /*Find connectivity of the node and divide Ke_gg by this connectivity*/
     344        connectivity=nodes[0]->GetConnectivity();
     345        Ke_gg[0][0]=1/(double)connectivity;
     346        Ke_gg[1][1]=1/(double)connectivity;
    335347
    336348        GetDofList(&doflist[0],&numberofdofspernode);
     
    374386        double    rho_ice,gravity,n,B;
    375387        double    thickness;
     388        int       connectivity;
    376389
    377390        /*dynamic objects pointed to by hooks: */
    378         Node**  node=NULL;
     391        Node**  nodes=NULL;
    379392        Matpar* matpar=NULL;
    380393        Matice* matice=NULL;
    381394
    382395        /*recover objects from hooks: */
    383         node=(Node**)hnodes.deliverp();
     396        nodes=(Node**)hnodes.deliverp();
    384397        matpar=(Matpar*)hmatpar.delivers();
    385398        matice=(Matice*)hmatice.delivers();
     
    389402
    390403        GetDofList(&doflist[0],&numberofdofspernode);
     404
     405        //Get connectivity of the node
     406        connectivity=nodes[0]->GetConnectivity();
    391407
    392408        //compute slope2
     
    406422        constant_part=-2*pow(rho_ice*gravity,n)*pow(slope2,((n-1)/2));
    407423
    408         pe_g[0]=ub-2.0*pow(rho_ice*gravity,n)*pow(slope2,((n-1)/2.0))*pow(thickness,n)/(pow(B,n)*(n+1))*slope[0];
    409         pe_g[1]=vb-2.0*pow(rho_ice*gravity,n)*pow(slope2,((n-1)/2.0))*pow(thickness,n)/(pow(B,n)*(n+1))*slope[1];
     424        pe_g[0]=(ub-2.0*pow(rho_ice*gravity,n)*pow(slope2,((n-1)/2.0))*pow(thickness,n)/(pow(B,n)*(n+1))*slope[0])/(double)connectivity;
     425        pe_g[1]=(vb-2.0*pow(rho_ice*gravity,n)*pow(slope2,((n-1)/2.0))*pow(thickness,n)/(pow(B,n)*(n+1))*slope[1])/(double)connectivity;
    410426
    411427        VecSetValues(pg,numdofs,doflist,(const double*)pe_g,ADD_VALUES);
    412 
    413428
    414429}
Note: See TracChangeset for help on using the changeset viewer.