Changeset 16813


Ignore:
Timestamp:
11/17/13 09:17:18 (11 years ago)
Author:
Mathieu Morlighem
Message:

BUG: fixed enthalpy

Location:
issm/trunk-jpl/src/c
Files:
6 edited

Legend:

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

    r16812 r16813  
    293293ElementVector* EnthalpyAnalysis::CreatePVectorShelf(Element* element){/*{{{*/
    294294
    295         IssmDouble  t_pmp,dt,Jdet,scalar_ocean,pressure;
     295        IssmDouble  h_pmp,dt,Jdet,scalar_ocean,pressure;
    296296        IssmDouble *xyz_list_base = NULL;
    297297
     
    326326
    327327                pressure_input->GetInputValue(&pressure,gauss);
    328                 t_pmp=element->TMeltingPoint(pressure);
    329 
    330                 scalar_ocean=gauss->weight*Jdet*rho_water*mixed_layer_capacity*thermal_exchange_vel*(t_pmp)/(heatcapacity*rho_ice);
     328                h_pmp=element->PureIceEnthalpy(pressure);
     329
     330                scalar_ocean=gauss->weight*Jdet*rho_water*mixed_layer_capacity*thermal_exchange_vel*h_pmp/(heatcapacity*rho_ice);
    331331                if(reCast<bool,IssmDouble>(dt)) scalar_ocean=dt*scalar_ocean;
    332332
  • issm/trunk-jpl/src/c/classes/Elements/Element.h

    r16812 r16813  
    6161                virtual void   NodalFunctionsPressure(IssmDouble* basis,Gauss* gauss)=0;
    6262                virtual void   NormalBase(IssmDouble* normal,IssmDouble* xyz_list)=0;
     63                virtual IssmDouble PureIceEnthalpy(IssmDouble pressure)=0;
    6364                virtual void   TransformLoadVectorCoord(ElementVector* pe,int transformenum)=0;
    6465                virtual void   TransformLoadVectorCoord(ElementVector* pe,int* transformenum_list)=0;
  • issm/trunk-jpl/src/c/classes/Elements/Penta.cpp

    r16812 r16813  
    26402640        /*clean-up*/
    26412641        delete gauss;
     2642}
     2643/*}}}*/
     2644/*FUNCTION Penta::PureIceEnthalpy{{{*/
     2645IssmDouble Penta::PureIceEnthalpy(IssmDouble pressure){
     2646
     2647        return this->matpar->PureIceEnthalpy(pressure);
    26422648}
    26432649/*}}}*/
  • issm/trunk-jpl/src/c/classes/Elements/Penta.h

    r16812 r16813  
    109109                int    NumberofNodesPressure(void);
    110110                int    VelocityInterpolation();
     111                IssmDouble PureIceEnthalpy(IssmDouble pressure);
    111112                int    PressureInterpolation();
    112113
  • issm/trunk-jpl/src/c/classes/Elements/Seg.h

    r16812 r16813  
    123123           Element*    SpawnBasalElement(void){_error_("not implemented yet");};
    124124                IssmDouble  StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa){_error_("not implemented yet");};
     125                IssmDouble  PureIceEnthalpy(IssmDouble pressure){_error_("not implemented yet");};
    125126                int         PressureInterpolation(void){_error_("not implemented yet");};
    126127                int         VelocityInterpolation(void){_error_("not implemented yet");};
  • issm/trunk-jpl/src/c/classes/Elements/Tria.h

    r16812 r16813  
    126126                IssmDouble  TMeltingPoint(IssmDouble pressure);
    127127                int         VelocityInterpolation();
     128                IssmDouble  PureIceEnthalpy(IssmDouble pressure){_error_("not implemented yet");};
    128129                int         PressureInterpolation();
    129130                IssmDouble  SurfaceArea(void);
Note: See TracChangeset for help on using the changeset viewer.