Changeset 19384
- Timestamp:
- 06/01/15 06:34:39 (10 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp
r19381 r19384 82 82 int law; 83 83 iomodel->Constant(&law,DamageLawEnum); 84 if (law>0){ 84 if (law==0){ 85 parameters->AddObject(iomodel->CopyConstantObject(DamageStressThresholdEnum)); 86 parameters->AddObject(iomodel->CopyConstantObject(DamageKappaEnum)); 87 } 88 else if (law>0){ 85 89 parameters->AddObject(iomodel->CopyConstantObject(DamageC1Enum)); 86 90 parameters->AddObject(iomodel->CopyConstantObject(DamageC2Enum)); … … 98 102 void DamageEvolutionAnalysis::Core(FemModel* femmodel){/*{{{*/ 99 103 _error_("not implemented"); 104 }/*}}}*/ 105 void DamageEvolutionAnalysis::CreateDamageFInput(Element* element){/*{{{*/ 106 107 /*Fetch number of vertices and allocate output*/ 108 int numnodes = element->GetNumberOfNodes(); 109 IssmDouble* f = xNew<IssmDouble>(numnodes); 110 111 /*Calculate damage evolution source term: */ 112 for (int i=0;i<numnodes;i++){ 113 114 /* healing could be handled here */ 115 116 /* no source term; damage handled in stress balance */ 117 f[i]=0; 118 } 119 120 /*Add input*/ 121 element->AddInput(DamageFEnum,f,element->GetElementType()); 122 123 /*Clean up and return*/ 124 xDelete<IssmDouble>(f); 100 125 }/*}}}*/ 101 126 void DamageEvolutionAnalysis::CreateDamageFInputExp(Element* element){/*{{{*/ … … 502 527 element->FindParam(&damagelaw,DamageLawEnum); 503 528 switch(damagelaw){ 529 case 0: 530 this->CreateDamageFInput(element); 531 break; 504 532 case 1: 505 533 this->CreateDamageFInputPralong(element); -
issm/trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.h
r18930 r19384 22 22 /*Finite element Analysis*/ 23 23 void Core(FemModel* femmodel); 24 void CreateDamageFInput(Element* element); 24 25 void CreateDamageFInputExp(Element* element); 25 26 void CreateDamageFInputPralong(Element* element); -
issm/trunk-jpl/src/m/classes/damage.m
r19381 r19384 173 173 fielddisplay(self,'isdamage','is damage mechanics being used? {true,false}'); 174 174 if self.isdamage, 175 fielddisplay(self,'law','damage law {''0: undamaged'',''1: pralong''}');175 fielddisplay(self,'law','damage law {''0: no source term'',''1: pralong''}'); 176 176 fielddisplay(self,'D','damage tensor (scalar)'); 177 177 fielddisplay(self,'spcdamage','damage constraints (NaN means no constraint)'); -
issm/trunk-jpl/src/m/classes/damage.py
r19381 r19384 52 52 if self.isdamage: 53 53 s+="%s\n" % fielddisplay(self,"D","damage tensor (scalar for now)") 54 s+="%s\n" % fielddisplay(self,"law","damage law ['0: undamaged','1: pralong']")54 s+="%s\n" % fielddisplay(self,"law","damage law ['0: no source term','1: pralong']") 55 55 s+="%s\n" % fielddisplay(self,"spcdamage","damage constraints (NaN means no constraint)") 56 56 s+="%s\n" % fielddisplay(self,"max_damage","maximum possible damage (0<=max_damage<1)")
Note:
See TracChangeset
for help on using the changeset viewer.