Changeset 16322


Ignore:
Timestamp:
10/08/13 02:22:37 (11 years ago)
Author:
jbondzio
Message:

CHG: enthalpy basal decision chart updated; thermal.isdynamicbasalspc now part of checkconsistency; tests & archives updated

Location:
issm/trunk-jpl
Files:
22 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/transient_core.cpp

    r16321 r16322  
    119119                        else{
    120120                                enthalpy_core(femmodel);
    121                                 PostprocessingEnthalpyx(femmodel);
     121                                PostprocessingEnthalpyx(femmodel);
    122122                        }
    123123                        #else
  • issm/trunk-jpl/src/c/classes/Elements/Penta.cpp

    r16314 r16322  
    40004000                enthalpy_input->GetInputValue(&enthalpy, gauss);
    40014001                pressure_input->GetInputValue(&pressure, gauss);
    4002                 kappa=matpar->GetEnthalpyDiffusionParameter(enthalpy,pressure);
    4003                 D_scalar_conduct=gauss->weight*Jdet*kappa;
     4002                kappa=matpar->GetEnthalpyDiffusionParameter(enthalpy,pressure); _assert_(kappa>0.);
     4003                D_scalar_conduct=gauss->weight*Jdet*kappa/rho_ice;
    40044004                if(reCast<bool,IssmDouble>(dt)) D_scalar_conduct=D_scalar_conduct*dt;
    40054005
     
    44514451                scalar_def=phi/rho_ice*Jdet*gauss->weight;
    44524452                if(reCast<bool,IssmDouble>(dt)) scalar_def=scalar_def*dt;
    4453 
     4453               
     4454                /*TODO: add -beta*laplace T_m(p)*/
    44544455                for(i=0;i<NUMVERTICES;i++)  pe->values[i]+=scalar_def*L[i];
    44554456
     
    44704471                        enthalpypicard_input->GetInputValue(&enthalpypicard, gauss);
    44714472                        kappa=matpar->GetEnthalpyDiffusionParameter(enthalpy,pressure);
    4472                         tau_parameter=GetStabilizationParameter(u,v,w,diameter,kappa);
     4473                        kappa/=rho_ice;
     4474                        tau_parameter=GetStabilizationParameter(u,v,w,diameter,kappa);
    44734475
    44744476                        for(i=0;i<NUMVERTICES;i++)  pe->values[i]+=tau_parameter*scalar_def*(u*dbasis[0][i]+v*dbasis[1][i]+w*dbasis[2][i]);
     
    45544556        IssmDouble Jdet2d,dt;
    45554557        IssmDouble rho_ice,heatcapacity,geothermalflux_value;
    4556         IssmDouble basalfriction,alpha2,vx,vy;
     4558        IssmDouble basalfriction,alpha2,vx,vy,vz;
    45574559        IssmDouble scalar,enthalpy,enthalpyup;
    45584560        IssmDouble pressure,pressureup;
     
    46004602                enthalpy_input->GetInputValue(&enthalpy,gauss);
    46014603                pressure_input->GetInputValue(&pressure,gauss);
    4602                 if(enthalpy>=matpar->PureIceEnthalpy(pressure)){
     4604                watercolumn_input->GetInputValue(&watercolumn,gauss);
     4605
     4606                if((watercolumn==0.) && (enthalpy<matpar->PureIceEnthalpy(pressure))){
     4607                        /* the above check is equivalent to
     4608                         NOT ((watercolumn>0.) AND (enthalpy<PIE)) AND (enthalpy<PIE)*/
     4609                        geothermalflux_input->GetInputValue(&geothermalflux_value,gauss);
     4610
     4611                        friction->GetAlpha2(&alpha2,gauss,VxEnum,VyEnum,VzEnum);
     4612                        vx_input->GetInputValue(&vx,gauss);
     4613                        vy_input->GetInputValue(&vy,gauss);
     4614                        vz_input->GetInputValue(&vz,gauss);
     4615                        basalfriction=alpha2*(pow(vx,2.0)+pow(vy,2.0)+pow(vz,2.0));
     4616
     4617                        scalar=gauss->weight*Jdet2d*(basalfriction+geothermalflux_value)/(rho_ice);
     4618                        if(reCast<bool,IssmDouble>(dt)) scalar=dt*scalar;
     4619                        for(i=0;i<numdof;i++) pe->values[i]+=scalar*basis[i];
     4620                }
     4621                else if(enthalpy>=matpar->PureIceEnthalpy(pressure)){
     4622                        /* check positive thickness of temperate basal ice layer */
    46034623                        enthalpy_input->GetInputValue(&enthalpyup,gaussup);
    46044624                        pressure_input->GetInputValue(&pressureup,gaussup);
    46054625                        if(enthalpyup>=matpar->PureIceEnthalpy(pressureup)){
    4606                                 // temperate ice has positive thickness: grad enthalpy*n=0.
     4626                                // TODO: temperate ice has positive thickness: grad enthalpy*n=0.
    46074627                        }
    46084628                        else{
     
    46104630                        }
    46114631                }
    4612                 else{
    4613                         watercolumn_input->GetInputValue(&watercolumn,gauss);
    4614                         if(watercolumn==0.){
    4615                                 /*add geothermal heat flux and basal friction*/
    4616                                 geothermalflux_input->GetInputValue(&geothermalflux_value,gauss);
    4617                                 friction->GetAlpha2(&alpha2,gauss,VxEnum,VyEnum,VzEnum);
    4618                                 vx_input->GetInputValue(&vx,gauss);
    4619                                 vy_input->GetInputValue(&vy,gauss);
    4620                                 basalfriction=alpha2*(pow(vx,2.0)+pow(vy,2.0));
    4621 
    4622                                 scalar=gauss->weight*Jdet2d*(basalfriction+geothermalflux_value)/(rho_ice);
    4623                                 if(reCast<bool,IssmDouble>(dt)) scalar=dt*scalar;
    4624 
    4625                                 for(i=0;i<numdof;i++) pe->values[i]+=scalar*basis[i];
    4626                         }
    4627                         else{  /*do nothing (water layer acts as insulation)*/  }
     4632                else {
     4633                        // base cold, but watercolumn positive. Set base to h_pmp.
    46284634                }
    46294635        }
     
    50115017                        case LliboutryDuvalEnum:
    50125018                                B_average=LliboutryDuval((values[0]+values[1]+values[2]+values[3]+values[4]+values[5])/6.0,
    5013                                                         (pressure[0]+pressure[1]+pressure[2]+pressure[3]+pressure[4]+pressure[5])/6.0,
    5014                                                         material->GetN());
     5019                                                                                                                                 (pressure[0]+pressure[1]+pressure[2]+pressure[3]+pressure[4]+pressure[5])/6.0,
     5020                                                                                                                                 material->GetN(),
     5021                                                                                                                                 matpar->GetBeta(), matpar->GetReferenceTemperature(), matpar->GetHeatCapacity(), matpar->GetLatentHeat());
    50155022                                for(i=0;i<numdof;i++) B[i]=B_average;
    50165023                                this->material->inputs->AddInput(new PentaInput(MaterialsRheologyBEnum,B,P1Enum));
     
    50325039
    50335040        /*Intermediary*/
    5034         bool        isenthalpy,isdynamicbasalspc,istemperatelayer;
     5041        bool        isenthalpy,isdynamicbasalspc,setspc;
    50355042        int         numindices, numindicesup;
    50365043        IssmDouble  h_pmp,pressure, pressureup;
    5037     IssmDouble  enthalpy, enthalpyup;
     5044        IssmDouble  enthalpy, enthalpyup;
    50385045        int        *indices = NULL, *indicesup = NULL;
    50395046
     
    50455052        if(!isenthalpy) return;
    50465053        parameters->FindParam(&isdynamicbasalspc,ThermalIsdynamicbasalspcEnum);
    5047         isdynamicbasalspc = true; // TODO: remove before release
    50485054        if(!isdynamicbasalspc) return;
    50495055
    50505056        /*Fetch indices of basal & surface nodes for this finite element*/
    50515057        BasalNodeIndices(&numindices,&indices,this->element_type);
    5052     SurfaceNodeIndices(&numindicesup,&indicesup,this->element_type);
    5053     _assert_(numindices==numindicesup);
     5058        SurfaceNodeIndices(&numindicesup,&indicesup,this->element_type);
     5059        _assert_(numindices==numindicesup);
    50545060
    50555061        /*Get parameters and inputs: */
    50565062        Input* pressure_input=inputs->GetInput(PressureEnum); _assert_(pressure_input);
    5057     Input* enthalpy_input=inputs->GetInput(EnthalpyEnum); _assert_(enthalpy_input);
    5058 
    5059         /*if there is a temperate layer of positive thickness, set enthalpy=h_pmp at that node*/
     5063        Input* enthalpy_input=inputs->GetInput(EnthalpyEnum); _assert_(enthalpy_input);
     5064
     5065        /*if there is a temperate layer of zero thickness, set spc enthalpy=h_pmp at that node*/
    50605066        GaussPenta* gauss=new GaussPenta();
    5061     GaussPenta* gaussup=new GaussPenta();
     5067        GaussPenta* gaussup=new GaussPenta();
    50625068        for(int i=0;i<numindices;i++){
    50635069                gauss->GaussNode(this->element_type,indices[i]);
    5064         gaussup->GaussNode(this->element_type,indicesup[i]);
     5070                gaussup->GaussNode(this->element_type,indicesup[i]);
    50655071
    50665072                /*Check wether there is a temperate layer at the base or not */
    5067         /*check if node is temperate, if not, continue*/
    5068         enthalpy_input->GetInputValue(&enthalpy, gauss);
     5073                /*check if node is temperate, if not, continue*/
     5074                enthalpy_input->GetInputValue(&enthalpy, gauss);
    50695075                pressure_input->GetInputValue(&pressure, gauss);
    5070         if (enthalpy<matpar->PureIceEnthalpy(pressure)){
    5071           continue;
    5072         }
    5073         /*check if upper node is temperate.
    5074           if yes, then we have a temperate layer of positive thickness and
    5075           reset the spc.
    5076           if not, apply dirichlet BC.*/
    5077         enthalpy_input->GetInputValue(&enthalpyup, gaussup);
    5078                 pressure_input->GetInputValue(&pressureup, gaussup);   
    5079         istemperatelayer = false;
    5080         if (enthalpyup>=matpar->PureIceEnthalpy(pressureup))
    5081           istemperatelayer=true;
    5082 
    5083                 /*Add Dirichlet constraint to this node if there is no layer of temperate ice with positive thickness*/
    5084                 if(!istemperatelayer){
     5076                setspc = false;
     5077                if (enthalpy>=matpar->PureIceEnthalpy(pressure)){               
     5078                        /*check if upper node is temperate, too.
     5079                                if yes, then we have a temperate layer of positive thickness and reset the spc.
     5080                                if not, apply dirichlet BC.*/
     5081                        enthalpy_input->GetInputValue(&enthalpyup, gaussup);
     5082                        pressure_input->GetInputValue(&pressureup, gaussup);   
     5083                        setspc=(enthalpyup<matpar->PureIceEnthalpy(pressureup))?true:false;
     5084                }
     5085
     5086                if (setspc) {
    50855087                        /*Calculate enthalpy at pressure melting point */
    50865088                        h_pmp=matpar->PureIceEnthalpy(pressure);
     
    50885090                        nodes[indices[i]]->ApplyConstraint(1,h_pmp);
    50895091                }
    5090         else {
    5091           /*remove spc*/
    5092           nodes[indices[i]]->DofInFSet(0);
    5093         }
     5092                else {
     5093                        /*remove spc*/
     5094                        nodes[indices[i]]->DofInFSet(0);
     5095                }
    50945096        }
    50955097
    50965098        /*Free ressources:*/
    50975099        xDelete<int>(indices);
    5098     xDelete<int>(indicesup);
     5100        xDelete<int>(indicesup);
     5101        delete gauss;
     5102        delete gaussup;
    50995103}
    51005104/*}}}*/
     
    51025106void Penta::ComputeBasalMeltingrate(void){
    51035107        /*Calculate the basal melt rates of the enthalpy model after Aschwanden 2012*/
     5108        /* melting rate is positive when melting, negative when refreezing*/
    51045109
    51055110        /* Intermediaries */
     
    51605165                        /*ensure that no ice is at T<Tm(p), if water layer present*/
    51615166                        enthalpy[iv]=matpar->PureIceEnthalpy(pressure[iv]);
    5162                         //meltingrate_enthalpy=0.;
    51635167                }
    51645168                else if(enthalpy[iv]<matpar->PureIceEnthalpy(pressure[iv])){
    51655169                        /*cold base: set q*n=q_geo*n+frictionheating as Neumann BC in Penta::CreatePVectorEnthalpySheet*/
    5166                         meltingrate_enthalpy=0.;
    5167                         checkpositivethickness=false;
    5168                 }
    5169                 else {/*do nothing, go to next check*/}
     5170                        checkpositivethickness=false; // cold base, skip next test
     5171                }
     5172                else {/*we have a temperate base, go to next test*/}
    51705173
    51715174                if(checkpositivethickness){
     
    51765179                        else{
    51775180                                enthalpy_input->GetInputDerivativeValue(&d1enthalpy[0],&xyz_list[0][0],gauss);
    5178                                 kappa=matpar->GetEnthalpyDiffusionParameter(enthalpy[iv],pressure[iv]);
     5181                                kappa=matpar->GetEnthalpyDiffusionParameter(enthalpy[iv],pressure[iv]); _assert_(kappa>0.);
    51795182                                for(i=0;i<3;i++) vec_heatflux[i]=-kappa*d1enthalpy[i];
    51805183                        }
  • issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp

    r16125 r16322  
    378378IssmDouble Matpar::GetEnthalpyDiffusionParameter(IssmDouble enthalpy,IssmDouble pressure){
    379379        if(enthalpy<PureIceEnthalpy(pressure)){
    380                 return thermalconductivity/(rho_ice*heatcapacity);
     380                return thermalconductivity/heatcapacity;
    381381        }
    382382        else{
    383                 return 1.045*1.e-4/rho_ice; // K0=1.045*1e-4 from Aschwanden 2012. TODO: fetch K0 from model
     383                return 1.045*1.e-4; // K0=1.045*1e-4 from Aschwanden 2012. TODO: fetch K0 from model
    384384        }
    385385}
     
    393393        if(enthalpy<PureIceEnthalpy(pressure)){
    394394                temperature=referencetemperature+enthalpy/heatcapacity;
    395                 waterfraction=0;
     395                waterfraction=0.;
    396396        }
    397397        else{
  • issm/trunk-jpl/src/c/modules/PostprocessingEnthalpyx/PostprocessingEnthalpyx.cpp

    r16272 r16322  
    1111        int i;
    1212        Element* element=NULL;
    13 
    1413       
    1514        /*Compute basal melting rates: */
     
    1918        }
    2019
    21     /*drain excess water fraction: */
    22     /*  for (i=0;i<femmodel->elements->Size();i++){
     20        /*drain excess water fraction: */
     21        for (i=0;i<femmodel->elements->Size();i++){
    2322                element=dynamic_cast<Element*>(femmodel->elements->GetObjectByOffset(i));
    2423                element->DrainWaterfraction();
    2524        }
    26 */
    2725
    2826        /*Update basal dirichlet BCs for enthalpy: */
  • issm/trunk-jpl/src/c/shared/Elements/LliboutryDuval.cpp

    r16144 r16322  
    88
    99/* get ice stiffness B from enthalpy, pressure and flow law exponent*/
    10 IssmDouble LliboutryDuval(IssmDouble enthalpy, IssmDouble pressure,IssmDouble n){
    11   /*Use parameterization for the rheology: Aschwanden 2012
     10IssmDouble LliboutryDuval(IssmDouble enthalpy, IssmDouble pressure, IssmDouble n, IssmDouble betaCC, IssmDouble referencetemperature, IssmDouble heatcapacity, IssmDouble latentheat){
     11  /*Use parameterization for the rheology: Grewe/Blatter 2009, Aschwanden 2012
    1212   *
    1313   *  A(H,p) = A0 exp(-Q/RT(H,p)), if H < H_s(p)
     
    2222   *  H_s(p) = c_i (Tpmp - Tref)
    2323   *
    24    *  Tpmp   = T - beta p;
     24   *  Tpmp   = T - betaCC p;
    2525   *
    2626   *  A0 constant of proportionality
     
    3535   *  Convert A to B :  B = A^(-1/n) */
    3636
    37   /*Some physical constants (Aschwanden 2012)*/
    38   /*TODO: get those constants from model*/
    39   IssmDouble beta=7.9*pow(10.,-8.);
    40   IssmDouble R=8.314;
    41   IssmDouble heatcapacity=2009; // J/kg/K
    42   IssmDouble Tref=253.15;
    43   IssmDouble latentheat=3.34*pow(10,5.); // from Aschwanden 2012
     37        /*check feasibility*/
     38  _assert_(pressure>0);
     39  _assert_(n>0);
     40  _assert_(betaCC>0);
     41  _assert_(referencetemperature>0);
     42  _assert_(heatcapacity>0);
     43  _assert_(latentheat>0);
     44
     45  /*Some physical constants*/
     46  IssmDouble R=8.314;
    4447
    4548  /*Intermediaries*/
    4649  IssmDouble A,B,Tstar,Tpmp,H_sp,waterfraction;
    4750
    48   _assert_(pressure>0);
    49   _assert_(enthalpy>0);
    50   Tpmp=273.15-beta*pressure;
    51   H_sp=heatcapacity*(Tpmp - Tref);
     51  Tpmp=273.15-betaCC*pressure;
     52  H_sp=heatcapacity*(Tpmp - referencetemperature);
    5253  if (enthalpy < H_sp){
    53     Tstar = Tref + enthalpy/heatcapacity - beta*pressure;       
     54    Tstar = referencetemperature + enthalpy/heatcapacity - betaCC*pressure;     
    5455    waterfraction = 0;
    5556  }
     
    7576}
    7677
    77 /*Get stiffness from temperature, waterfraction and depth*/
    78 IssmDouble LliboutryDuval(IssmDouble temperature, IssmDouble waterfraction, IssmDouble depth,IssmDouble n){
    79         /*Use parameterization for the rheology: Greve and Blatter 2009
    80          * get enthalpy from temperature and water fraction,
    81          * and use LliboutryDuval(IssmDouble enthalpy, IssmDouble pressure,IssmDouble n) */
    82 
    83   IssmDouble rho_ice=910; // kg/m^3
    84   IssmDouble g=9.81; //kg*m/s^2
    85   IssmDouble heatcapacity=2009; // J/kg/K
    86   IssmDouble Tref=253.15;
    87   IssmDouble beta=7.9*pow(10.,-8.);
    88   IssmDouble latentheat=3.34*pow(10,5.); // from Aschwanden 2012
    89   IssmDouble Tstar, enthalpy, pressure, B;
    90   _assert_(temperature>0);
    91   _assert_(waterfraction>0);
    92   _assert_(depth>0);
    93 
    94   /*get pressure*/
    95   pressure= rho_ice*g*depth;
    96   Tstar=temperature-beta*pressure; // TODO: check whether plus or minus
    97   /*get enthalpy*/
    98   if (Tstar < 273.15){
    99     enthalpy=heatcapacity*(Tstar - Tref);
    100   }
    101   else{
    102     enthalpy=heatcapacity*(273.15 - Tref) + waterfraction*latentheat;
    103   }
    104 
    105   B=LliboutryDuval(enthalpy, pressure, n);
    106 
    107   return B;
    108 }
     78// /*Get stiffness from temperature, waterfraction and depth*/
     79// IssmDouble LliboutryDuval(IssmDouble temperature, IssmDouble waterfraction, IssmDouble depth,IssmDouble n){
     80//      /*Use parameterization for the rheology: Greve and Blatter 2009
     81//       * get enthalpy from temperature and water fraction,
     82//       * and use LliboutryDuval(IssmDouble enthalpy, IssmDouble pressure,IssmDouble n) */
     83//
     84//      /*TODO: update params from model*/
     85//   IssmDouble rho_ice=910; // kg/m^3
     86//   IssmDouble g=9.81; //kg*m/s^2
     87//   IssmDouble heatcapacity=2009; // J/kg/K
     88//   IssmDouble referencetemperature=253.15;
     89//   IssmDouble betaCC=7.9*pow(10.,-8.);
     90//   IssmDouble latentheat=3.34*pow(10,5.); // from Aschwanden 2012
     91//
     92//   IssmDouble Tstar, enthalpy, pressure, B;
     93//   _assert_(temperature>0);
     94//   _assert_(waterfraction>0);
     95//   _assert_(depth>0);
     96//
     97//   /*get pressure*/
     98//   pressure= rho_ice*g*depth;
     99//   Tstar=temperature-betaCC*pressure; // TODO: check whether plus or minus
     100//   /*get enthalpy*/
     101//   if (Tstar < 273.15){
     102//     enthalpy=heatcapacity*(Tstar - referencetemperature);
     103//   }
     104//   else{
     105//     enthalpy=heatcapacity*(273.15 - referencetemperature) + waterfraction*latentheat;
     106//   }
     107//
     108//   B=LliboutryDuval(enthalpy, pressure, n, betaCC, referencetemperature, heatcapacity, latentheat);
     109//
     110//   return B;
     111// }
  • issm/trunk-jpl/src/c/shared/Elements/elements.h

    r16026 r16322  
    1010IssmDouble Paterson(IssmDouble temperature);
    1111IssmDouble Arrhenius(IssmDouble temperature,IssmDouble depth,IssmDouble n);
    12 IssmDouble LliboutryDuval(IssmDouble enthalpy, IssmDouble pressure,IssmDouble n);
    13 IssmDouble LliboutryDuval(IssmDouble temperature, IssmDouble waterfraction, IssmDouble depth,IssmDouble n);
     12IssmDouble LliboutryDuval(IssmDouble enthalpy, IssmDouble pressure, IssmDouble n, IssmDouble betaCC, IssmDouble referencetemperature, IssmDouble heatcapacity, IssmDouble latentheat);
     13// IssmDouble LliboutryDuval(IssmDouble temperature, IssmDouble waterfraction, IssmDouble depth,IssmDouble n);
    1414IssmDouble PddSurfaceMassBlance(IssmDouble* monthlytemperatures,  IssmDouble* monthlyprec, IssmDouble* pdds, IssmDouble* pds,
    1515                                IssmDouble signorm, IssmDouble yts, IssmDouble h, IssmDouble s,
  • issm/trunk-jpl/src/m/classes/thermal.m

    r16274 r16322  
    5656                                md = checkfield(md,'thermal.spctemperature(find(md.thermal.spctemperature(1:md.mesh.numberofvertices,:)~=NaN))','<',md.materials.meltingpoint-md.materials.beta*md.materials.rho_ice*md.constants.g*replicate(pos),'message','spctemperature should be below the adjusted melting point');
    5757                                md = checkfield(md,'thermal.isenthalpy','numel',[1],'values',[0 1]);
    58                                 md = checkfield(md,'thermal.isdynamicbasalspc','numel',[1],'values',[0 1]);
    59                         end
    60                 end % }}}
     58                                md = checkfield(md,'thermal.isdynamicbasalspc','numel', [1],'values',[0 1]);
     59                                if(md.thermal.isenthalpy)
     60                                        md = checkfield(md,'thermal.isdynamicbasalspc','numel', [1],'values',[1], 'message',['for enthalpy run thermal.isdynamicbasalspc should be 1']);
     61                                end
     62            end
     63    end % }}}
    6164                function disp(obj) % {{{
    6265                        disp(sprintf('   Thermal solution parameters:'));
  • issm/trunk-jpl/test/NightlyRun/test121.m

    r16039 r16322  
    1212md.transient.isgroundingline=0;
    1313md.thermal.isenthalpy=1;
     14md.thermal.isdynamicbasalspc=1;
    1415md=solve(md,TransientSolutionEnum());
    1516
  • issm/trunk-jpl/test/NightlyRun/test121.py

    r16041 r16322  
    2121md.transient.isgroundingline=False
    2222md.thermal.isenthalpy=1
     23md.thermal.isdynamicbasalspc=1
    2324md=solve(md,TransientSolutionEnum())
    2425
  • issm/trunk-jpl/test/NightlyRun/test122.m

    r16039 r16322  
    77md.initialization.watercolumn=zeros(md.mesh.numberofvertices,1);
    88md.thermal.isenthalpy=1;
     9md.thermal.isdynamicbasalspc=1;
    910md.thermal.stabilization=2;
    1011md.cluster=generic('name',oshostname(),'np',3);
  • issm/trunk-jpl/test/NightlyRun/test122.py

    r16041 r16322  
    1616md.initialization.watercolumn=numpy.zeros((md.mesh.numberofvertices,1))
    1717md.thermal.isenthalpy=1
     18md.thermal.isdynamicbasalspc=1
    1819md.thermal.stabilization=2
    1920md.cluster=generic('name',oshostname(),'np',3)
  • issm/trunk-jpl/test/NightlyRun/test326.m

    r16039 r16322  
    1212md.transient.isgroundingline=0;
    1313md.thermal.isenthalpy=1;
     14md.thermal.isdynamicbasalspc=1;
    1415md=solve(md,TransientSolutionEnum());
    1516
  • issm/trunk-jpl/test/NightlyRun/test326.py

    r16041 r16322  
    2222md.transient.isgroundingline=False
    2323md.thermal.isenthalpy=1
     24md.thermal.isdynamicbasalspc=1
    2425md=solve(md,TransientSolutionEnum())
    2526
  • issm/trunk-jpl/test/NightlyRun/test327.m

    r16039 r16322  
    1010md.thermal.spctemperature(find(md.mesh.vertexonsurface))=272.;
    1111md.thermal.isenthalpy=1;
     12md.thermal.isdynamicbasalspc=1;
    1213md.basalforcings.geothermalflux(:)=5.;
    1314md=solve(md,TransientSolutionEnum());
  • issm/trunk-jpl/test/NightlyRun/test327.py

    r16041 r16322  
    2020md.thermal.spctemperature[numpy.nonzero(md.mesh.vertexonsurface)[0]]=272.
    2121md.thermal.isenthalpy=1
     22md.thermal.isdynamicbasalspc=1
    2223md.basalforcings.geothermalflux[:]=5.
    2324md=solve(md,TransientSolutionEnum())
  • issm/trunk-jpl/test/NightlyRun/test431.m

    r16039 r16322  
    77md.timestepping.time_step=0.;
    88md.thermal.isenthalpy=1;
     9md.thermal.isdynamicbasalspc=1;
    910md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
    1011md.initialization.watercolumn=zeros(md.mesh.numberofvertices,1);
  • issm/trunk-jpl/test/NightlyRun/test431.py

    r16041 r16322  
    1717md.timestepping.time_step=0.
    1818md.thermal.isenthalpy=1
     19md.thermal.isdynamicbasalspc=1
    1920md.initialization.waterfraction=numpy.zeros((md.mesh.numberofvertices,1))
    2021md.initialization.watercolumn=numpy.zeros((md.mesh.numberofvertices,1))
Note: See TracChangeset for help on using the changeset viewer.