Changeset 16240


Ignore:
Timestamp:
09/23/13 14:15:33 (11 years ago)
Author:
Mathieu Morlighem
Message:

CHG: moving stressbalance specific parameters to CreateParametersStressbalance.cpp

Location:
issm/trunk-jpl/src/c
Files:
1 added
4 edited

Legend:

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

    r16237 r16240  
    487487                                              ./modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp \
    488488                                              ./modules/ModelProcessorx/Stressbalance/CreateLoadsStressbalance.cpp\
     489                                                        ./modules/ModelProcessorx/Stressbalance/CreateParametersStressbalance.cpp\
    489490                                              ./modules/ModelProcessorx/StressbalanceVertical/UpdateElementsStressbalanceVertical.cpp\
    490491                                              ./modules/ModelProcessorx/StressbalanceVertical/CreateNodesStressbalanceVertical.cpp \
  • TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp

    r16181 r16240  
    4646        /*Copy some constants from iomodel */
    4747        parameters->AddObject(iomodel->CopyConstantObject(MeshDimensionEnum));
    48         parameters->AddObject(iomodel->CopyConstantObject(FlowequationIsSIAEnum));
    49         parameters->AddObject(iomodel->CopyConstantObject(FlowequationIsSSAEnum));
    50         parameters->AddObject(iomodel->CopyConstantObject(FlowequationIsL1L2Enum));
    51         parameters->AddObject(iomodel->CopyConstantObject(FlowequationIsHOEnum));
    52         parameters->AddObject(iomodel->CopyConstantObject(FlowequationIsFSEnum));
    53         parameters->AddObject(iomodel->CopyConstantObject(FlowequationFeFSEnum));
    5448        parameters->AddObject(iomodel->CopyConstantObject(SettingsOutputFrequencyEnum));
    55         parameters->AddObject(iomodel->CopyConstantObject(StressbalanceRestolEnum));
    56         parameters->AddObject(iomodel->CopyConstantObject(StressbalanceReltolEnum));
    57         parameters->AddObject(iomodel->CopyConstantObject(StressbalanceAbstolEnum));
    58         parameters->AddObject(iomodel->CopyConstantObject(StressbalanceIsnewtonEnum));
    59         parameters->AddObject(iomodel->CopyConstantObject(StressbalanceMaxiterEnum));
    60         parameters->AddObject(iomodel->CopyConstantObject(StressbalancePenaltyFactorEnum));
    6149        parameters->AddObject(iomodel->CopyConstantObject(SteadystateReltolEnum));
    6250        parameters->AddObject(iomodel->CopyConstantObject(SteadystateMaxiterEnum));
     
    8371        parameters->AddObject(iomodel->CopyConstantObject(ThermalPenaltyThresholdEnum));
    8472        parameters->AddObject(iomodel->CopyConstantObject(ThermalPenaltyLockEnum));
    85         parameters->AddObject(iomodel->CopyConstantObject(StressbalanceRiftPenaltyThresholdEnum));
    86         parameters->AddObject(iomodel->CopyConstantObject(StressbalanceFSreconditioningEnum));
    87         parameters->AddObject(iomodel->CopyConstantObject(StressbalanceShelfDampeningEnum));
    88         parameters->AddObject(iomodel->CopyConstantObject(StressbalanceViscosityOvershootEnum));
    8973        parameters->AddObject(iomodel->CopyConstantObject(SettingsWaitonlockEnum));
    9074        parameters->AddObject(iomodel->CopyConstantObject(MeshNumberofelementsEnum));
     
    148132        parameters->AddObject(new BoolParam(SaveResultsEnum,true));
    149133
    150         /*Requested outputs*/
    151         iomodel->FetchData(&requestedoutputs,&numoutputs,NULL,StressbalanceRequestedOutputsEnum);
    152         parameters->AddObject(new IntParam(StressbalanceNumRequestedOutputsEnum,numoutputs));
    153         if(numoutputs)parameters->AddObject(new IntVecParam(StressbalanceRequestedOutputsEnum,requestedoutputs,numoutputs));
    154         iomodel->DeleteData(requestedoutputs,StressbalanceRequestedOutputsEnum);
    155 
    156134        iomodel->FetchData(&requestedoutputs,&numoutputs,NULL,TransientRequestedOutputsEnum);
    157135        parameters->AddObject(new IntParam(TransientNumRequestedOutputsEnum,numoutputs));
     
    231209        /*}}}*/
    232210
    233         /*Solution specific parameters (FIXME: extend to other params)*/
     211        /*Solution specific parameters*/
    234212        #ifdef _HAVE_HYDROLOGY_
    235213        CreateParametersHydrologyShreve(&parameters,iomodel,solution_type,analysis_type);
     
    251229        #endif
    252230
     231        #ifdef _HAVE_STRESSBALANCE_
     232        CreateParametersStressbalance(&parameters,iomodel,solution_type,analysis_type);
     233        #endif
     234
     235
    253236        /*Now, deal with toolkits options, which need to be put into the parameters dataset: */
    254237        ParseToolkitsOptionsx(parameters,toolkitsoptionsfid);
  • TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp

    r15428 r16240  
    1111void CreateParametersDakota(Parameters** pparameters,IoModel* iomodel,char* rootpath,int solution_type,int analysis_type){
    1212
    13         /*variable declarations: {{{*/
    14         int i;
    15         Parameters* parameters = NULL;
    16 
    17         int*     part=NULL;
    18         double*  dpart=NULL;
    19 
    20         char**  responsedescriptors=NULL;
    21         int     numresponsedescriptors;
    22         char**  variabledescriptors=NULL;
    23         int     numvariabledescriptors;
    24         char*   descriptor=NULL;
    25         double* dakota_parameter=NULL;
     13        /*variable declarations*/
     14        int          i;
     15        Parameters  *parameters             = NULL;
     16        int         *part                   = NULL;
     17        double      *dpart                  = NULL;
     18        char       **responsedescriptors    = NULL;
     19        int          numresponsedescriptors;
     20        char       **variabledescriptors    = NULL;
     21        int          numvariabledescriptors;
     22        char        *descriptor             = NULL;
     23        double      *dakota_parameter       = NULL;
    2624
    2725        //qmu files
    28         char* qmuinname=NULL;
    29         char* qmuerrname=NULL;
    30         char* qmuoutname=NULL;
     26        char *qmuinname  = NULL;
     27        char *qmuerrname = NULL;
     28        char *qmuoutname = NULL;
    3129
    3230        //descriptors:
    3331        char tag[50];
    3432
    35         bool     dakota_analysis=false;
    36         char*    name=NULL;
    37         int      numberofresponses;
    38         int      nrows;
    39         int      ncols;
    40 
    41         /*}}}*/
     33        bool  dakota_analysis   = false;
     34        char *name              = NULL;
     35        int   numberofresponses;
     36        int   nrows,ncols;
    4237
    4338        /*recover parameters : */
    44         parameters=*pparameters;
     39        parameters = *pparameters;
    4540
    4641        /*recover parameters: */
     
    5247                iomodel->Constant(&numberofresponses,QmuNumberofresponsesEnum);
    5348
    54                 /*name of qmu input, error and output files:{{{*/
     49                /*name of qmu input, error and output files*/
    5550                qmuinname=xNew<char>((strlen(rootpath)+strlen(name)+strlen(".qmu.in")+1));
    5651                sprintf(qmuinname,"%s%s%s",rootpath,name,".qmu.in");
     
    6459                sprintf(qmuerrname,"%s%s%s",rootpath,name,".qmu.err");
    6560                parameters->AddObject(new   StringParam(QmuErrNameEnum,qmuerrname));
    66                 /*}}}*/
    67                 /*Fetch variable descriptors: {{{*/
     61
     62                /*Fetch variable descriptors*/
    6863                iomodel->FetchData(&variabledescriptors,&numvariabledescriptors,QmuVariabledescriptorsEnum);
    6964
     
    7166                parameters->AddObject(new StringArrayParam(QmuVariabledescriptorsEnum,variabledescriptors,numvariabledescriptors));
    7267
    73                 /*}}}*/
    74                 /*Fetch response descriptors: {{{*/
     68                /*Fetch response descriptors*/
    7569                iomodel->FetchData(&responsedescriptors,&numresponsedescriptors,QmuResponsedescriptorsEnum);
    7670
     
    7872                parameters->AddObject(new StringArrayParam(QmuResponsedescriptorsEnum,responsedescriptors,numresponsedescriptors));
    7973                parameters->AddObject(new    IntParam(QmuNumberofresponsesEnum,numberofresponses));
    80                 /*}}}*/
    81                 /*Deal with partitioning: {{{*/
     74
     75                /*Deal with partitioning*/
    8276                /*partition vertices in iomodel->qmu_npart parts, unless a partition is already present: */
    83 
    8477                parameters->AddObject(iomodel->CopyConstantObject(QmuNumberofpartitionsEnum));
    8578                iomodel->FetchData(&dpart,NULL,NULL,QmuPartitionEnum);
    86 
    8779                if(!dpart){
    88 
    8980                        /*Partition elements and vertices and nodes: */
    9081                        ElementsAndVerticesPartitioning(&iomodel->my_elements,&iomodel->my_vertices,iomodel);
     
    9485                }
    9586                parameters->AddObject(new DoubleVecParam(QmuPartitionEnum,dpart,iomodel->numberofvertices));
    96                 /*}}}*/
    97                 /*Deal with data needed because of qmu variables: {{{*/
    9887
     88                /*Deal with data needed because of qmu variables*/
    9989                for(i=0;i<numvariabledescriptors;i++){
    100 
    10190                        if (strncmp(variabledescriptors[i],"scaled_",7)==0){
    10291                                /*Ok, we are dealing with a variable that is distributed over nodes. Recover the name of the variable (ex: scaled_Thickness): */
     
    10594                                /*Recover data: */
    10695                                iomodel->FetchData(&dakota_parameter,&nrows,&ncols,StringToEnumx(tag));
    107 
    108                                 /*Add to parameters: */
    10996                                if(nrows==iomodel->numberofvertices){
    11097                                        parameters->AddObject(new DoubleMatParam(StringToEnumx(tag),dakota_parameter,nrows,ncols));
     
    113100                                        parameters->AddObject(new DoubleTransientMatParam(StringToEnumx(tag),dakota_parameter,nrows,ncols));
    114101                                }
    115 
    116                                 /*Free ressources:*/
    117102                                xDelete<double>(dakota_parameter);
    118103                        }
    119104                }
    120                 /*}}}*/
    121                 /*Free data: {{{*/
     105
     106                /*clean-up*/
    122107                for(i=0;i<numresponsedescriptors;i++){
    123108                        descriptor=responsedescriptors[i];
     
    125110                }
    126111                xDelete<char*>(responsedescriptors);
    127 
    128112                for(i=0;i<numvariabledescriptors;i++){
    129113                        descriptor=variabledescriptors[i];
     
    136120                xDelete<char>(qmuerrname);
    137121                xDelete<char>(qmuoutname);
    138                 /*}}}*/
    139         } //if(dakota_analysis)
     122        }
    140123
    141124        /*Free data*/
     
    143126
    144127        /*Assign output pointer: */
    145         *pparameters=parameters;
     128        *pparameters = parameters;
    146129}
  • TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.h

    r16210 r16240  
    1919void CreateParametersControl(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type);
    2020void CreateParametersDakota(Parameters** pparameters,IoModel* iomodel,char* rootpath,int solution_type,int analysis_type);
     21void CreateParametersStressbalance(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type);
    2122void CreateParametersHydrologyShreve(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type);
    2223void CreateParametersHydrologyDCInefficient(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type);
Note: See TracChangeset for help on using the changeset viewer.