Changeset 18812


Ignore:
Timestamp:
11/19/14 14:37:13 (10 years ago)
Author:
Eric.Larour
Message:

CHG: added output definition for masconaxpby object, which combines masscons together.
Added corresponding enums and corresponding Massconaxpby.h object in the classes.

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

Legend:

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

    r18807 r18812  
    8686                void        FetchMultipleData(int*** pmatrices,int** pmdims,int** pndims, int* pnumrecords,int data_enum);
    8787                void        FetchMultipleData(int** pvector, int* pnum_instances,int data_enum);
     88                void        FetchMultipleData(IssmDouble** pvector, int* pnum_instances,int data_enum);
    8889                void        FetchData(Option **poption,int data_enum);
    8990                void        FetchData(int num,...);
  • issm/trunk-jpl/src/c/classes/classes.h

    r18786 r18812  
    2020#include "./Misfit.h"
    2121#include "./Masscon.h"
     22#include "./Massconaxpby.h"
    2223
    2324/*Constraints: */
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp

    r18786 r18812  
    148148                                /*}}}*/
    149149                        }
     150                        else if (output_definition_enums[i]==MassconaxpbyEnum){
     151                                /*Deal with masscon combinations: {{{*/
     152                               
     153                                /*masscon variables: */
     154                                char**       masscon_name_s             = NULL;   
     155                                char**       masscon_namex_s             = NULL;   
     156                                char**       masscon_namey_s             = NULL;   
     157                                IssmDouble*  masscon_alpha_s     = NULL;
     158                                IssmDouble*  masscon_beta_s     = NULL;
     159                                int          num;
     160
     161                                /*Fetch names and multiplicators, etc ... (see src/m/classes/masscon_axpby.m): */
     162                                iomodel->FetchMultipleData(&masscon_name_s,&num,MassconaxpbyNameEnum);
     163                                iomodel->FetchMultipleData(&masscon_namex_s,&num,MassconaxpbyNamexEnum);
     164                                iomodel->FetchMultipleData(&masscon_namey_s,&num,MassconaxpbyNameyEnum);
     165                                iomodel->FetchMultipleData(&masscon_alpha_s,&num,MassconaxpbyAlphaEnum);
     166                                iomodel->FetchMultipleData(&masscon_beta_s,&num,MassconaxpbyBetaEnum);
     167                                for(j=0;j<num;j++){
     168
     169                                        /*Create a masscon axpyb object: */
     170                                        output_definitions->AddObject(new Massconaxpby(masscon_name_s[j],masscon_namex_s[j],masscon_namey_s[j],masscon_alpha_s[j],masscon_beta_s[j]));
     171
     172                                }
     173
     174                                /*Free ressources:*/
     175                                for(j=0;j<num;j++){
     176                                        char* string=NULL;
     177                                        string = masscon_name_s[j];    xDelete<char>(string);
     178                                        string = masscon_namex_s[j];    xDelete<char>(string);
     179                                        string = masscon_namey_s[j];    xDelete<char>(string);
     180                                }
     181                                xDelete<char*>(masscon_name_s);
     182                                xDelete<char*>(masscon_namex_s);
     183                                xDelete<char*>(masscon_namey_s);
     184                                xDelete<IssmDouble>(masscon_alpha_s);
     185                                xDelete<IssmDouble>(masscon_beta_s);
     186                                /*}}}*/
     187                        }
    150188                        else _error_("output definition enum " << output_definition_enums[i] << "not supported yet!");
    151189                }
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r18786 r18812  
    494494        MassconNameEnum,
    495495        MassconLevelsetEnum,
     496        MassconaxpbyEnum,
     497        MassconaxpbyNameEnum,
     498        MassconaxpbyNamexEnum,
     499        MassconaxpbyNameyEnum,
     500        MassconaxpbyAlphaEnum,
     501        MassconaxpbyBetaEnum,
    496502        NodeSIdEnum,
    497503        VectorParamEnum,
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r18786 r18812  
    491491                case MassconNameEnum : return "MassconName";
    492492                case MassconLevelsetEnum : return "MassconLevelset";
     493                case MassconaxpbyEnum : return "Massconaxpby";
     494                case MassconaxpbyNameEnum : return "MassconaxpbyName";
     495                case MassconaxpbyNamexEnum : return "MassconaxpbyNamex";
     496                case MassconaxpbyNameyEnum : return "MassconaxpbyNamey";
     497                case MassconaxpbyAlphaEnum : return "MassconaxpbyAlpha";
     498                case MassconaxpbyBetaEnum : return "MassconaxpbyBeta";
    493499                case NodeSIdEnum : return "NodeSId";
    494500                case VectorParamEnum : return "VectorParam";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r18786 r18812  
    500500              else if (strcmp(name,"MassconName")==0) return MassconNameEnum;
    501501              else if (strcmp(name,"MassconLevelset")==0) return MassconLevelsetEnum;
    502               else if (strcmp(name,"NodeSId")==0) return NodeSIdEnum;
     502              else if (strcmp(name,"Massconaxpby")==0) return MassconaxpbyEnum;
     503              else if (strcmp(name,"MassconaxpbyName")==0) return MassconaxpbyNameEnum;
     504              else if (strcmp(name,"MassconaxpbyNamex")==0) return MassconaxpbyNamexEnum;
     505              else if (strcmp(name,"MassconaxpbyNamey")==0) return MassconaxpbyNameyEnum;
     506              else if (strcmp(name,"MassconaxpbyAlpha")==0) return MassconaxpbyAlphaEnum;
     507              else if (strcmp(name,"MassconaxpbyBeta")==0) return MassconaxpbyBetaEnum;
     508         else stage=5;
     509   }
     510   if(stage==5){
     511              if (strcmp(name,"NodeSId")==0) return NodeSIdEnum;
    503512              else if (strcmp(name,"VectorParam")==0) return VectorParamEnum;
    504513              else if (strcmp(name,"Riftfront")==0) return RiftfrontEnum;
     
    506515              else if (strcmp(name,"Segment")==0) return SegmentEnum;
    507516              else if (strcmp(name,"SegmentRiftfront")==0) return SegmentRiftfrontEnum;
    508          else stage=5;
    509    }
    510    if(stage==5){
    511               if (strcmp(name,"SpcDynamic")==0) return SpcDynamicEnum;
     517              else if (strcmp(name,"SpcDynamic")==0) return SpcDynamicEnum;
    512518              else if (strcmp(name,"SpcStatic")==0) return SpcStaticEnum;
    513519              else if (strcmp(name,"SpcTransient")==0) return SpcTransientEnum;
     
    623629              else if (strcmp(name,"Divergence")==0) return DivergenceEnum;
    624630              else if (strcmp(name,"MaxDivergence")==0) return MaxDivergenceEnum;
    625               else if (strcmp(name,"GiaCrossSectionShape")==0) return GiaCrossSectionShapeEnum;
     631         else stage=6;
     632   }
     633   if(stage==6){
     634              if (strcmp(name,"GiaCrossSectionShape")==0) return GiaCrossSectionShapeEnum;
    626635              else if (strcmp(name,"GiadWdt")==0) return GiadWdtEnum;
    627636              else if (strcmp(name,"GiaW")==0) return GiaWEnum;
     
    629638              else if (strcmp(name,"P1")==0) return P1Enum;
    630639              else if (strcmp(name,"P1DG")==0) return P1DGEnum;
    631          else stage=6;
    632    }
    633    if(stage==6){
    634               if (strcmp(name,"P1bubble")==0) return P1bubbleEnum;
     640              else if (strcmp(name,"P1bubble")==0) return P1bubbleEnum;
    635641              else if (strcmp(name,"P1bubblecondensed")==0) return P1bubblecondensedEnum;
    636642              else if (strcmp(name,"P2")==0) return P2Enum;
     
    746752              else if (strcmp(name,"Seq")==0) return SeqEnum;
    747753              else if (strcmp(name,"Mpi")==0) return MpiEnum;
    748               else if (strcmp(name,"Mumps")==0) return MumpsEnum;
     754         else stage=7;
     755   }
     756   if(stage==7){
     757              if (strcmp(name,"Mumps")==0) return MumpsEnum;
    749758              else if (strcmp(name,"Gsl")==0) return GslEnum;
    750759              else if (strcmp(name,"Option")==0) return OptionEnum;
     
    752761              else if (strcmp(name,"OptionCell")==0) return OptionCellEnum;
    753762              else if (strcmp(name,"OptionStruct")==0) return OptionStructEnum;
    754          else stage=7;
    755    }
    756    if(stage==7){
    757               if (strcmp(name,"Cuffey")==0) return CuffeyEnum;
     763              else if (strcmp(name,"Cuffey")==0) return CuffeyEnum;
    758764              else if (strcmp(name,"Paterson")==0) return PatersonEnum;
    759765              else if (strcmp(name,"Arrhenius")==0) return ArrheniusEnum;
  • issm/trunk-jpl/src/m/enum/EnumDefinitions.py

    r18786 r18812  
    483483def MassconNameEnum(): return StringToEnum("MassconName")[0]
    484484def MassconLevelsetEnum(): return StringToEnum("MassconLevelset")[0]
     485def MassconaxpbyEnum(): return StringToEnum("Massconaxpby")[0]
     486def MassconaxpbyNameEnum(): return StringToEnum("MassconaxpbyName")[0]
     487def MassconaxpbyNamexEnum(): return StringToEnum("MassconaxpbyNamex")[0]
     488def MassconaxpbyNameyEnum(): return StringToEnum("MassconaxpbyNamey")[0]
     489def MassconaxpbyAlphaEnum(): return StringToEnum("MassconaxpbyAlpha")[0]
     490def MassconaxpbyBetaEnum(): return StringToEnum("MassconaxpbyBeta")[0]
    485491def NodeSIdEnum(): return StringToEnum("NodeSId")[0]
    486492def VectorParamEnum(): return StringToEnum("VectorParam")[0]
Note: See TracChangeset for help on using the changeset viewer.