Changeset 10431


Ignore:
Timestamp:
11/02/11 12:00:06 (13 years ago)
Author:
seroussi
Message:

finished clean migration 3d for Aggressive Retreat

Location:
issm/trunk/src/c/objects
Files:
4 edited

Legend:

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

    r10428 r10431  
    14211421        int     i,num_inputs;
    14221422        Penta  *penta       = NULL;
     1423        Input  *copy        = NULL;
    14231424        Input **base_inputs = NULL;
    1424         Input  *copy        = NULL;
    14251425
    14261426        /*Are we on the base, not on the surface?:*/
     
    14391439        }
    14401440        else if (object_type==NodeEnum){
    1441                 num_inputs=6;
     1441                num_inputs=3; //only the three upper nodes
    14421442                base_inputs=(Input**)xmalloc(num_inputs*sizeof(Input*));
    14431443                for(i=0;i<num_inputs;i++){
     
    14591459        penta=this;
    14601460        for(;;){
    1461 
    14621461                /* get upper Penta*/
    14631462                penta=penta->GetUpperElement();
     
    14701469                                penta->inputs->AddInput((Input*)copy);
    14711470                        }
    1472                         else if (object_type==MaterialsEnum){
     1471                        else if(object_type==MaterialsEnum){
    14731472                                penta->matice->inputs->AddInput((Input*)copy);
    14741473                        }
    1475                         else if (object_type==NodeEnum){
    1476                                 penta->nodes[i]->inputs->AddInput((Input*)copy);
     1474                        else if(object_type==NodeEnum){
     1475                                penta->nodes[i+3]->inputs->AddInput((Input*)copy); //change only the three upper nodes
    14771476                        }
    14781477                        else{
     
    20672066        double  h[NUMVERTICES],s[NUMVERTICES],b[NUMVERTICES],ba[NUMVERTICES];
    20682067
     2068        if(!IsOnBed()) return;
     2069
    20692070        /*Recover info at the vertices: */
    20702071        parameters->FindParam(&migration_style,GroundinglineMigrationEnum);
     
    21262127
    21272128        /*Update inputs*/
    2128    this->inputs->AddInput(new BoolInput(MaskElementonfloatingiceEnum,elementonshelf));
    2129 
    2130         /*Update inputs*/   
    21312129        this->inputs->AddInput(new PentaVertexInput(SurfaceEnum,&s[0]));
    21322130        this->inputs->AddInput(new PentaVertexInput(BedEnum,&b[0]));
     2131   this->inputs->AddInput(new BoolInput(MaskElementonfloatingiceEnum,elementonshelf));
     2132
     2133        /*Extrude inputs*/
     2134        this->InputExtrude(SurfaceEnum,ElementEnum);
     2135        this->InputExtrude(BedEnum,ElementEnum);
     2136        this->InputExtrude(MaskElementonfloatingiceEnum,ElementEnum);
     2137        this->InputExtrude(MaskVertexonfloatingiceEnum,NodeEnum);
     2138        this->InputExtrude(MaskVertexongroundediceEnum,NodeEnum);
    21332139}
    21342140/*}}}*/
  • issm/trunk/src/c/objects/Inputs/BoolInput.cpp

    r10135 r10431  
    225225}
    226226/*}}}*/
     227/*FUNCTION BoolInput::Extrude{{{1*/
     228void BoolInput::Extrude(void){
     229
     230        /*do nothing*/
     231        return;
     232}
     233/*}}}*/
    227234/*FUNCTION BoolInput::GetVectorFromInputs{{{1*/
    228235void BoolInput::GetVectorFromInputs(Vec vector,int* doflist){
  • issm/trunk/src/c/objects/Inputs/BoolInput.h

    r10135 r10431  
    7979                void AXPY(Input* xinput,double scalar);
    8080                void Constrain(double cm_min, double cm_max);
    81                 void Extrude(void){_error_("not supported yet");};
     81                void Extrude(void);
    8282                void VerticallyIntegrate(Input* thickness_input){_error_("not supported yet");};
    8383                void GetVectorFromInputs(Vec vector,int* doflist);
  • issm/trunk/src/c/objects/Inputs/PentaVertexInput.cpp

    r10135 r10431  
    534534        /*First 3 values copied on 3 last values*/
    535535        for(i=0;i<3;i++) this->values[3+i]=this->values[i];
    536 
    537536}
    538537/*}}}*/
Note: See TracChangeset for help on using the changeset viewer.