Changeset 11368
- Timestamp:
- 02/08/12 15:42:50 (13 years ago)
- Location:
- issm/trunk-jpl-damage/src
- Files:
-
- 6 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl-damage/src/c/EnumDefinitions/EnumDefinitions.h
r11292 r11368 99 99 MaterialsRheologyLawEnum, 100 100 MaterialsRheologyNEnum, 101 MaterialsRheologyZEnum, 102 MaterialsRheologyZbarEnum, 101 103 MaterialsRhoIceEnum, 102 104 MaterialsRhoWaterEnum, -
issm/trunk-jpl-damage/src/c/EnumDefinitions/EnumToModelField.cpp
r11199 r11368 17 17 case MaterialsRheologyBEnum : return "rheology_B"; 18 18 case MaterialsRheologyBbarEnum : return "rheology_B"; 19 case MaterialsRheologyZEnum : return "rheology_Z"; 20 case MaterialsRheologyZbarEnum : return "rheology_Z"; 19 21 case BalancethicknessThickeningRateEnum: return "dhdt"; 20 22 case VxEnum : return "vx"; -
issm/trunk-jpl-damage/src/c/modules/EnumToStringx/EnumToStringx.cpp
r11292 r11368 103 103 case MaterialsRheologyLawEnum : return "MaterialsRheologyLaw"; 104 104 case MaterialsRheologyNEnum : return "MaterialsRheologyN"; 105 case MaterialsRheologyZEnum : return "MaterialsRheologyZ"; 106 case MaterialsRheologyZbarEnum : return "MaterialsRheologyZbar"; 105 107 case MaterialsRhoIceEnum : return "MaterialsRhoIce"; 106 108 case MaterialsRhoWaterEnum : return "MaterialsRhoWater"; -
issm/trunk-jpl-damage/src/c/modules/StringToEnumx/StringToEnumx.cpp
r11292 r11368 101 101 else if (strcmp(name,"MaterialsRheologyLaw")==0) return MaterialsRheologyLawEnum; 102 102 else if (strcmp(name,"MaterialsRheologyN")==0) return MaterialsRheologyNEnum; 103 else if (strcmp(name,"MaterialsRheologyZ")==0) return MaterialsRheologyZEnum; 104 else if (strcmp(name,"MaterialsRheologyZbar")==0) return MaterialsRheologyZbarEnum; 103 105 else if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum; 104 106 else if (strcmp(name,"MaterialsRhoWater")==0) return MaterialsRhoWaterEnum; -
issm/trunk-jpl-damage/src/m/classes/materials.m
r10969 r11368 17 17 thermal_exchange_velocity = 0; 18 18 rheology_B = NaN; 19 rheology_Z = NaN; 19 20 rheology_n = NaN; 20 21 rheology_law = ''; … … 68 69 obj.thermal_exchange_velocity=1.00*10^-4; 69 70 71 %damage effect variable is 1 by default (no damage mechanics) 72 obj.rheology_Z=1; 73 70 74 %Rheology law: what is the temperature dependence of B with T 71 75 %available: none, paterson and arrhenius … … 77 81 checkfield(md,'materials.mu_water','>',0); 78 82 checkfield(md,'materials.rheology_B','>',0,'size',[md.mesh.numberofvertices 1]); 83 checkfield(md,'materials.rheology_Z','>',0,'size',[md.mesh.numberofvertices 1]); 79 84 checkfield(md,'materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]); 80 85 checkfield(md,'materials.rheology_law','values',{'None' 'Paterson' 'Arrhenius'}); … … 94 99 fielddisplay(obj,'thermal_exchange_velocity','thermal exchange velocity [m/s]'); 95 100 fielddisplay(obj,'rheology_B','flow law parameter [Pa/s^(1/n)]'); 101 fielddisplay(obj,'rheology_Z','dimensionless damage effect variable, equal to (1-D), Z=1 turns damage mechanics off'); 96 102 fielddisplay(obj,'rheology_n','Glen''s flow law exponent'); 97 103 fielddisplay(obj,'rheology_law','law for the temperature dependance of the rheology: ''None'', ''Paterson'' or ''Arrhenius'''); … … 109 115 WriteData(fid,'object',obj,'fieldname','thermal_exchange_velocity','format','Double'); 110 116 WriteData(fid,'object',obj,'fieldname','rheology_B','format','DoubleMat','mattype',1); 117 WriteData(fid,'object',obj,'fieldname','rheology_Z','format','DoubleMat','mattype',1); 111 118 WriteData(fid,'object',obj,'fieldname','rheology_n','format','DoubleMat','mattype',2); 112 119 WriteData(fid,'data',StringToEnum(obj.rheology_law),'enum',MaterialsRheologyLawEnum,'format','Integer'); -
issm/trunk-jpl-damage/src/m/classes/model/model.m
r11139 r11368 192 192 if isfield(structmd,'B'), md.materials.rheology_B=structmd.B; end 193 193 if isfield(structmd,'n'), md.materials.rheology_n=structmd.n; end 194 if isfield(structmd,'Z'), md.materials.rheology_Z=structmd.Z; end 194 195 if isfield(structmd,'rheology_B'), md.materials.rheology_B=structmd.rheology_B; end 195 196 if isfield(structmd,'rheology_n'), md.materials.rheology_n=structmd.rheology_n; end 197 if isfield(structmd,'rheology_Z'), md.materials.rheology_Z=structmd.rheology_Z; end 196 198 if isfield(structmd,'elementoniceshelf'), md.mask.elementonfloatingice=structmd.elementoniceshelf; end 197 199 if isfield(structmd,'elementonicesheet'), md.mask.elementongroundedice=structmd.elementonicesheet; end -
issm/trunk-jpl-damage/src/m/enum/EnumToModelField.m
r9681 r11368 15 15 case MaterialsRheologyBEnum(), string='rheology_B'; return 16 16 case MaterialsRheologyBbarEnum(), string='rheology_B'; return 17 case MaterialsRheologyZEnum(), string='rheology_Z'; return 18 case MaterialsRheologyZbarEnum(), string='rheology_Z'; return 17 19 case BalancethicknessThickeningRateEnum: string='dhdt'; return 18 20 case VxEnum(), string='vx'; return -
issm/trunk-jpl-damage/src/m/model/collapse.m
r9734 r11368 66 66 %materials 67 67 md.materials.rheology_B=DepthAverage(md,md.materials.rheology_B); 68 md.materials.rheology_Z=DepthAverage(md,md.materials.rheology_Z); 68 69 md.materials.rheology_n=project2d(md,md.materials.rheology_n,1); 69 70 -
issm/trunk-jpl-damage/src/m/model/extrude.m
r11234 r11368 200 200 %materials 201 201 md.materials.rheology_B=project3d(md,'vector',md.materials.rheology_B,'type','node'); 202 md.materials.rheology_Z=project3d(md,'vector',md.materials.rheology_Z,'type','node'); 202 203 md.materials.rheology_n=project3d(md,'vector',md.materials.rheology_n,'type','element'); 203 204 -
issm/trunk-jpl-damage/src/m/model/mechanicalproperties.m
r9734 r11368 1 1 function md=mechanicalproperties(md,vx,vy) 2 %MECHANICALPROPERTIES - compute stress and strain rate for a g oven velocity2 %MECHANICALPROPERTIES - compute stress and strain rate for a given velocity 3 3 % 4 4 % this routine computes the components of the stress tensor … … 48 48 %compute viscosity 49 49 nu=zeros(numberofelements,1); 50 B_bar=md.materials.rheology_ B(index)*summation/3;50 B_bar=md.materials.rheology_Z(index).*md.materials.rheology_B(index)*summation/3; 51 51 power=(md.materials.rheology_n-1)./(2*md.materials.rheology_n); 52 52 second_inv=(ux.^2+vy.^2+((uy+vx).^2)/4+ux.*vy);
Note:
See TracChangeset
for help on using the changeset viewer.