Changeset 24137


Ignore:
Timestamp:
09/09/19 08:06:36 (6 years ago)
Author:
Mathieu Morlighem
Message:

BUG: StabilizationParameterAnisotropic should not return a double

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

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Elements/Element.h

    r24136 r24137  
    319319                virtual Element*   SpawnTopElement(void)=0;
    320320                virtual IssmDouble StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa)=0;
    321                 virtual IssmDouble StabilizationParameterAnisotropic(IssmDouble* tau_parameter_anisotropic, IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble hx, IssmDouble hy, IssmDouble hz, IssmDouble kappa)=0;         
     321                virtual void      StabilizationParameterAnisotropic(IssmDouble* tau_parameter_anisotropic, IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble hx, IssmDouble hy, IssmDouble hz, IssmDouble kappa)=0;         
    322322                virtual void        StrainRateparallel(void)=0;
    323323                virtual void        StrainRateperpendicular(void)=0;
  • issm/trunk-jpl/src/c/classes/Elements/Penta.cpp

    r24136 r24137  
    31553155
    31563156        return tau_parameter;
    3157 }
    3158 IssmDouble Penta::StabilizationParameterAnisotropic(IssmDouble* tau_parameter_anisotropic, IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble hx, IssmDouble hy, IssmDouble hz, IssmDouble kappa){/*{{{*/
     3157}/*}}}*/
     3158void Penta::StabilizationParameterAnisotropic(IssmDouble* tau_parameter_anisotropic, IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble hx, IssmDouble hy, IssmDouble hz, IssmDouble kappa){/*{{{*/
    31593159        /*Compute stabilization parameter*/
    31603160        /*kappa=thermalconductivity/(rho_ice*heatcapacity) for thermal model*/
     
    31673167        normu=pow(pow(u,p)+pow(v,p)+pow(w,p),1./p);
    31683168        hk=sqrt(pow(hx,2)+pow(hy,2));
    3169        
     3169
    31703170        if(normu*hk/(C*2*kappa)<1){
    31713171                tau_parameter_anisotropic[0]=pow(hk,2)/(C*2*2*kappa);
    31723172        }
    31733173        else tau_parameter_anisotropic[0]=hk/(2*normu);
    3174        
     3174
    31753175        /* compute tau for the vertical direction */
    3176         hk=hz;
    3177         if(normu*hk/(C*2*kappa)<1){
    3178                 tau_parameter_anisotropic[1]=pow(hk,2)/(C*2*2*kappa);
    3179         }
    3180         else tau_parameter_anisotropic[1]=hk/(2*normu);
     3176        hk=hz;
     3177        if(normu*hk/(C*2*kappa)<1){
     3178                tau_parameter_anisotropic[1]=pow(hk,2)/(C*2*2*kappa);
     3179        }
     3180        else{
     3181                tau_parameter_anisotropic[1]=hk/(2*normu);
     3182        }
    31813183}
    31823184/*}}}*/
  • issm/trunk-jpl/src/c/classes/Elements/Penta.h

    r24136 r24137  
    162162                Tria*            SpawnTria(int index1,int index2,int index3);
    163163                IssmDouble     StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa);
    164                 IssmDouble     StabilizationParameterAnisotropic(IssmDouble* tau_parameter_anisotropic, IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble hx, IssmDouble hy, IssmDouble hz, IssmDouble kappa);
     164                void           StabilizationParameterAnisotropic(IssmDouble* tau_parameter_anisotropic, IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble hx, IssmDouble hy, IssmDouble hz, IssmDouble kappa);
    165165                void           StressIntensityFactor();
    166166                void           StrainRateparallel();
  • issm/trunk-jpl/src/c/classes/Elements/Seg.h

    r24136 r24137  
    138138                Element*    SpawnTopElement(void){_error_("not implemented yet");};
    139139                IssmDouble  StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa){_error_("not implemented yet");};
    140                 IssmDouble  StabilizationParameterAnisotropic(IssmDouble* tau_parameter_anisotropic, IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble hx, IssmDouble hy,  IssmDouble hz, IssmDouble kappa){_error_("not implemented yet");};
     140                void        StabilizationParameterAnisotropic(IssmDouble* tau_parameter_anisotropic, IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble hx, IssmDouble hy,  IssmDouble hz, IssmDouble kappa){_error_("not implemented yet");};
    141141                void        StrainRateparallel(void){_error_("not implemented yet");};
    142142                void        StrainRateperpendicular(void){_error_("not implemented yet");};
  • issm/trunk-jpl/src/c/classes/Elements/Tetra.h

    r24136 r24137  
    147147                Tria*       SpawnTria(int index1,int index2,int index3);
    148148                IssmDouble  StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa){_error_("not implemented yet");};
    149                 IssmDouble  StabilizationParameterAnisotropic(IssmDouble* tau_parameter_anisotropic, IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble hx, IssmDouble hy, IssmDouble hz, IssmDouble kappa){_error_("not implemented yet");};
     149                void        StabilizationParameterAnisotropic(IssmDouble* tau_parameter_anisotropic, IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble hx, IssmDouble hy, IssmDouble hz, IssmDouble kappa){_error_("not implemented yet");};
    150150                void        StrainRateparallel(void){_error_("not implemented yet");};
    151151                void        StrainRateperpendicular(void){_error_("not implemented yet");};
  • issm/trunk-jpl/src/c/classes/Elements/Tria.h

    r24136 r24137  
    215215                Seg*             SpawnSeg(int index1,int index2);
    216216                IssmDouble     StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa){_error_("not implemented yet");};
    217                 IssmDouble     StabilizationParameterAnisotropic(IssmDouble* tau_parameter_ansiotropic, IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble hx, IssmDouble hy, IssmDouble hz, IssmDouble kappa){_error_("not implemented yet");};
     217                void           StabilizationParameterAnisotropic(IssmDouble* tau_parameter_ansiotropic, IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble hx, IssmDouble hy, IssmDouble hz, IssmDouble kappa){_error_("not implemented yet");};
    218218                void           UpdateConstraintsExtrudeFromBase(void);
    219219                void           UpdateConstraintsExtrudeFromTop(void);
Note: See TracChangeset for help on using the changeset viewer.