Changeset 17325


Ignore:
Timestamp:
02/20/14 14:54:13 (11 years ago)
Author:
seroussi
Message:

CHG: updating no penetration condition for FS at each time step

Location:
issm/trunk-jpl/src/c
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp

    r17324 r17325  
    77#include "../cores/cores.h"
    88
    9 //#define FSANALYTICAL 1
     9//#define FSANALYTICAL 3
    1010
    1111/*Model processing*/
     
    413413                                _error_("not supported yet");
    414414                        }
    415                         for(i=0;i<iomodel->numberofvertices;i++){
    416                                 if(iomodel->my_vertices[i]){
    417                                         if(nodeonbed[i]>0. && groundedice_ls[i]>0. && nodeonFS[i]>0.){
    418                                                 if(vertices_type[i] == FSApproximationEnum){
    419                                                         for(j=0;j<Nz;j++) spcvz[i*Nz+j] = 0.;
    420                                                 }
    421                                                 else{
    422                                                         _error_("not supported");
    423                                                 }
    424                                         }
    425                                 }
    426                         }
    427415                        if(iomodel->meshtype==Mesh3DEnum){
    428416                                IoModelToConstraintsx(constraints,iomodel,StressbalanceSpcvxEnum,StressbalanceAnalysisEnum,finiteelement,1);
  • issm/trunk-jpl/src/c/classes/Elements/Penta.cpp

    r17322 r17325  
    21642164        int        numindices;
    21652165        int       *indices = NULL;
    2166         IssmDouble slopex,slopey;
     2166        IssmDouble slopex,slopey,groundedice;
    21672167        IssmDouble xz_plane[6];
    21682168
     
    21772177        Input* slopex_input=inputs->GetInput(BedSlopeXEnum); _assert_(slopex_input);
    21782178        Input* slopey_input=inputs->GetInput(BedSlopeYEnum); _assert_(slopey_input);
     2179        Input* groundedicelevelset_input=inputs->GetInput(MaskGroundediceLevelsetEnum); _assert_(groundedicelevelset_input);
    21792180
    21802181        /*Loop over basal nodes and update their CS*/
     
    21852186                slopex_input->GetInputValue(&slopex,gauss);
    21862187                slopey_input->GetInputValue(&slopey,gauss);
    2187 
    2188                 /*New X axis          New Z axis*/
    2189                 xz_plane[0]=1.;       xz_plane[3]=-slopex; 
    2190                 xz_plane[1]=0.;       xz_plane[4]=-slopey; 
    2191                 xz_plane[2]=slopex;   xz_plane[5]=1.;         
     2188                groundedicelevelset_input->GetInputValue(&groundedice,gauss);
     2189
     2190                if(groundedice>0){
     2191                        /*New X axis          New Z axis*/
     2192                        xz_plane[0]=1.;       xz_plane[3]=-slopex; 
     2193                        xz_plane[1]=0.;       xz_plane[4]=-slopey; 
     2194                        xz_plane[2]=slopex;   xz_plane[5]=1.;         
     2195                        this->nodes[indices[i]]->DofInSSet(2); //vz
     2196                }
     2197                else{
     2198                        /*New X axis          New Z axis*/
     2199                        xz_plane[0]=1.;       xz_plane[3]=0; 
     2200                        xz_plane[1]=0.;       xz_plane[4]=0; 
     2201                        xz_plane[2]=0;        xz_plane[5]=1.;         
     2202                        this->nodes[indices[i]]->DofInFSet(2); //vz
     2203                }
    21922204
    21932205                XZvectorsToCoordinateSystem(&this->nodes[indices[i]]->coord_system[0][0],&xz_plane[0]);
     2206               
    21942207        }
    21952208
Note: See TracChangeset for help on using the changeset viewer.