Changeset 11368


Ignore:
Timestamp:
02/08/12 15:42:50 (13 years ago)
Author:
cborstad
Message:

model setup for new damage effect variable Z

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  
    9999        MaterialsRheologyLawEnum,
    100100        MaterialsRheologyNEnum,
     101        MaterialsRheologyZEnum,
     102        MaterialsRheologyZbarEnum,
    101103        MaterialsRhoIceEnum,
    102104        MaterialsRhoWaterEnum,
  • issm/trunk-jpl-damage/src/c/EnumDefinitions/EnumToModelField.cpp

    r11199 r11368  
    1717                case MaterialsRheologyBEnum : return "rheology_B";
    1818                case MaterialsRheologyBbarEnum : return "rheology_B";
     19                case MaterialsRheologyZEnum : return "rheology_Z";
     20                case MaterialsRheologyZbarEnum : return "rheology_Z";
    1921                case BalancethicknessThickeningRateEnum: return "dhdt";
    2022                case VxEnum : return "vx";
  • issm/trunk-jpl-damage/src/c/modules/EnumToStringx/EnumToStringx.cpp

    r11292 r11368  
    103103                case MaterialsRheologyLawEnum : return "MaterialsRheologyLaw";
    104104                case MaterialsRheologyNEnum : return "MaterialsRheologyN";
     105                case MaterialsRheologyZEnum : return "MaterialsRheologyZ";
     106                case MaterialsRheologyZbarEnum : return "MaterialsRheologyZbar";
    105107                case MaterialsRhoIceEnum : return "MaterialsRhoIce";
    106108                case MaterialsRhoWaterEnum : return "MaterialsRhoWater";
  • issm/trunk-jpl-damage/src/c/modules/StringToEnumx/StringToEnumx.cpp

    r11292 r11368  
    101101        else if (strcmp(name,"MaterialsRheologyLaw")==0) return MaterialsRheologyLawEnum;
    102102        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;
    103105        else if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum;
    104106        else if (strcmp(name,"MaterialsRhoWater")==0) return MaterialsRhoWaterEnum;
  • issm/trunk-jpl-damage/src/m/classes/materials.m

    r10969 r11368  
    1717                thermal_exchange_velocity  = 0;
    1818                rheology_B   = NaN;
     19                rheology_Z   = NaN;
    1920                rheology_n   = NaN;
    2021                rheology_law = '';
     
    6869                        obj.thermal_exchange_velocity=1.00*10^-4;
    6970
     71                        %damage effect variable is 1 by default (no damage mechanics)
     72                        obj.rheology_Z=1;
     73
    7074                        %Rheology law: what is the temperature dependence of B with T
    7175                        %available: none, paterson and arrhenius
     
    7781                        checkfield(md,'materials.mu_water','>',0);
    7882                        checkfield(md,'materials.rheology_B','>',0,'size',[md.mesh.numberofvertices 1]);
     83                        checkfield(md,'materials.rheology_Z','>',0,'size',[md.mesh.numberofvertices 1]);
    7984                        checkfield(md,'materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]);
    8085                        checkfield(md,'materials.rheology_law','values',{'None' 'Paterson' 'Arrhenius'});
     
    9499                        fielddisplay(obj,'thermal_exchange_velocity','thermal exchange velocity [m/s]');
    95100                        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');
    96102                        fielddisplay(obj,'rheology_n','Glen''s flow law exponent');
    97103                        fielddisplay(obj,'rheology_law','law for the temperature dependance of the rheology: ''None'', ''Paterson'' or ''Arrhenius''');
     
    109115                        WriteData(fid,'object',obj,'fieldname','thermal_exchange_velocity','format','Double');
    110116                        WriteData(fid,'object',obj,'fieldname','rheology_B','format','DoubleMat','mattype',1);
     117                        WriteData(fid,'object',obj,'fieldname','rheology_Z','format','DoubleMat','mattype',1);
    111118                        WriteData(fid,'object',obj,'fieldname','rheology_n','format','DoubleMat','mattype',2);
    112119                        WriteData(fid,'data',StringToEnum(obj.rheology_law),'enum',MaterialsRheologyLawEnum,'format','Integer');
  • issm/trunk-jpl-damage/src/m/classes/model/model.m

    r11139 r11368  
    192192                         if isfield(structmd,'B'), md.materials.rheology_B=structmd.B; end
    193193                         if isfield(structmd,'n'), md.materials.rheology_n=structmd.n; end
     194                         if isfield(structmd,'Z'), md.materials.rheology_Z=structmd.Z; end
    194195                         if isfield(structmd,'rheology_B'), md.materials.rheology_B=structmd.rheology_B; end
    195196                         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
    196198                         if isfield(structmd,'elementoniceshelf'), md.mask.elementonfloatingice=structmd.elementoniceshelf; end
    197199                         if isfield(structmd,'elementonicesheet'), md.mask.elementongroundedice=structmd.elementonicesheet; end
  • issm/trunk-jpl-damage/src/m/enum/EnumToModelField.m

    r9681 r11368  
    1515                case MaterialsRheologyBEnum(), string='rheology_B'; return
    1616                case MaterialsRheologyBbarEnum(), string='rheology_B'; return
     17                case MaterialsRheologyZEnum(), string='rheology_Z'; return
     18                case MaterialsRheologyZbarEnum(), string='rheology_Z'; return
    1719                case BalancethicknessThickeningRateEnum: string='dhdt'; return
    1820                case VxEnum(), string='vx'; return
  • issm/trunk-jpl-damage/src/m/model/collapse.m

    r9734 r11368  
    6666%materials
    6767md.materials.rheology_B=DepthAverage(md,md.materials.rheology_B);
     68md.materials.rheology_Z=DepthAverage(md,md.materials.rheology_Z);
    6869md.materials.rheology_n=project2d(md,md.materials.rheology_n,1);
    6970
  • issm/trunk-jpl-damage/src/m/model/extrude.m

    r11234 r11368  
    200200%materials
    201201md.materials.rheology_B=project3d(md,'vector',md.materials.rheology_B,'type','node');
     202md.materials.rheology_Z=project3d(md,'vector',md.materials.rheology_Z,'type','node');
    202203md.materials.rheology_n=project3d(md,'vector',md.materials.rheology_n,'type','element');
    203204
  • issm/trunk-jpl-damage/src/m/model/mechanicalproperties.m

    r9734 r11368  
    11function md=mechanicalproperties(md,vx,vy)
    2 %MECHANICALPROPERTIES - compute stress and strain rate for a goven velocity
     2%MECHANICALPROPERTIES - compute stress and strain rate for a given velocity
    33%
    44%   this routine computes the components of the stress tensor
     
    4848%compute viscosity
    4949nu=zeros(numberofelements,1);
    50 B_bar=md.materials.rheology_B(index)*summation/3;
     50B_bar=md.materials.rheology_Z(index).*md.materials.rheology_B(index)*summation/3;
    5151power=(md.materials.rheology_n-1)./(2*md.materials.rheology_n);
    5252second_inv=(ux.^2+vy.^2+((uy+vx).^2)/4+ux.*vy);
Note: See TracChangeset for help on using the changeset viewer.