Changeset 13117


Ignore:
Timestamp:
08/21/12 16:23:21 (13 years ago)
Author:
cborstad
Message:

BUG: debugging 3D NR on branch, rheology_Z was getting missed

Location:
issm/branches/trunk-jpl-damage/src
Files:
3 edited

Legend:

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

    r13104 r13117  
    19641964
    19651965                                /*update input*/
    1966                                 this->inputs->AddInput(new PentaP1Input(name,values));
     1966                                if (name==MaterialsRheologyZEnum || name==MaterialsRheologyZbarEnum){
     1967                                        matice->inputs->AddInput(new PentaP1Input(name,values));
     1968                                }
     1969                                else{
     1970                                        this->inputs->AddInput(new PentaP1Input(name,values));
     1971                                }
    19671972                                return;
    19681973                                break;
     
    43524357                                for(i=0;i<numdof;i++) B[i]=B_average;
    43534358                                this->matice->inputs->AddInput(new PentaP1Input(MaterialsRheologyBEnum,B));
    4354                                 this->matice->inputs->AddInput(new PentaP1Input(MaterialsRheologyZEnum,B));
    43554359                                break;
    43564360                        case ArrheniusEnum:
     
    43614365                                for(i=0;i<numdof;i++) B[i]=B_average;
    43624366                                this->matice->inputs->AddInput(new PentaP1Input(MaterialsRheologyBEnum,B));
    4363                                 this->matice->inputs->AddInput(new PentaP1Input(MaterialsRheologyZEnum,B));
    43644367                                break;
    43654368                        default:
     
    44324435                                for(i=0;i<numdof;i++) B[i]=B_average;
    44334436                                this->matice->inputs->AddInput(new PentaP1Input(MaterialsRheologyBEnum,B));
    4434                                 this->matice->inputs->AddInput(new PentaP1Input(MaterialsRheologyZEnum,B));
    44354437                                break;
    44364438                        case ArrheniusEnum:
     
    44414443                                for(i=0;i<numdof;i++) B[i]=B_average;
    44424444                                this->matice->inputs->AddInput(new PentaP1Input(MaterialsRheologyBEnum,B));
    4443                                 this->matice->inputs->AddInput(new PentaP1Input(MaterialsRheologyZEnum,B));
    44444445                                break;
    44454446                        default:
     
    44694470                input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum);
    44704471        }
     4472        else if(enum_type==MaterialsRheologyZbarEnum){
     4473                if(!IsOnBed()) return;
     4474                input=(Input*)matice->inputs->GetInput(MaterialsRheologyZEnum);
     4475        }
     4476               
    44714477        else{
    44724478                input=inputs->GetInput(enum_type);
     
    44864492        if(enum_type==MaterialsRheologyBbarEnum){
    44874493                input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum);
     4494        }
     4495        else if(enum_type==MaterialsRheologyZbarEnum){
     4496                input=(Input*)matice->inputs->GetInput(MaterialsRheologyZEnum);
    44884497        }
    44894498        else{
     
    45054514        if(enum_type==MaterialsRheologyBbarEnum){
    45064515                input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum);
     4516        }
     4517        else if(enum_type==MaterialsRheologyZbarEnum){
     4518                input=(Input*)matice->inputs->GetInput(MaterialsRheologyZEnum);
    45074519        }
    45084520        else{
     
    51265138                        input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum); _assert_(input);
    51275139                }
     5140                else if(control_type[i]==MaterialsRheologyZbarEnum){
     5141                        if (!IsOnBed()) goto cleanup_and_return;
     5142                        input=(Input*)matice->inputs->GetInput(MaterialsRheologyZEnum); _assert_(input);
     5143                }
    51285144                else{
    51295145                        input=(Input*)this->inputs->GetInput(control_type[i]); _assert_(input);
     
    51385154                if(control_type[i]==MaterialsRheologyBbarEnum){
    51395155                        this->InputExtrude(MaterialsRheologyBEnum,MaterialsEnum);
     5156                }
     5157                else if(control_type[i]==MaterialsRheologyZbarEnum){
     5158                        this->InputExtrude(MaterialsRheologyZEnum,MaterialsEnum);
    51405159                }
    51415160        }
  • issm/branches/trunk-jpl-damage/src/c/classes/objects/Materials/Matice.cpp

    r13101 r13117  
    314314        /*Intermediaries: */
    315315        IssmDouble A,e;
    316         IssmDouble B,n;
    317 
    318         /*Get B and n*/
    319         B=GetB();
     316        IssmDouble B,n,Z;
     317
     318        /*Get B, Z and n*/
    320319        n=GetN();
     320        Z=GetZ();
     321        B=Z*GetB();
    321322
    322323        if (n==1){
     
    384385        /*Intermediaries: */
    385386        IssmDouble A,e;
    386         IssmDouble B,n;
     387        IssmDouble B,n,Z;
    387388        IssmDouble eps0;
    388389
    389390        /*Get B and n*/
    390391        eps0=pow((IssmDouble)10,(IssmDouble)-27);
    391         B=GetB();
    392392        n=GetN();
     393        Z=GetZ();
     394        B=Z*GetB();
    393395       
    394396        if (n==1){
  • issm/branches/trunk-jpl-damage/src/m/contrib/hack/tres.m

    r13021 r13117  
    105105                case MaterialsRheologyBEnum(), string='rheology_B'; return
    106106                case MaterialsRheologyBbarEnum(), string='rheology_B'; return
     107                case MaterialsRheologyZEnum(), string='rheology_Z'; return
     108                case MaterialsRheologyZbarEnum(), string='rheology_Z'; return
    107109                case BalancethicknessThickeningRateEnum(), string='dhdt'; return
    108110                case VxEnum(), string='vx'; return
Note: See TracChangeset for help on using the changeset viewer.