Changeset 17759


Ignore:
Timestamp:
04/17/14 16:07:55 (11 years ago)
Author:
cborstad
Message:

CHG: added IsDamage function to Material class to check for damage in elements

Location:
issm/trunk-jpl/src/c/classes
Files:
6 edited

Legend:

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

    r17680 r17759  
    21332133
    21342134        this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
    2135         this->InputDepthAverageAtBase(DamageDEnum,DamageDbarEnum);
     2135        if(this->material->IsDamage())this->InputDepthAverageAtBase(DamageDEnum,DamageDbarEnum);
    21362136        if(this->inputs->GetInput(VxEnum)) this->InputDepthAverageAtBase(VxEnum,VxAverageEnum);
    21372137        if(this->inputs->GetInput(VyEnum)) this->InputDepthAverageAtBase(VyEnum,VyAverageEnum);
     
    34253425        /*Depth Average B*/
    34263426        this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
    3427         this->InputDepthAverageAtBase(DamageDEnum,DamageDbarEnum);
     3427        if(this->material->IsDamage())this->InputDepthAverageAtBase(DamageDEnum,DamageDbarEnum);
    34283428
    34293429        /*Collapse element to the base*/
     
    34453445        /*Depth Average B and D*/
    34463446        this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
    3447         this->InputDepthAverageAtBase(DamageDEnum,DamageDbarEnum);
     3447        if(this->material->IsDamage())this->InputDepthAverageAtBase(DamageDEnum,DamageDbarEnum);
    34483448
    34493449        /*Collapse element to the base*/
     
    34643464        /*Depth Average B and D*/
    34653465        this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
    3466         this->InputDepthAverageAtBase(DamageDEnum,DamageDbarEnum);
     3466        if(this->material->IsDamage())this->InputDepthAverageAtBase(DamageDEnum,DamageDbarEnum);
    34673467
    34683468        /*Collapse element to the base*/
  • issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r17707 r17759  
    31143114        Input* adjointx_input=inputs->GetInput(AdjointxEnum);                       _assert_(adjointx_input);
    31153115        Input* adjointy_input=inputs->GetInput(AdjointyEnum);                       _assert_(adjointy_input);
    3116         Input* rheologyd_input=inputs->GetInput(DamageDbarEnum); _assert_(rheologyd_input);
     3116        if(this->material->IsDamage()){
     3117                Input* rheologyd_input=inputs->GetInput(DamageDbarEnum); _assert_(rheologyd_input);
     3118        }
    31173119
    31183120        /* Start  looping on the number of gaussian points: */
  • issm/trunk-jpl/src/c/classes/Materials/Material.h

    r17281 r17759  
    3939                virtual IssmDouble GetD()=0;
    4040                virtual IssmDouble GetDbar()=0;
     41                virtual bool       IsDamage()=0;
    4142
    4243};
  • issm/trunk-jpl/src/c/classes/Materials/Matice.cpp

    r17757 r17759  
    3131        this->helement=NULL;
    3232        this->element=NULL;
     33        this->isdamaged=NULL;
    3334        return;
    3435}
     
    5152   int    materialtype;
    5253   iomodel->Constant(&materialtype,MaterialsEnum);
    53    if(materialtype==MatdamageiceEnum) this->isdamage = true;
    54    else if(materialtype==MaticeEnum) this->isdamage = false;
     54   if(materialtype==MatdamageiceEnum) this->isdamaged = true;
     55   else if(materialtype==MaticeEnum) this->isdamaged = false;
    5556   else _error_("Material type not recognized");
    5657
     
    206207IssmDouble Matice::GetD(){
    207208
    208         _assert_(this->isdamage);
     209        _assert_(this->isdamaged);
    209210        /*Output*/
    210211        IssmDouble D;
    211         element->inputs->GetInputAverage(&D,DamageDEnum);
     212        if(this->isdamaged)element->inputs->GetInputAverage(&D,DamageDEnum);
    212213        return D;
    213214}
     
    216217IssmDouble Matice::GetDbar(){
    217218
    218         _assert_(this->isdamage);
     219        _assert_(this->isdamaged);
    219220        /*Output*/
    220221        IssmDouble Dbar;
    221         element->inputs->GetInputAverage(&Dbar,DamageDbarEnum);
     222        if(this->isdamaged)element->inputs->GetInputAverage(&Dbar,DamageDbarEnum);
    222223        return Dbar;
     224}
     225/*}}}*/
     226/*FUNCTION Matice::IsDamage() {{{*/
     227bool Matice::IsDamage(){
     228
     229        return this->isdamaged;
    223230}
    224231/*}}}*/
     
    246253        B=GetB(); _assert_(B>0.);
    247254        n=GetN(); _assert_(n>0.);
    248         if(this->isdamage){
     255        if(this->isdamaged){
    249256                D=GetD();
    250257                _assert_(D>=0. && D<1.);
     
    299306        B=GetBbar(); _assert_(B>0.);
    300307        n=GetN();    _assert_(n>0.);
    301         if(this->isdamage){
     308        if(this->isdamaged){
    302309                D=GetDbar();
    303310                _assert_(D>=0. && D<1.);
     
    351358
    352359        /*Get D and n*/
    353         if(this->isdamage){
     360        if(this->isdamaged){
    354361                D=GetDbar(); /* GetD()? */
    355362                _assert_(D>=0. && D<1.);
  • issm/trunk-jpl/src/c/classes/Materials/Matice.h

    r17757 r17759  
    2424        private:
    2525                int      mid;
    26                 bool     isdamage;
     26                bool     isdamaged;
    2727                Hook    *helement;
    2828                Element *element;
     
    6868                IssmDouble GetDbar();
    6969                IssmDouble GetN();
     70                bool       IsDamage();
    7071                /*}}}*/
    7172};
  • issm/trunk-jpl/src/c/classes/Materials/Matpar.h

    r17738 r17759  
    9696                IssmDouble GetD(){_error_("not supported");};
    9797                IssmDouble GetDbar(){_error_("not supported");};
     98                bool       IsDamage(){_error_("not supported");};
    9899                /*}}}*/
    99100                /*Numerics: {{{*/
Note: See TracChangeset for help on using the changeset viewer.