Changeset 16240
- Timestamp:
- 09/23/13 14:15:33 (11 years ago)
- 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 487 487 ./modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp \ 488 488 ./modules/ModelProcessorx/Stressbalance/CreateLoadsStressbalance.cpp\ 489 ./modules/ModelProcessorx/Stressbalance/CreateParametersStressbalance.cpp\ 489 490 ./modules/ModelProcessorx/StressbalanceVertical/UpdateElementsStressbalanceVertical.cpp\ 490 491 ./modules/ModelProcessorx/StressbalanceVertical/CreateNodesStressbalanceVertical.cpp \ -
TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp ¶
r16181 r16240 46 46 /*Copy some constants from iomodel */ 47 47 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));54 48 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));61 49 parameters->AddObject(iomodel->CopyConstantObject(SteadystateReltolEnum)); 62 50 parameters->AddObject(iomodel->CopyConstantObject(SteadystateMaxiterEnum)); … … 83 71 parameters->AddObject(iomodel->CopyConstantObject(ThermalPenaltyThresholdEnum)); 84 72 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));89 73 parameters->AddObject(iomodel->CopyConstantObject(SettingsWaitonlockEnum)); 90 74 parameters->AddObject(iomodel->CopyConstantObject(MeshNumberofelementsEnum)); … … 148 132 parameters->AddObject(new BoolParam(SaveResultsEnum,true)); 149 133 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 156 134 iomodel->FetchData(&requestedoutputs,&numoutputs,NULL,TransientRequestedOutputsEnum); 157 135 parameters->AddObject(new IntParam(TransientNumRequestedOutputsEnum,numoutputs)); … … 231 209 /*}}}*/ 232 210 233 /*Solution specific parameters (FIXME: extend to other params)*/211 /*Solution specific parameters*/ 234 212 #ifdef _HAVE_HYDROLOGY_ 235 213 CreateParametersHydrologyShreve(¶meters,iomodel,solution_type,analysis_type); … … 251 229 #endif 252 230 231 #ifdef _HAVE_STRESSBALANCE_ 232 CreateParametersStressbalance(¶meters,iomodel,solution_type,analysis_type); 233 #endif 234 235 253 236 /*Now, deal with toolkits options, which need to be put into the parameters dataset: */ 254 237 ParseToolkitsOptionsx(parameters,toolkitsoptionsfid); -
TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp ¶
r15428 r16240 11 11 void CreateParametersDakota(Parameters** pparameters,IoModel* iomodel,char* rootpath,int solution_type,int analysis_type){ 12 12 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; 26 24 27 25 //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; 31 29 32 30 //descriptors: 33 31 char tag[50]; 34 32 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; 42 37 43 38 /*recover parameters : */ 44 parameters =*pparameters;39 parameters = *pparameters; 45 40 46 41 /*recover parameters: */ … … 52 47 iomodel->Constant(&numberofresponses,QmuNumberofresponsesEnum); 53 48 54 /*name of qmu input, error and output files :{{{*/49 /*name of qmu input, error and output files*/ 55 50 qmuinname=xNew<char>((strlen(rootpath)+strlen(name)+strlen(".qmu.in")+1)); 56 51 sprintf(qmuinname,"%s%s%s",rootpath,name,".qmu.in"); … … 64 59 sprintf(qmuerrname,"%s%s%s",rootpath,name,".qmu.err"); 65 60 parameters->AddObject(new StringParam(QmuErrNameEnum,qmuerrname)); 66 /*}}}*/ 67 /*Fetch variable descriptors : {{{*/61 62 /*Fetch variable descriptors*/ 68 63 iomodel->FetchData(&variabledescriptors,&numvariabledescriptors,QmuVariabledescriptorsEnum); 69 64 … … 71 66 parameters->AddObject(new StringArrayParam(QmuVariabledescriptorsEnum,variabledescriptors,numvariabledescriptors)); 72 67 73 /*}}}*/ 74 /*Fetch response descriptors: {{{*/ 68 /*Fetch response descriptors*/ 75 69 iomodel->FetchData(&responsedescriptors,&numresponsedescriptors,QmuResponsedescriptorsEnum); 76 70 … … 78 72 parameters->AddObject(new StringArrayParam(QmuResponsedescriptorsEnum,responsedescriptors,numresponsedescriptors)); 79 73 parameters->AddObject(new IntParam(QmuNumberofresponsesEnum,numberofresponses)); 80 /*}}}*/ 81 /*Deal with partitioning : {{{*/74 75 /*Deal with partitioning*/ 82 76 /*partition vertices in iomodel->qmu_npart parts, unless a partition is already present: */ 83 84 77 parameters->AddObject(iomodel->CopyConstantObject(QmuNumberofpartitionsEnum)); 85 78 iomodel->FetchData(&dpart,NULL,NULL,QmuPartitionEnum); 86 87 79 if(!dpart){ 88 89 80 /*Partition elements and vertices and nodes: */ 90 81 ElementsAndVerticesPartitioning(&iomodel->my_elements,&iomodel->my_vertices,iomodel); … … 94 85 } 95 86 parameters->AddObject(new DoubleVecParam(QmuPartitionEnum,dpart,iomodel->numberofvertices)); 96 /*}}}*/97 /*Deal with data needed because of qmu variables: {{{*/98 87 88 /*Deal with data needed because of qmu variables*/ 99 89 for(i=0;i<numvariabledescriptors;i++){ 100 101 90 if (strncmp(variabledescriptors[i],"scaled_",7)==0){ 102 91 /*Ok, we are dealing with a variable that is distributed over nodes. Recover the name of the variable (ex: scaled_Thickness): */ … … 105 94 /*Recover data: */ 106 95 iomodel->FetchData(&dakota_parameter,&nrows,&ncols,StringToEnumx(tag)); 107 108 /*Add to parameters: */109 96 if(nrows==iomodel->numberofvertices){ 110 97 parameters->AddObject(new DoubleMatParam(StringToEnumx(tag),dakota_parameter,nrows,ncols)); … … 113 100 parameters->AddObject(new DoubleTransientMatParam(StringToEnumx(tag),dakota_parameter,nrows,ncols)); 114 101 } 115 116 /*Free ressources:*/117 102 xDelete<double>(dakota_parameter); 118 103 } 119 104 } 120 /*}}}*/ 121 /* Free data: {{{*/105 106 /*clean-up*/ 122 107 for(i=0;i<numresponsedescriptors;i++){ 123 108 descriptor=responsedescriptors[i]; … … 125 110 } 126 111 xDelete<char*>(responsedescriptors); 127 128 112 for(i=0;i<numvariabledescriptors;i++){ 129 113 descriptor=variabledescriptors[i]; … … 136 120 xDelete<char>(qmuerrname); 137 121 xDelete<char>(qmuoutname); 138 /*}}}*/ 139 } //if(dakota_analysis) 122 } 140 123 141 124 /*Free data*/ … … 143 126 144 127 /*Assign output pointer: */ 145 *pparameters =parameters;128 *pparameters = parameters; 146 129 } -
TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.h ¶
r16210 r16240 19 19 void CreateParametersControl(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type); 20 20 void CreateParametersDakota(Parameters** pparameters,IoModel* iomodel,char* rootpath,int solution_type,int analysis_type); 21 void CreateParametersStressbalance(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type); 21 22 void CreateParametersHydrologyShreve(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type); 22 23 void CreateParametersHydrologyDCInefficient(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type);
Note:
See TracChangeset
for help on using the changeset viewer.