Changeset 17396
- Timestamp:
- 03/08/14 15:03:27 (11 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp
r17391 r17396 441 441 /*Intermediaries */ 442 442 IssmDouble c1,c2,c3,healing,stress_threshold; 443 IssmDouble s_xx,s_xy,s_yy ;443 IssmDouble s_xx,s_xy,s_yy,s1,s2,stmp; 444 444 IssmDouble J2s,Chi,Psi,PosPsi,NegPsi; 445 445 IssmDouble damage,sigma_xx,sigma_xy,sigma_yy; … … 478 478 sigma_xy_input->GetInputValue(&sigma_xy,gauss); 479 479 sigma_yy_input->GetInputValue(&sigma_yy,gauss); 480 480 481 /*Calculate effective stress components*/ 481 482 s_xx=sigma_xx/(1.-damage); 482 483 s_xy=sigma_xy/(1.-damage); 483 484 s_yy=sigma_yy/(1.-damage); 484 485 486 /*Calculate principal effective stresses*/ 487 s1=(s_xx+s_yy)/2.+sqrt(pow((s_xx-s_yy)/2.,2)+pow(s_xy,2)); 488 s2=(s_xx+s_yy)/2.-sqrt(pow((s_xx-s_yy)/2.,2)+pow(s_xy,2)); 489 if(fabs(s2)>fabs(s1)){stmp=s2; s2=s1; s1=stmp;} 490 485 491 if(equivstress==0){ /* von Mises */ 486 Chi=sqrt(s_xx*s_xx - s_xx*s_yy + s_yy*s_yy + 3*s_xy*s_xy); 492 Chi=sqrt(s1*s1-s1*s2+s2*s2); 493 } 494 else if(equivstress==1){ /* max principal stress */ 495 Chi=s1; 487 496 } 488 497 Psi=Chi-stress_threshold; -
issm/trunk-jpl/src/m/classes/damage.m
r17392 r17396 104 104 md = checkfield(md,'fieldname','damage.c4','>=',0); 105 105 md = checkfield(md,'fieldname','damage.stress_threshold','>=',0); 106 md = checkfield(md,'fieldname','damage.equiv_stress','numel',[1],'values',[0 ]);106 md = checkfield(md,'fieldname','damage.equiv_stress','numel',[1],'values',[0 1]); 107 107 md = checkfield(md,'fieldname','damage.requested_outputs','stringrow',1); 108 108 elseif strcmpi(obj.law,'undamaged'), … … 149 149 fielddisplay(obj,'healing','damage healing parameter'); 150 150 fielddisplay(obj,'stress_threshold','damage stress threshold [Pa]'); 151 fielddisplay(obj,'equiv_stress','0: von Mises ');151 fielddisplay(obj,'equiv_stress','0: von Mises, 1: max principal'); 152 152 fielddisplay(obj,'requested_outputs','additional outputs requested'); 153 153 end -
issm/trunk-jpl/src/m/classes/damage.py
r17392 r17396 65 65 s+="%s\n" % fielddisplay(self,"stress_threshold","damage stress threshold [Pa]") 66 66 s+="%s\n" % fielddisplay(self,"healing","damage healing parameter") 67 s+="%s\n" % fielddisplay(self,"equiv_stress s","0: von Mises")67 s+="%s\n" % fielddisplay(self,"equiv_stress","0: von Mises, 1: max principal") 68 68 s+="%s\n" % fielddisplay(self,'requested_outputs','additional outputs requested') 69 69 … … 141 141 md = checkfield(md,'fieldname','damage.stress_threshold','>=',0) 142 142 md = checkfield(md,'fieldname','damage.healing','>=',0) 143 md = checkfield(md,'fieldname','damage.equiv_stress','numel',[1],'values',[0 ])143 md = checkfield(md,'fieldname','damage.equiv_stress','numel',[1],'values',[0,1]) 144 144 md = checkfield(md,'fieldname','damage.requested_outputs','stringrow',1) 145 145 elif strcmpi(self.law,'undamaged'):
Note:
See TracChangeset
for help on using the changeset viewer.