Changeset 20969


Ignore:
Timestamp:
07/20/16 21:48:45 (9 years ago)
Author:
agscott1
Message:

CHG: Changed md.damage.elementinterp so that it is marshalled as a String. Changed md.mesh.domain_type and md.mesh.elementtype so that they are marshalled as Strings. Also updated IoModel constructor to use FindConstant instead of FetchData for the changes to mesh2d.

Location:
issm/trunk-jpl/src
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/IoModel.cpp

    r20947 r20969  
    193193        this->my_vertices = NULL;
    194194
    195         FetchData(&this->domaintype,"md.mesh.domain_type");
     195        FindConstant(&this->domaintype,"md.mesh.domain_type");
     196        FindConstant(&this->meshelementtype,"md.mesh.elementtype");
     197
    196198        FetchData(&this->domaindim,"md.mesh.domain_dimension");
    197         FetchData(&this->meshelementtype,"md.mesh.elementtype");
    198199        FetchData(&this->numberofvertices,"md.mesh.numberofvertices");
    199200        FetchData(&this->numberofelements,"md.mesh.numberofelements");
     
    344345                                break;
    345346                        }
    346                         //_printf_("   reading "<< record_name<<"...\n");
    347347                        if(strncmp(record_name,mddot,3)!=0){
    348348                                _error_("error while reading binary file: record does not start with \"md.\": "<<record_name);
     
    569569                                _error_("error while reading binary file: record does not start with \"md.\": "<<record_name);
    570570                        }
    571                         //_printf_("reading "<<record_name<<"...\n");
    572571
    573572                        /* Read the record length and the data type code: */
     
    596595                                        /*Read the integer and broadcast it to other cpus:*/
    597596                                        if(fread(&integer,sizeof(int),1,this->fid)!=1) _error_("could not read integer ");
    598 
     597                                       
    599598                                        /*Convert codes to Enums if needed*/
    600599                                        if(strcmp(record_name,"md.smb.model")==0) integer = IoCodeToEnumSMB(integer);
     
    662661                                                this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
    663662                                        } else if(strcmp(record_name,"md.materials.rheology_law")==0){
     663                                                this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
     664                                        } else if(strcmp(record_name,"md.damage.elementinterp")==0){
     665                                                this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
     666                                        } else if(strcmp(record_name,"md.mesh.domain_type")==0){
     667                                                this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
     668                                        } else if(strcmp(record_name,"md.mesh.elementtype")==0){
    664669                                                this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
    665670                                        } else {
     
    784789                                                        string[0]='\0';
    785790                                                }
     791
    786792                                                if(strcmp(record_name,"md.flowequation.fe_SSA")==0){
    787793                                                        this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
     
    795801                                                        this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
    796802                                                } else if(strcmp(record_name,"md.materials.rheology_law")==0){
     803                                                        this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
     804                                                } else if(strcmp(record_name,"md.damage.elementinterp")==0){
     805                                                        this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
     806                                                } else if(strcmp(record_name,"md.mesh.domain_type")==0){
     807                                                        this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
     808                                                } else if(strcmp(record_name,"md.mesh.elementtype")==0){
    797809                                                        this->AddConstant(new IoConstant(StringToEnumx(string),record_name));
    798810                                                } else {
     
    933945        /*recover my_rank:*/
    934946        int my_rank=IssmComm::GetRank();
    935 
     947       
    936948        /*Set file pointer to beginning of the data: */
    937949        fid=this->SetFilePointerToData(&code,NULL,data_name);
  • issm/trunk-jpl/src/m/classes/damage.js

    r20902 r20969  
    108108                                WriteData(fid,prefix,'object',this,'fieldname','stabilization','format','Integer');
    109109                                WriteData(fid,prefix,'object',this,'fieldname','maxiter','format','Integer');
    110                                 WriteData(fid,prefix,'name','md.damage.elementinterp','data',StringToEnum(this.elementinterp),'format','Integer');
     110                                WriteData(fid,prefix,'name','md.damage.elementinterp','data',this.elementinterp,'format','String');
    111111                                WriteData(fid,prefix,'object',this,'fieldname','stress_threshold','format','Double');
    112112                                WriteData(fid,prefix,'object',this,'fieldname','kappa','format','Double');
  • issm/trunk-jpl/src/m/classes/damage.m

    r20902 r20969  
    154154                                WriteData(fid,prefix,'object',self,'fieldname','stabilization','format','Integer');
    155155                                WriteData(fid,prefix,'object',self,'fieldname','maxiter','format','Integer');
    156                                 WriteData(fid,prefix,'name','md.damage.elementinterp','data',StringToEnum(self.elementinterp),'format','Integer');
     156                                WriteData(fid,prefix,'name','md.damage.elementinterp','data',self.elementinterp,'format','String');
    157157                                WriteData(fid,prefix,'object',self,'fieldname','stress_threshold','format','Double');
    158158                                WriteData(fid,prefix,'object',self,'fieldname','kappa','format','Double');
  • issm/trunk-jpl/src/m/classes/damage.py

    r20902 r20969  
    155155                        WriteData(fid,prefix,'object',self,'fieldname','stabilization','format','Integer')
    156156                        WriteData(fid,prefix,'object',self,'fieldname','maxiter','format','Integer')
    157                         WriteData(fid,prefix,'name','md.damage.elementinterp','data',StringToEnum(self.elementinterp)[0],'format','Integer')
     157                        WriteData(fid,prefix,'name','md.damage.elementinterp','data',self.elementinterp,'format','String')
    158158                        WriteData(fid,prefix,'object',self,'fieldname','stress_threshold','format','Double')
    159159                        WriteData(fid,prefix,'object',self,'fieldname','kappa','format','Double')
  • issm/trunk-jpl/src/m/classes/mesh2d.js

    r20777 r20969  
    8080                } // }}}
    8181                this.marshall=function(md,prefix,fid) { //{{{
    82                         WriteData(fid,prefix,'name','md.mesh.domain_type','data',StringToEnum('Domain' + this.domaintype()),'format','Integer');
     82                        WriteData(fid,prefix,'name','md.mesh.domain_type','data','Domain' + this.domaintype(),'format','String');
    8383                        WriteData(fid,prefix,'name','md.mesh.domain_dimension','data',this.dimension(),'format','Integer');
    84                         WriteData(fid,prefix,'name','md.mesh.elementtype','data',StringToEnum(this.elementtype()),'format','Integer');
     84                        WriteData(fid,prefix,'name','md.mesh.elementtype','data',this.elementtype(),'format','String');
    8585                        WriteData(fid,prefix,'object',this,'class','mesh','fieldname','x','format','DoubleMat','mattype',1);
    8686                        WriteData(fid,prefix,'object',this,'class','mesh','fieldname','y','format','DoubleMat','mattype',1);
  • issm/trunk-jpl/src/m/classes/mesh2d.m

    r20690 r20969  
    128128                end % }}}
    129129                function marshall(self,prefix,md,fid) % {{{
    130                         WriteData(fid,prefix,'name','md.mesh.domain_type','data',StringToEnum(['Domain' domaintype(self)]),'format','Integer');
     130                        WriteData(fid,prefix,'name','md.mesh.domain_type','data',['Domain' domaintype(self)],'format','String');
    131131                        WriteData(fid,prefix,'name','md.mesh.domain_dimension','data',dimension(self),'format','Integer');
    132                         WriteData(fid,prefix,'name','md.mesh.elementtype','data',StringToEnum(elementtype(self)),'format','Integer');
     132                        WriteData(fid,prefix,'name','md.mesh.elementtype','data',elementtype(self),'format','String');
    133133                        WriteData(fid,prefix,'object',self,'class','mesh','fieldname','x','format','DoubleMat','mattype',1);
    134134                        WriteData(fid,prefix,'object',self,'class','mesh','fieldname','y','format','DoubleMat','mattype',1);
  • issm/trunk-jpl/src/m/classes/mesh2d.py

    r20690 r20969  
    108108        #}}}
    109109        def marshall(self,prefix,md,fid):    # {{{
    110                 WriteData(fid,prefix,'name','md.mesh.domain_type','data',StringToEnum("Domain"+self.domaintype())[0],'format','Integer');
     110                WriteData(fid,prefix,'name','md.mesh.domain_type','data',"Domain"+self.domaintype(),'format','String');
    111111                WriteData(fid,prefix,'name','md.mesh.domain_dimension','data',self.dimension(),'format','Integer');
    112                 WriteData(fid,prefix,'name','md.mesh.elementtype','data',StringToEnum(self.elementtype())[0],'format','Integer');
     112                WriteData(fid,prefix,'name','md.mesh.elementtype','data',self.elementtype(),'format','String');
    113113                WriteData(fid,prefix,'object',self,'class','mesh','fieldname','x','format','DoubleMat','mattype',1)
    114114                WriteData(fid,prefix,'object',self,'class','mesh','fieldname','y','format','DoubleMat','mattype',1)
Note: See TracChangeset for help on using the changeset viewer.