Changeset 19749


Ignore:
Timestamp:
11/18/15 10:45:11 (9 years ago)
Author:
Mathieu Morlighem
Message:

NEW: added Neumann BC to Hydro model

Location:
issm/trunk-jpl/src
Files:
5 added
1 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/Makefile.am

    r19744 r19749  
    7171                                        ./classes/Loads/Moulin.cpp\
    7272                                        ./classes/Loads/Numericalflux.cpp\
     73                                        ./classes/Loads/Neumannflux.cpp\
    7374                                        ./classes/matrix/ElementMatrix.cpp\
    7475                                        ./classes/matrix/ElementVector.cpp\
  • issm/trunk-jpl/src/c/analyses/HydrologySommersAnalysis.cpp

    r19744 r19749  
    3030        if(hydrology_model!=HydrologysommersEnum) return;
    3131
    32         //create penalties for nodes: no node can have water above the max
     32        /*Create discrete loads for Moulins*/
    3333        CreateSingleNodeToElementConnectivity(iomodel);
    3434        for(int i=0;i<iomodel->numberofvertices;i++){
     
    4646        }
    4747        iomodel->DeleteData(1,MeshVertexonbaseEnum);
     48
     49        /*Deal with Neumann BC*/
     50        int M,N;
     51        int *segments = NULL;
     52        iomodel->FetchData(&segments,&M,&N,MeshSegmentsEnum);
     53
     54        /*Check that the size seem right*/
     55        _assert_(N==3); _assert_(M>=3);
     56        for(int i=0;i<M;i++){
     57                if(iomodel->my_elements[segments[i*3+2]-1]){
     58                        loads->AddObject(new Neumannflux(iomodel->loadcounter+i+1,i,iomodel,segments,HydrologySommersAnalysisEnum));
     59                }
     60        }
     61
     62        xDelete<int>(segments);
    4863
    4964}/*}}}*/
     
    100115        iomodel->FetchDataToInput(elements,HydrologyBumpHeightEnum);
    101116        iomodel->FetchDataToInput(elements,HydrologyReynoldsEnum);
     117        iomodel->FetchDataToInput(elements,HydrologyNeumannfluxEnum);
    102118        iomodel->FetchDataToInput(elements,VxEnum);
    103119        iomodel->FetchDataToInput(elements,VyEnum);
     
    260276                IssmDouble pressure_ice   = rho_ice*g*thickness;    _assert_(pressure_ice>0.);
    261277                IssmDouble pressure_water = rho_water*g*(head-bed);
    262                 _assert_(pressure_water<=pressure_ice);
     278                if(pressure_water>pressure_ice) pressure_water = pressure_ice;
    263279
    264280                meltrate = 1/latentheat*(G+frictionheat+rho_water*g*conductivity*(dh[0]*dh[0]+dh[1]*dh[1]));
     
    457473                IssmDouble pressure_ice   = rho_ice*g*thickness;    _assert_(pressure_ice>0.);
    458474                IssmDouble pressure_water = rho_water*g*(head-bed);
    459                 _assert_(pressure_water<=pressure_ice);
     475                if(pressure_water>pressure_ice) pressure_water = pressure_ice;
    460476
    461477                meltrate = 1/latentheat*(G+frictionheat+rho_water*g*conductivity*(dh[0]*dh[0]+dh[1]*dh[1]));
  • issm/trunk-jpl/src/c/classes/classes.h

    r19744 r19749  
    3434#include "./Loads/Friction.h"
    3535#include "./Loads/Numericalflux.h"
     36#include "./Loads/Neumannflux.h"
    3637#include "./Loads/Riftfront.h"
    3738#include "./Loads/Penpair.h"
  • issm/trunk-jpl/src/c/cores/hydrology_core.cpp

    r19744 r19749  
    7979
    8080        else if (hydrology_model==HydrologysommersEnum){
    81                 if(VerboseSolution()) _printf0_("   computing water head\n");
    8281                femmodel->SetCurrentConfiguration(HydrologySommersAnalysisEnum);
    8382                solutionsequence_nonlinear(femmodel,modify_loads);
  • issm/trunk-jpl/src/c/cores/transient_core.cpp

    r19564 r19749  
    7979                femmodel->parameters->SetParam(step,StepEnum);
    8080
    81                 if(VerboseSolution()) _printf0_("iteration " << step << "/" << floor((finaltime-time)/dt)+step << "  time [yr]: " << setprecision(8) << time/yts << " (time step: " << dt/yts << ")\n");
     81                if(VerboseSolution()) _printf0_("iteration " << step << "/" << floor((finaltime-time)/dt)+step << "  time [yr]: " << setprecision(4) << time/yts << " (time step: " << dt/yts << ")\n");
    8282                if(step%output_frequency==0 || (time >= finaltime - (yts*DBL_EPSILON)) || step==1)
    8383                 save_results=true;
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp

    r18675 r19749  
    5959                 * constraints, and ids for objects created in next call to CreateDataSets
    6060                 * will need to start at the end of the updated counters: */
    61                 iomodel->nodecounter      = nodes->MaximumId();
     61                if(nodes->Size()) iomodel->nodecounter = nodes->MaximumId();
    6262                iomodel->loadcounter       = loads->NumberOfLoads();
    6363                iomodel->constraintcounter = constraints->NumberOfConstraints();
     64
     65                /*Make sure nodecounter is at least 0 (if no node exists, maxid will be -1*/
     66                _assert_(iomodel->nodecounter>=0);
    6467        }
    6568
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r19744 r19749  
    5757        BaseEnum,
    5858        ConstantsGEnum,
    59         ConstantsOmegaEnum,
    6059        ConstantsReferencetemperatureEnum,
    6160        ConstantsYtsEnum,
     
    164163        HydrologyMoulinInputEnum,
    165164        HydrologyReynoldsEnum,
     165        HydrologyNeumannfluxEnum,
    166166        HydrologySpcheadEnum,
    167167        HydrologyConductivityEnum,
     
    277277        MeshZEnum,
    278278        MeshElementtypeEnum,
     279        MeshSegmentsEnum,
    279280        DomainTypeEnum,
    280281        DomainDimensionEnum,
     
    579580        NumericalfluxEnum,
    580581        NumericalfluxTypeEnum,
     582        NeumannfluxEnum,
    581583        ParamEnum,
    582584        MoulinEnum,
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r19744 r19749  
    6363                case BaseEnum : return "Base";
    6464                case ConstantsGEnum : return "ConstantsG";
    65                 case ConstantsOmegaEnum : return "ConstantsOmega";
    6665                case ConstantsReferencetemperatureEnum : return "ConstantsReferencetemperature";
    6766                case ConstantsYtsEnum : return "ConstantsYts";
     
    170169                case HydrologyMoulinInputEnum : return "HydrologyMoulinInput";
    171170                case HydrologyReynoldsEnum : return "HydrologyReynolds";
     171                case HydrologyNeumannfluxEnum : return "HydrologyNeumannflux";
    172172                case HydrologySpcheadEnum : return "HydrologySpchead";
    173173                case HydrologyConductivityEnum : return "HydrologyConductivity";
     
    283283                case MeshZEnum : return "MeshZ";
    284284                case MeshElementtypeEnum : return "MeshElementtype";
     285                case MeshSegmentsEnum : return "MeshSegments";
    285286                case DomainTypeEnum : return "DomainType";
    286287                case DomainDimensionEnum : return "DomainDimension";
     
    571572                case NumericalfluxEnum : return "Numericalflux";
    572573                case NumericalfluxTypeEnum : return "NumericalfluxType";
     574                case NeumannfluxEnum : return "Neumannflux";
    573575                case ParamEnum : return "Param";
    574576                case MoulinEnum : return "Moulin";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r19744 r19749  
    6363              else if (strcmp(name,"Base")==0) return BaseEnum;
    6464              else if (strcmp(name,"ConstantsG")==0) return ConstantsGEnum;
    65               else if (strcmp(name,"ConstantsOmega")==0) return ConstantsOmegaEnum;
    6665              else if (strcmp(name,"ConstantsReferencetemperature")==0) return ConstantsReferencetemperatureEnum;
    6766              else if (strcmp(name,"ConstantsYts")==0) return ConstantsYtsEnum;
     
    137136              else if (strcmp(name,"HydrologydcSedimentTransmitivity")==0) return HydrologydcSedimentTransmitivityEnum;
    138137              else if (strcmp(name,"HydrologydcWaterCompressibility")==0) return HydrologydcWaterCompressibilityEnum;
     138              else if (strcmp(name,"HydrologydcSpceplHead")==0) return HydrologydcSpceplHeadEnum;
    139139         else stage=2;
    140140   }
    141141   if(stage==2){
    142               if (strcmp(name,"HydrologydcSpceplHead")==0) return HydrologydcSpceplHeadEnum;
    143               else if (strcmp(name,"HydrologydcMaskEplactiveNode")==0) return HydrologydcMaskEplactiveNodeEnum;
     142              if (strcmp(name,"HydrologydcMaskEplactiveNode")==0) return HydrologydcMaskEplactiveNodeEnum;
    144143              else if (strcmp(name,"HydrologydcMaskEplactiveElt")==0) return HydrologydcMaskEplactiveEltEnum;
    145144              else if (strcmp(name,"HydrologydcEplCompressibility")==0) return HydrologydcEplCompressibilityEnum;
     
    173172              else if (strcmp(name,"HydrologyMoulinInput")==0) return HydrologyMoulinInputEnum;
    174173              else if (strcmp(name,"HydrologyReynolds")==0) return HydrologyReynoldsEnum;
     174              else if (strcmp(name,"HydrologyNeumannflux")==0) return HydrologyNeumannfluxEnum;
    175175              else if (strcmp(name,"HydrologySpchead")==0) return HydrologySpcheadEnum;
    176176              else if (strcmp(name,"HydrologyConductivity")==0) return HydrologyConductivityEnum;
     
    289289              else if (strcmp(name,"MeshZ")==0) return MeshZEnum;
    290290              else if (strcmp(name,"MeshElementtype")==0) return MeshElementtypeEnum;
     291              else if (strcmp(name,"MeshSegments")==0) return MeshSegmentsEnum;
    291292              else if (strcmp(name,"DomainType")==0) return DomainTypeEnum;
    292293              else if (strcmp(name,"DomainDimension")==0) return DomainDimensionEnum;
     
    382383              else if (strcmp(name,"SmbV")==0) return SmbVEnum;
    383384              else if (strcmp(name,"SmbDswrf")==0) return SmbDswrfEnum;
    384               else if (strcmp(name,"SmbDlwrf")==0) return SmbDlwrfEnum;
    385385         else stage=4;
    386386   }
    387387   if(stage==4){
    388               if (strcmp(name,"SmbP")==0) return SmbPEnum;
     388              if (strcmp(name,"SmbDlwrf")==0) return SmbDlwrfEnum;
     389              else if (strcmp(name,"SmbP")==0) return SmbPEnum;
    389390              else if (strcmp(name,"SmbSwf")==0) return SmbSwfEnum;
    390391              else if (strcmp(name,"SmbEAir")==0) return SmbEAirEnum;
     
    505506              else if (strcmp(name,"FreeSurfaceBaseAnalysis")==0) return FreeSurfaceBaseAnalysisEnum;
    506507              else if (strcmp(name,"FreeSurfaceTopAnalysis")==0) return FreeSurfaceTopAnalysisEnum;
    507               else if (strcmp(name,"SurfaceNormalVelocity")==0) return SurfaceNormalVelocityEnum;
    508508         else stage=5;
    509509   }
    510510   if(stage==5){
    511               if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum;
     511              if (strcmp(name,"SurfaceNormalVelocity")==0) return SurfaceNormalVelocityEnum;
     512              else if (strcmp(name,"ExtrudeFromBaseAnalysis")==0) return ExtrudeFromBaseAnalysisEnum;
    512513              else if (strcmp(name,"ExtrudeFromTopAnalysis")==0) return ExtrudeFromTopAnalysisEnum;
    513514              else if (strcmp(name,"DepthAverageAnalysis")==0) return DepthAverageAnalysisEnum;
     
    583584              else if (strcmp(name,"Numericalflux")==0) return NumericalfluxEnum;
    584585              else if (strcmp(name,"NumericalfluxType")==0) return NumericalfluxTypeEnum;
     586              else if (strcmp(name,"Neumannflux")==0) return NeumannfluxEnum;
    585587              else if (strcmp(name,"Param")==0) return ParamEnum;
    586588              else if (strcmp(name,"Moulin")==0) return MoulinEnum;
     
    627629              else if (strcmp(name,"Water")==0) return WaterEnum;
    628630              else if (strcmp(name,"Closed")==0) return ClosedEnum;
    629               else if (strcmp(name,"Free")==0) return FreeEnum;
    630               else if (strcmp(name,"Open")==0) return OpenEnum;
    631631         else stage=6;
    632632   }
    633633   if(stage==6){
    634               if (strcmp(name,"Adjointp")==0) return AdjointpEnum;
     634              if (strcmp(name,"Free")==0) return FreeEnum;
     635              else if (strcmp(name,"Open")==0) return OpenEnum;
     636              else if (strcmp(name,"Adjointp")==0) return AdjointpEnum;
    635637              else if (strcmp(name,"Adjointx")==0) return AdjointxEnum;
    636638              else if (strcmp(name,"Adjointy")==0) return AdjointyEnum;
     
    750752              else if (strcmp(name,"OneLayerP4z")==0) return OneLayerP4zEnum;
    751753              else if (strcmp(name,"CrouzeixRaviart")==0) return CrouzeixRaviartEnum;
    752               else if (strcmp(name,"LACrouzeixRaviart")==0) return LACrouzeixRaviartEnum;
    753               else if (strcmp(name,"SaveResults")==0) return SaveResultsEnum;
    754754         else stage=7;
    755755   }
    756756   if(stage==7){
    757               if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
     757              if (strcmp(name,"LACrouzeixRaviart")==0) return LACrouzeixRaviartEnum;
     758              else if (strcmp(name,"SaveResults")==0) return SaveResultsEnum;
     759              else if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
    758760              else if (strcmp(name,"DoubleExternalResult")==0) return DoubleExternalResultEnum;
    759761              else if (strcmp(name,"DoubleMatExternalResult")==0) return DoubleMatExternalResultEnum;
     
    873875              else if (strcmp(name,"MisfitDefinitionenum")==0) return MisfitDefinitionenumEnum;
    874876              else if (strcmp(name,"MisfitModelEnum")==0) return MisfitModelEnumEnum;
    875               else if (strcmp(name,"MisfitObservation")==0) return MisfitObservationEnum;
    876               else if (strcmp(name,"MisfitObservationEnum")==0) return MisfitObservationEnumEnum;
    877877         else stage=8;
    878878   }
    879879   if(stage==8){
    880               if (strcmp(name,"MisfitLocal")==0) return MisfitLocalEnum;
     880              if (strcmp(name,"MisfitObservation")==0) return MisfitObservationEnum;
     881              else if (strcmp(name,"MisfitObservationEnum")==0) return MisfitObservationEnumEnum;
     882              else if (strcmp(name,"MisfitLocal")==0) return MisfitLocalEnum;
    881883              else if (strcmp(name,"MisfitTimeinterpolation")==0) return MisfitTimeinterpolationEnum;
    882884              else if (strcmp(name,"MisfitWeights")==0) return MisfitWeightsEnum;
  • issm/trunk-jpl/src/m/classes/constants.m

    r19040 r19749  
    6161                function marshall(self,md,fid) % {{{
    6262                        WriteData(fid,'object',self,'fieldname','g','format','Double');
    63                         WriteData(fid,'object',self,'fieldname','omega','format','Double');
    6463                        WriteData(fid,'object',self,'fieldname','yts','format','Double');
    6564                        WriteData(fid,'object',self,'fieldname','referencetemperature','format','Double');
  • issm/trunk-jpl/src/m/classes/hydrologysommers.m

    r19744 r19749  
    1414                reynolds        = NaN;
    1515                spchead         = NaN;
     16                neumannflux     = NaN;
    1617        end
    1718        methods
    18                 function self = extrude(self,md) % {{{
     19                function self = extrud,e(self,md) % {{{
    1920                end % }}}
    2021                function self = hydrologysommers(varargin) % {{{
     
    4445                        md = checkfield(md,'fieldname','hydrology.moulin_input','>=',0,'NaN',1,'timeseries',1);
    4546                        md = checkfield(md,'fieldname','hydrology.reynolds','>',0,'size',[md.mesh.numberofelements 1],'NaN',1);
     47                        md = checkfield(md,'fieldname','hydrology.neumannflux','timeseries',1,'NaN',1);
    4648                        md = checkfield(md,'fieldname','hydrology.spchead','size',[md.mesh.numberofvertices 1]);
    4749                end % }}}
     
    5557                        fielddisplay(self,'moulin_input','liquid water input from moulins (at the vertices) to subglacial system (m^3/s)');
    5658                        fielddisplay(self,'reynolds','Reynolds'' number');
     59                        fielddisplay(self,'neumannflux','water flux applied along the model boundary (m^2/s)');
    5760                        fielddisplay(self,'spchead','water head constraints (NaN means no constraint) (m)');
    5861                end % }}}
     
    6972                        WriteData(fid,'object',self,'class','hydrology','fieldname','moulin_input','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1);
    7073                        WriteData(fid,'object',self,'class','hydrology','fieldname','reynolds','format','DoubleMat','mattype',2);
     74                        WriteData(fid,'object',self,'class','hydrology','fieldname','neumannflux','format','DoubleMat','mattype',2,'timeserieslength',md.mesh.numberofelements+1);
    7175                        WriteData(fid,'object',self,'class','hydrology','fieldname','spchead','format','DoubleMat','mattype',1);
    7276                end % }}}
  • issm/trunk-jpl/src/m/classes/mesh2d.m

    r19040 r19749  
    9191                        md = checkfield(md,'fieldname','mesh.numberofvertices','>',0);
    9292                        md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',9,'message','''mesh.average_vertex_connectivity'' should be at least 9 in 2d');
     93                        md = checkfield(md,'fieldname','mesh.segments','NaN',1,'>',0,'size',[NaN 3]);
    9394
    9495                        switch(solution),
     
    126127                        fielddisplay(self,'epsg','EPSG code (ex: 3413 for UPS Greenland, 3031 for UPS Antarctica)');
    127128                end % }}}
    128                 function createxml(self,fid) % {{{
    129                         fprintf(fid, '<!-- 2D tria Mesh (horizontal) -->\n');
    130 
    131                         %elements and vertices
    132                         fprintf(fid,'%s\n%s\n%s\n','<frame key="1" label="Elements and vertices">','<section name="mesh" />');
    133                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n','  <parameter key ="numberofelements" type="',class(self.numberofelements),'" default="',convert2str(self.numberofelements),'">','     <section name="mesh" />','     <help> number of elements </help>','  </parameter>');
    134                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n','  <parameter key ="numberofvertices" type="',class(self.numberofvertices),'" default="',convert2str(self.numberofvertices),'">','     <section name="mesh" />','     <help> number of vertices </help>','  </parameter>');
    135                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n','  <parameter key ="elements" type="',class(self.elements),'" default="',convert2str(self.elements),'">','     <section name="mesh" />','     <help> vertex indices of the mesh elements </help>','  </parameter>');
    136                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="x" type="',class(self.x),'" default="',convert2str(self.x),'">','     <section name="mesh" />','     <help> vertices x coordinate [m] </help>','  </parameter>');
    137                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="y" type="',class(self.y),'" default="',convert2str(self.y),'">','     <section name="mesh" />','     <help> vertices y coordinate [m] </help>','  </parameter>');
    138                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="edges" type="',class(self.edges),'" default="',convert2str(self.edges),'">','     <section name="mesh" />','     <help> edges of the 2d mesh (vertex1 vertex2 element1 element2) </help>','  </parameter>');
    139                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="numberofedges" type="',class(self.numberofedges),'" default="',convert2str(self.numberofedges),'">','     <section name="mesh" />','     <help> number of edges of the 2d mesh </help>','  </parameter>');
    140                         fprintf(fid,'%s\n%s\n','</frame>');
    141 
    142                         % properties
    143                         fprintf(fid,'%s\n%s\n%s\n','<frame key="2" label="Properties">','<section name="mesh" />');             
    144                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="vertexonboundary" type="',class(self.vertexonboundary),'" default="',convert2str(self.vertexonboundary),'">','     <section name="mesh" />','     <help> vertices on the boundary of the domain flag list </help>','  </parameter>');
    145                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="segments" type="',class(self.segments),'" default="',convert2str(self.segments),'">','     <section name="mesh" />','     <help> edges on domain boundary (vertex1 vertex2 element) </help>','  </parameter>');
    146                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="segmentmarkers" type="',class(self.segmentmarkers),'" default="',convert2str(self.segmentmarkers),'">','     <section name="mesh" />','     <help> number associated to each segment </help>','  </parameter>');
    147                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="vertexconnectivity" type="',class(self.vertexconnectivity),'" default="',convert2str(self.vertexconnectivity),'">','     <section name="mesh" />','     <help> list of vertices connected to vertex_i </help>','  </parameter>');
    148                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="elementconnectivity" type="',class(self.elementconnectivity),'" default="',convert2str(self.elementconnectivity),'">','     <section name="mesh" />','     <help> list of vertices connected to element_i </help>','  </parameter>');
    149                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="average_vertex_connectivity" type="',class(self.average_vertex_connectivity),'" default="',convert2str(self.average_vertex_connectivity),'">','     <section name="mesh" />','     <help> average number of vertices connected to one vertex </help>','  </parameter>');
    150                         fprintf(fid,'%s\n%s\n','</frame>');
    151 
    152                         %extracted model
    153                         fprintf(fid,'%s\n%s\n%s\n','<frame key="3" label="Extracted Model">','<section name="mesh" />');
    154                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="extractedvertices" type="',class(self.extractedvertices),'" default="',convert2str(self.extractedvertices),'">','     <section name="mesh" />','     <help> vertices extracted from the model </help>','  </parameter>');
    155                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="extractedelements" type="',class(self.extractedelements),'" default="',convert2str(self.extractedelements),'">','     <section name="mesh" />','     <help> elements extracted from the model </help>','  </parameter>');
    156                         fprintf(fid,'%s\n%s\n','</frame>');
    157 
    158                         %projection
    159                         fprintf(fid,'%s\n%s\n%s\n','<frame key="4" label="Projection">','<section name="mesh" />');
    160                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="lat" type="',class(self.lat),'" default="',convert2str(self.lat),'">','     <section name="mesh" />','     <help> vertices latitude [degrees] </help>','  </parameter>');
    161                         fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="long" type="',class(self.long),'" default="',convert2str(self.long),'">','     <section name="mesh" />','     <help> verticies longitude [degrees] </help>','  </parameter>');
    162                         % choice (epsg) 'n' or 's'
    163                         fprintf(fid,'%s\n%s\n%s\n','  <parameter key ="epsg" type="alternative" optional="false">','     <section name="mesh" />','     <help> Indicate epsg ''n'' or ''s'' </help>');
    164                         fprintf(fid,'%s\n','       <option value="n" type="string" default="true"> </option>');
    165                         fprintf(fid,'%s\n','       <option value="s" type="string" default="false"> </option>');
    166                         fprintf(fid,'%s\n','  </parameter>');
    167                         fprintf(fid,'%s\n%s\n','</frame>');
    168 
    169                 end % }}}
    170129                function marshall(self,md,fid) % {{{
    171130                        WriteData(fid,'enum',DomainTypeEnum(),'data',StringToEnum(['Domain' domaintype(self)]),'format','Integer');
     
    180139                        WriteData(fid,'object',self,'class','mesh','fieldname','average_vertex_connectivity','format','Integer');
    181140                        WriteData(fid,'object',self,'class','mesh','fieldname','vertexonboundary','format','DoubleMat','mattype',1);
     141                        WriteData(fid,'object',self,'class','mesh','fieldname','segments','format','DoubleMat','mattype',3);
    182142                end % }}}
    183143                function t = domaintype(self) % {{{
  • issm/trunk-jpl/src/m/enum/EnumDefinitions.py

    r19744 r19749  
    5555def BaseEnum(): return StringToEnum("Base")[0]
    5656def ConstantsGEnum(): return StringToEnum("ConstantsG")[0]
    57 def ConstantsOmegaEnum(): return StringToEnum("ConstantsOmega")[0]
    5857def ConstantsReferencetemperatureEnum(): return StringToEnum("ConstantsReferencetemperature")[0]
    5958def ConstantsYtsEnum(): return StringToEnum("ConstantsYts")[0]
     
    162161def HydrologyMoulinInputEnum(): return StringToEnum("HydrologyMoulinInput")[0]
    163162def HydrologyReynoldsEnum(): return StringToEnum("HydrologyReynolds")[0]
     163def HydrologyNeumannfluxEnum(): return StringToEnum("HydrologyNeumannflux")[0]
    164164def HydrologySpcheadEnum(): return StringToEnum("HydrologySpchead")[0]
    165165def HydrologyConductivityEnum(): return StringToEnum("HydrologyConductivity")[0]
     
    275275def MeshZEnum(): return StringToEnum("MeshZ")[0]
    276276def MeshElementtypeEnum(): return StringToEnum("MeshElementtype")[0]
     277def MeshSegmentsEnum(): return StringToEnum("MeshSegments")[0]
    277278def DomainTypeEnum(): return StringToEnum("DomainType")[0]
    278279def DomainDimensionEnum(): return StringToEnum("DomainDimension")[0]
     
    563564def NumericalfluxEnum(): return StringToEnum("Numericalflux")[0]
    564565def NumericalfluxTypeEnum(): return StringToEnum("NumericalfluxType")[0]
     566def NeumannfluxEnum(): return StringToEnum("Neumannflux")[0]
    565567def ParamEnum(): return StringToEnum("Param")[0]
    566568def MoulinEnum(): return StringToEnum("Moulin")[0]
Note: See TracChangeset for help on using the changeset viewer.