Changeset 19749


Ignore:
Timestamp:
Nov 18, 2015, 10:45:11 AM (11 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.