Ignore:
Timestamp:
11/14/14 16:42:09 (10 years ago)
Author:
Eric.Larour
Message:

NEW: introduced new Masscon output definition, relying on a levelset definition of the masscon shape.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateOutputDefinitions.cpp

    r18521 r18786  
    114114                                /*}}}*/
    115115                        }
     116                        else if (output_definition_enums[i]==MassconEnum){
     117                                /*Deal with masscons: {{{*/
     118                               
     119                                /*masscon variables: */
     120                                int          nummasscons;
     121                                char**       masscon_name_s             = NULL;   
     122                                IssmDouble** masscon_levelset_s           = NULL;
     123                                int*         masscon_levelset_M_s    = NULL;
     124                                int*         masscon_levelset_N_s    = NULL;
    116125
     126                                /*Fetch name and levelset, etc ... (see src/m/classes/masscon.m): */
     127                                iomodel->FetchMultipleData(&masscon_name_s,&nummasscons,MassconNameEnum);
     128                                iomodel->FetchMultipleData(&masscon_levelset_s,&masscon_levelset_M_s,&masscon_levelset_N_s,&nummasscons,MassconLevelsetEnum);
     129                                for(j=0;j<nummasscons;j++){
     130
     131                                        /*Create a masscon object: */
     132                                        output_definitions->AddObject(new Masscon(masscon_name_s[j],masscon_levelset_s[j],masscon_levelset_M_s[j]));
     133
     134                                }
     135
     136                                /*Free ressources:*/
     137                                for(j=0;j<nummasscons;j++){
     138                                        char* string=NULL;
     139                                        IssmDouble* matrix = NULL;
     140
     141                                        string = masscon_name_s[j];    xDelete<char>(string);
     142                                        matrix = masscon_levelset_s[j]; xDelete<IssmDouble>(matrix);
     143                                }
     144                                xDelete<char*>(masscon_name_s);
     145                                xDelete<IssmDouble*>(masscon_levelset_s);
     146                                xDelete<int>(masscon_levelset_M_s);
     147                                xDelete<int>(masscon_levelset_N_s);
     148                                /*}}}*/
     149                        }
    117150                        else _error_("output definition enum " << output_definition_enums[i] << "not supported yet!");
    118151                }
Note: See TracChangeset for help on using the changeset viewer.