[11991] | 1 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/prognostic_core.cpp
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/prognostic_core.cpp (revision 11826)
|
---|
| 4 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/prognostic_core.cpp (revision 11827)
|
---|
| 5 | @@ -15,22 +15,20 @@
|
---|
| 6 |
|
---|
| 7 | /*parameters: */
|
---|
| 8 | int solution_type;
|
---|
| 9 | - bool control_analysis;
|
---|
| 10 | + bool save_results;
|
---|
| 11 |
|
---|
| 12 | /*activate formulation: */
|
---|
| 13 | femmodel->SetCurrentConfiguration(PrognosticAnalysisEnum);
|
---|
| 14 |
|
---|
| 15 | /*recover parameters: */
|
---|
| 16 | - femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
|
---|
| 17 | + femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
|
---|
| 18 | femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
|
---|
| 19 |
|
---|
| 20 | _printf_(VerboseSolution()," call computational core\n");
|
---|
| 21 | solver_linear(femmodel);
|
---|
| 22 |
|
---|
| 23 | - if(solution_type==PrognosticSolutionEnum && !control_analysis){
|
---|
| 24 | + if(save_results){
|
---|
| 25 | _printf_(VerboseSolution()," saving results\n");
|
---|
| 26 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum);
|
---|
| 27 | }
|
---|
| 28 | -
|
---|
| 29 | }
|
---|
| 30 | -
|
---|
| 31 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/steadystate_core.cpp
|
---|
| 32 | ===================================================================
|
---|
| 33 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/steadystate_core.cpp (revision 11826)
|
---|
| 34 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/steadystate_core.cpp (revision 11827)
|
---|
| 35 | @@ -24,7 +24,7 @@
|
---|
| 36 | int step;
|
---|
| 37 |
|
---|
| 38 | /*parameters: */
|
---|
| 39 | - bool control_analysis,isenthalpy;
|
---|
| 40 | + bool save_results,isenthalpy;
|
---|
| 41 | int dim;
|
---|
| 42 | int solution_type;
|
---|
| 43 | int maxiter;
|
---|
| 44 | @@ -33,7 +33,7 @@
|
---|
| 45 |
|
---|
| 46 | /* recover parameters:*/
|
---|
| 47 | femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
|
---|
| 48 | - femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
|
---|
| 49 | + femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
|
---|
| 50 | femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
|
---|
| 51 | femmodel->parameters->FindParam(&maxiter,SteadystateMaxiterEnum);
|
---|
| 52 | femmodel->parameters->FindParam(&numoutputs,SteadystateNumRequestedOutputsEnum);
|
---|
| 53 | @@ -80,7 +80,7 @@
|
---|
| 54 | step++;
|
---|
| 55 | }
|
---|
| 56 |
|
---|
| 57 | - if(solution_type==SteadystateSolutionEnum && !control_analysis){
|
---|
| 58 | + if(save_results){
|
---|
| 59 | _printf_(VerboseSolution()," saving results\n");
|
---|
| 60 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum);
|
---|
| 61 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum);
|
---|
| 62 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/surfaceslope_core.cpp
|
---|
| 63 | ===================================================================
|
---|
| 64 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/surfaceslope_core.cpp (revision 11826)
|
---|
| 65 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/surfaceslope_core.cpp (revision 11827)
|
---|
| 66 | @@ -16,12 +16,12 @@
|
---|
| 67 | int dim;
|
---|
| 68 | bool isstokes;
|
---|
| 69 | bool ishutter;
|
---|
| 70 | - bool control_analysis;
|
---|
| 71 | + bool save_results;
|
---|
| 72 | int solution_type;
|
---|
| 73 |
|
---|
| 74 | /*Recover some parameters: */
|
---|
| 75 | femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
|
---|
| 76 | - femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
|
---|
| 77 | + femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
|
---|
| 78 | femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
|
---|
| 79 |
|
---|
| 80 | _printf_(VerboseSolution(),"%s\n","computing slope...");
|
---|
| 81 | @@ -32,7 +32,7 @@
|
---|
| 82 | femmodel->SetCurrentConfiguration(SurfaceSlopeAnalysisEnum,SurfaceSlopeYAnalysisEnum);
|
---|
| 83 | solver_linear(femmodel);
|
---|
| 84 |
|
---|
| 85 | - if(solution_type==SurfaceSlopeSolutionEnum && !control_analysis){
|
---|
| 86 | + if(save_results){
|
---|
| 87 | _printf_(VerboseSolution(),"saving results:\n");
|
---|
| 88 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceSlopeXEnum);
|
---|
| 89 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceSlopeYEnum);
|
---|
| 90 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/thermal_core.cpp
|
---|
| 91 | ===================================================================
|
---|
| 92 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/thermal_core.cpp (revision 11826)
|
---|
| 93 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/thermal_core.cpp (revision 11827)
|
---|
| 94 | @@ -18,12 +18,12 @@
|
---|
| 95 |
|
---|
| 96 | /*intermediary*/
|
---|
| 97 | double melting_offset;
|
---|
| 98 | - bool control_analysis;
|
---|
| 99 | + bool save_results;
|
---|
| 100 | int solution_type;
|
---|
| 101 | bool dakota_analysis = false;
|
---|
| 102 |
|
---|
| 103 | //first recover parameters common to all solutions
|
---|
| 104 | - femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
|
---|
| 105 | + femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
|
---|
| 106 | femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
|
---|
| 107 | femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
|
---|
| 108 |
|
---|
| 109 | @@ -35,10 +35,9 @@
|
---|
| 110 | /*call thermal_core_step: */
|
---|
| 111 | thermal_core_step(femmodel);
|
---|
| 112 |
|
---|
| 113 | - if(solution_type==ThermalSolutionEnum && !control_analysis){
|
---|
| 114 | + if(save_results){
|
---|
| 115 | _printf_(VerboseSolution()," saving results\n");
|
---|
| 116 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum);
|
---|
| 117 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum);
|
---|
| 118 | }
|
---|
| 119 | -
|
---|
| 120 | }
|
---|
| 121 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/adjointdiagnostic_core.cpp
|
---|
| 122 | ===================================================================
|
---|
| 123 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/adjointdiagnostic_core.cpp (revision 11826)
|
---|
| 124 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/adjointdiagnostic_core.cpp (revision 11827)
|
---|
| 125 | @@ -16,13 +16,13 @@
|
---|
| 126 |
|
---|
| 127 | /*parameters: */
|
---|
| 128 | bool isstokes;
|
---|
| 129 | - bool control_analysis;
|
---|
| 130 | + bool save_results;
|
---|
| 131 | bool conserve_loads = true;
|
---|
| 132 | int solution_type;
|
---|
| 133 |
|
---|
| 134 | /*retrieve parameters:*/
|
---|
| 135 | femmodel->parameters->FindParam(&isstokes,FlowequationIsstokesEnum);
|
---|
| 136 | - femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
|
---|
| 137 | + femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
|
---|
| 138 | femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
|
---|
| 139 |
|
---|
| 140 | /*Compute velocities*/
|
---|
| 141 | @@ -39,7 +39,7 @@
|
---|
| 142 | solver_adjoint_linear(femmodel);
|
---|
| 143 |
|
---|
| 144 | /*Save results*/
|
---|
| 145 | - if(solution_type==AdjointSolutionEnum && !control_analysis){
|
---|
| 146 | + if(save_results){
|
---|
| 147 | _printf_(VerboseSolution()," saving results\n");
|
---|
| 148 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointxEnum);
|
---|
| 149 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointyEnum);
|
---|
| 150 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/bedslope_core.cpp
|
---|
| 151 | ===================================================================
|
---|
| 152 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/bedslope_core.cpp (revision 11826)
|
---|
| 153 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/bedslope_core.cpp (revision 11827)
|
---|
| 154 | @@ -16,12 +16,12 @@
|
---|
| 155 | int dim;
|
---|
| 156 | bool isstokes;
|
---|
| 157 | bool ishutter;
|
---|
| 158 | - bool control_analysis;
|
---|
| 159 | + bool save_results;
|
---|
| 160 | int solution_type;
|
---|
| 161 |
|
---|
| 162 | /*Recover some parameters: */
|
---|
| 163 | femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
|
---|
| 164 | - femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
|
---|
| 165 | + femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
|
---|
| 166 | femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
|
---|
| 167 |
|
---|
| 168 | _printf_(VerboseSolution(),"%s\n"," computing slope");
|
---|
| 169 | @@ -32,7 +32,7 @@
|
---|
| 170 | femmodel->SetCurrentConfiguration(BedSlopeAnalysisEnum,BedSlopeYAnalysisEnum);
|
---|
| 171 | solver_linear(femmodel);
|
---|
| 172 |
|
---|
| 173 | - if(solution_type==BedSlopeSolutionEnum && !control_analysis){
|
---|
| 174 | + if(save_results){
|
---|
| 175 | _printf_(VerboseSolution()," saving results\n");
|
---|
| 176 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedSlopeXEnum);
|
---|
| 177 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedSlopeYEnum);
|
---|
| 178 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/balancethickness_core.cpp
|
---|
| 179 | ===================================================================
|
---|
| 180 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/balancethickness_core.cpp (revision 11826)
|
---|
| 181 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/balancethickness_core.cpp (revision 11827)
|
---|
| 182 | @@ -17,20 +17,20 @@
|
---|
| 183 | /*parameters: */
|
---|
| 184 | int dim;
|
---|
| 185 | int solution_type;
|
---|
| 186 | - bool control_analysis;
|
---|
| 187 | + bool save_results;
|
---|
| 188 |
|
---|
| 189 | /*activate formulation: */
|
---|
| 190 | femmodel->SetCurrentConfiguration(BalancethicknessAnalysisEnum);
|
---|
| 191 |
|
---|
| 192 | /*recover parameters: */
|
---|
| 193 | femmodel->parameters->FindParam(&dim,MeshDimensionEnum);
|
---|
| 194 | - femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
|
---|
| 195 | + femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
|
---|
| 196 | femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
|
---|
| 197 |
|
---|
| 198 | _printf_(VerboseSolution(),"call computational core:\n");
|
---|
| 199 | solver_linear(femmodel);
|
---|
| 200 |
|
---|
| 201 | - if(solution_type==BalancethicknessSolutionEnum && !control_analysis){
|
---|
| 202 | + if(save_results){
|
---|
| 203 | _printf_(VerboseSolution()," saving results\n");
|
---|
| 204 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum);
|
---|
| 205 | }
|
---|
| 206 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/issm.cpp
|
---|
| 207 | ===================================================================
|
---|
| 208 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/issm.cpp (revision 11826)
|
---|
| 209 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/issm.cpp (revision 11827)
|
---|
| 210 | @@ -113,7 +113,7 @@
|
---|
| 211 | MPI_Barrier(MPI_COMM_WORLD); finish_core=MPI_Wtime( );
|
---|
| 212 |
|
---|
| 213 | _printf_(true,"write results to disk:\n");
|
---|
| 214 | - OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results);
|
---|
| 215 | + OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
|
---|
| 216 |
|
---|
| 217 | /*Close output and petsc options file and write lock file if requested*/
|
---|
| 218 | pfclose(output_fid,lockfilename);
|
---|
| 219 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/transient_core.cpp
|
---|
| 220 | ===================================================================
|
---|
| 221 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/transient_core.cpp (revision 11826)
|
---|
| 222 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/transient_core.cpp (revision 11827)
|
---|
| 223 | @@ -23,8 +23,8 @@
|
---|
| 224 |
|
---|
| 225 | /*parameters: */
|
---|
| 226 | double starttime,finaltime,dt,yts;
|
---|
| 227 | - bool control_analysis,isdiagnostic,isprognostic,isthermal,isgroundingline,isenthalpy;
|
---|
| 228 | - bool dakota_analysis=false;
|
---|
| 229 | + bool isdiagnostic,isprognostic,isthermal,isgroundingline,isenthalpy;
|
---|
| 230 | + bool save_results,dakota_analysis;
|
---|
| 231 | bool time_adapt=false;
|
---|
| 232 | int solution_type;
|
---|
| 233 | int output_frequency;
|
---|
| 234 | @@ -42,7 +42,6 @@
|
---|
| 235 | femmodel->parameters->FindParam(&finaltime,TimesteppingFinalTimeEnum);
|
---|
| 236 | femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
|
---|
| 237 | femmodel->parameters->FindParam(&yts,ConstantsYtsEnum);
|
---|
| 238 | - femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
|
---|
| 239 | femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
|
---|
| 240 | femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
|
---|
| 241 | femmodel->parameters->FindParam(&output_frequency,SettingsOutputFrequencyEnum);
|
---|
| 242 | @@ -86,8 +85,14 @@
|
---|
| 243 | step+=1;
|
---|
| 244 | time+=dt;
|
---|
| 245 | femmodel->parameters->SetParam(time,TimeEnum);
|
---|
| 246 | + femmodel->parameters->SetParam(step,StepEnum);
|
---|
| 247 |
|
---|
| 248 | _printf_(VerboseSolution(),"iteration %i/%g time [yr]: %-7.3g (time step: %.2g)\n",step,floor((finaltime-time)/dt)+step,time/yts,dt/yts);
|
---|
| 249 | + if(step%output_frequency==0 || time==finaltime)
|
---|
| 250 | + save_results=true;
|
---|
| 251 | + else
|
---|
| 252 | + save_results=false;
|
---|
| 253 | + femmodel->parameters->SetParam(save_results,SaveResultsEnum);
|
---|
| 254 |
|
---|
| 255 | if(isthermal && dim==3){
|
---|
| 256 | _printf_(VerboseSolution()," computing temperatures:\n");
|
---|
| 257 | @@ -128,29 +133,17 @@
|
---|
| 258 | #endif
|
---|
| 259 | }
|
---|
| 260 |
|
---|
| 261 | - //save should be done by the analysis... see control_core
|
---|
| 262 | - if(solution_type==TransientSolutionEnum && !control_analysis && (step%output_frequency==0 || time==finaltime)){
|
---|
| 263 | - _printf_(VerboseSolution()," saving results\n");
|
---|
| 264 | - InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VzMeshEnum,step,time);
|
---|
| 265 | - InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum,step,time);
|
---|
| 266 | - InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum,step,time);
|
---|
| 267 | - if(dim==3) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VzEnum,step,time);
|
---|
| 268 | - if(isdiagnostic)InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VelEnum,step,time);
|
---|
| 269 | - if(isdiagnostic)InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,PressureEnum,step,time);
|
---|
| 270 | - InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum,step,time);
|
---|
| 271 | - InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceEnum,step,time);
|
---|
| 272 | - InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedEnum,step,time);
|
---|
| 273 | - if(dim==3 && isthermal) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum,step,time);
|
---|
| 274 | - if(isenthalpy) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WaterfractionEnum,step,time);
|
---|
| 275 | - if(isenthalpy) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum,step,time);
|
---|
| 276 | - if(!isenthalpy) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum,step,time);
|
---|
| 277 | - InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceforcingsMassBalanceEnum,step,time);
|
---|
| 278 | - InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,MaskElementonfloatingiceEnum,step,time);
|
---|
| 279 | - RequestedOutputsx(femmodel->results,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,requested_outputs,numoutputs,step,time);
|
---|
| 280 | + /*unload results*/
|
---|
| 281 | + if(save_results){
|
---|
| 282 | + _printf_(VerboseSolution()," saving transient results\n");
|
---|
| 283 | + InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceEnum);
|
---|
| 284 | + InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedEnum);
|
---|
| 285 | + InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceforcingsMassBalanceEnum);
|
---|
| 286 | + InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,MaskElementonfloatingiceEnum);
|
---|
| 287 | + RequestedOutputsx(femmodel->results,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,requested_outputs,numoutputs);
|
---|
| 288 |
|
---|
| 289 | - /*unload results*/
|
---|
| 290 | _printf_(VerboseSolution()," saving temporary results\n");
|
---|
| 291 | - OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results);
|
---|
| 292 | + OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
|
---|
| 293 | }
|
---|
| 294 | }
|
---|
| 295 |
|
---|
| 296 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/adjointbalancethickness_core.cpp
|
---|
| 297 | ===================================================================
|
---|
| 298 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/adjointbalancethickness_core.cpp (revision 11826)
|
---|
| 299 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/adjointbalancethickness_core.cpp (revision 11827)
|
---|
| 300 | @@ -15,11 +15,11 @@
|
---|
| 301 | void adjointbalancethickness_core(FemModel* femmodel){
|
---|
| 302 |
|
---|
| 303 | /*parameters: */
|
---|
| 304 | - bool control_analysis;
|
---|
| 305 | + bool save_results;
|
---|
| 306 | int solution_type;
|
---|
| 307 |
|
---|
| 308 | /*retrieve parameters:*/
|
---|
| 309 | - femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
|
---|
| 310 | + femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
|
---|
| 311 | femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
|
---|
| 312 |
|
---|
| 313 | /*compute thickness */
|
---|
| 314 | @@ -36,7 +36,7 @@
|
---|
| 315 | solver_adjoint_linear(femmodel);
|
---|
| 316 |
|
---|
| 317 | /*Save results*/
|
---|
| 318 | - if(solution_type==AdjointSolutionEnum && !control_analysis){
|
---|
| 319 | + if(save_results){
|
---|
| 320 | _printf_(VerboseSolution()," saving results\n");
|
---|
| 321 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointEnum);
|
---|
| 322 | }
|
---|
| 323 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controlrestart.cpp
|
---|
| 324 | ===================================================================
|
---|
| 325 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controlrestart.cpp (revision 11826)
|
---|
| 326 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controlrestart.cpp (revision 11827)
|
---|
| 327 | @@ -28,7 +28,7 @@
|
---|
| 328 | //femmodel->results->AddObject(new StringExternalResult(femmodel->results->Size()+1,InversionControlParametersEnum,EnumToStringx(control_type),1,0));
|
---|
| 329 |
|
---|
| 330 | /*write to disk: */
|
---|
| 331 | - OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results);
|
---|
| 332 | + OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
|
---|
| 333 | }
|
---|
| 334 |
|
---|
| 335 | /*Clean up and return*/
|
---|
| 336 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/control_core.cpp
|
---|
| 337 | ===================================================================
|
---|
| 338 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/control_core.cpp (revision 11826)
|
---|
| 339 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/control_core.cpp (revision 11827)
|
---|
| 340 | @@ -58,6 +58,7 @@
|
---|
| 341 | femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
|
---|
| 342 | femmodel->parameters->FindParam(&isstokes,FlowequationIsstokesEnum);
|
---|
| 343 | femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
|
---|
| 344 | + femmodel->parameters->SetParam(false,SaveResultsEnum);
|
---|
| 345 |
|
---|
| 346 | /*out of solution_type, figure out solution core and adjoint function pointer*/
|
---|
| 347 | CorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type);
|
---|
| 348 | @@ -65,7 +66,7 @@
|
---|
| 349 |
|
---|
| 350 | /*Launch once a complete solution to set up all inputs*/
|
---|
| 351 | _printf_(VerboseControl(),"%s\n"," preparing initial solution");
|
---|
| 352 | - if (isstokes) solutioncore(femmodel);
|
---|
| 353 | + if(isstokes) solutioncore(femmodel);
|
---|
| 354 |
|
---|
| 355 | /*Initialize responses: */
|
---|
| 356 | J=(double*)xmalloc(nsteps*sizeof(double));
|
---|
| 357 | @@ -107,7 +108,7 @@
|
---|
| 358 | }
|
---|
| 359 |
|
---|
| 360 | _printf_(VerboseControl(),"%s\n"," preparing final solution");
|
---|
| 361 | - femmodel->parameters->SetParam(false,InversionIscontrolEnum); //needed to turn control result output in solutioncore
|
---|
| 362 | + femmodel->parameters->SetParam(true,SaveResultsEnum);
|
---|
| 363 | solutioncore(femmodel);
|
---|
| 364 |
|
---|
| 365 | /*some results not computed by steadystate_core or diagnostic_core: */
|
---|
| 366 | @@ -124,7 +125,4 @@
|
---|
| 367 | xfree((void**)&maxiter);
|
---|
| 368 | xfree((void**)&cm_jump);
|
---|
| 369 | xfree((void**)&J);
|
---|
| 370 | -
|
---|
| 371 | - /*control_core might be used in Qmu, so leave everything similar to where it started: */
|
---|
| 372 | - femmodel->parameters->SetParam(true,InversionIscontrolEnum);
|
---|
| 373 | }
|
---|
| 374 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/hydrology_core.cpp
|
---|
| 375 | ===================================================================
|
---|
| 376 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/hydrology_core.cpp (revision 11826)
|
---|
| 377 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/hydrology_core.cpp (revision 11827)
|
---|
| 378 | @@ -20,7 +20,7 @@
|
---|
| 379 | int nsteps;
|
---|
| 380 | double starttime,final_time;
|
---|
| 381 | double dt;
|
---|
| 382 | - bool control_analysis;
|
---|
| 383 | + bool save_results;
|
---|
| 384 | int solution_type;
|
---|
| 385 | int output_frequency;
|
---|
| 386 |
|
---|
| 387 | @@ -28,7 +28,7 @@
|
---|
| 388 | femmodel->parameters->FindParam(&starttime,TimesteppingStartTimeEnum);
|
---|
| 389 | femmodel->parameters->FindParam(&final_time,TimesteppingFinalTimeEnum);
|
---|
| 390 | femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
|
---|
| 391 | - femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
|
---|
| 392 | + femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
|
---|
| 393 | femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
|
---|
| 394 | femmodel->parameters->FindParam(&output_frequency,SettingsOutputFrequencyEnum);
|
---|
| 395 | /*first compute slopes: */
|
---|
| 396 | @@ -53,19 +53,16 @@
|
---|
| 397 | /*call hydrology_core step: */
|
---|
| 398 | hydrology_core_step(femmodel,i,time);
|
---|
| 399 |
|
---|
| 400 | - if(solution_type==HydrologySolutionEnum && !control_analysis && ((i+1)%output_frequency==0 || (i+1)==nsteps)){
|
---|
| 401 | -
|
---|
| 402 | + if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){
|
---|
| 403 | _printf_(VerboseSolution()," saving results \n");
|
---|
| 404 | - InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum,i+1,time);
|
---|
| 405 | - InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVxEnum,i+1,time);
|
---|
| 406 | - InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVyEnum,i+1,time);
|
---|
| 407 | + //InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum,i+1,time);
|
---|
| 408 | + //InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVxEnum,i+1,time);
|
---|
| 409 | + //InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVyEnum,i+1,time);
|
---|
| 410 |
|
---|
| 411 | /*unload results*/
|
---|
| 412 | _printf_(VerboseSolution()," saving temporary results\n");
|
---|
| 413 | - OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,&femmodel->results);
|
---|
| 414 | -
|
---|
| 415 | + OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results);
|
---|
| 416 | }
|
---|
| 417 | -
|
---|
| 418 | }
|
---|
| 419 | }
|
---|
| 420 |
|
---|
| 421 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/diagnostic_core.cpp
|
---|
| 422 | ===================================================================
|
---|
| 423 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/diagnostic_core.cpp (revision 11826)
|
---|
| 424 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/diagnostic_core.cpp (revision 11827)
|
---|
| 425 | @@ -23,7 +23,7 @@
|
---|
| 426 | bool isnewton = false;
|
---|
| 427 | bool conserve_loads = true;
|
---|
| 428 | bool modify_loads = true;
|
---|
| 429 | - bool control_analysis;
|
---|
| 430 | + bool save_results;
|
---|
| 431 | int solution_type;
|
---|
| 432 | int numoutputs = 0;
|
---|
| 433 | int *requested_outputs = NULL;
|
---|
| 434 | @@ -35,7 +35,7 @@
|
---|
| 435 | femmodel->parameters->FindParam(&isstokes,FlowequationIsstokesEnum);
|
---|
| 436 | femmodel->parameters->FindParam(&isnewton,DiagnosticIsnewtonEnum);
|
---|
| 437 | femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
|
---|
| 438 | - femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
|
---|
| 439 | + femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
|
---|
| 440 | femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
|
---|
| 441 | femmodel->parameters->FindParam(&numoutputs,DiagnosticNumRequestedOutputsEnum);
|
---|
| 442 | if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,DiagnosticRequestedOutputsEnum);
|
---|
| 443 | @@ -93,7 +93,7 @@
|
---|
| 444 | }
|
---|
| 445 |
|
---|
| 446 |
|
---|
| 447 | - if(solution_type==DiagnosticSolutionEnum && !control_analysis){
|
---|
| 448 | + if(save_results){
|
---|
| 449 | _printf_(VerboseSolution()," saving results\n");
|
---|
| 450 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum);
|
---|
| 451 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum);
|
---|
| 452 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controltao_core.cpp
|
---|
| 453 | ===================================================================
|
---|
| 454 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controltao_core.cpp (revision 11826)
|
---|
| 455 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/controltao_core.cpp (revision 11827)
|
---|
| 456 | @@ -48,6 +48,7 @@
|
---|
| 457 | femmodel->parameters->FindParam(&control_list,NULL,InversionControlParametersEnum);
|
---|
| 458 | femmodel->parameters->FindParam(&nsteps,InversionNstepsEnum);
|
---|
| 459 | femmodel->parameters->FindParam(&dummy,NULL,NULL,InversionMaxiterPerStepEnum);
|
---|
| 460 | + femmodel->parameters->SetParam(false,SaveResultsEnum);
|
---|
| 461 | maxiter=nsteps*(int)dummy[0]; xfree((void**)&dummy);
|
---|
| 462 |
|
---|
| 463 | /*Initialize TAO*/
|
---|
| 464 | @@ -87,7 +88,7 @@
|
---|
| 465 |
|
---|
| 466 | /*Finalize*/
|
---|
| 467 | _printf_(VerboseControl(),"%s\n"," preparing final solution");
|
---|
| 468 | - femmodel->parameters->SetParam(false,InversionIscontrolEnum); //needed to turn control result output in solutioncore
|
---|
| 469 | + femmodel->parameters->SetParam(true,SaveResultsEnum);
|
---|
| 470 | void (*solutioncore)(FemModel*)=NULL;
|
---|
| 471 | CorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type);
|
---|
| 472 | solutioncore(femmodel);
|
---|
| 473 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/enthalpy_core.cpp
|
---|
| 474 | ===================================================================
|
---|
| 475 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/enthalpy_core.cpp (revision 11826)
|
---|
| 476 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/solutions/enthalpy_core.cpp (revision 11827)
|
---|
| 477 | @@ -14,24 +14,21 @@
|
---|
| 478 |
|
---|
| 479 | void enthalpy_core(FemModel* femmodel){
|
---|
| 480 |
|
---|
| 481 | - int i;
|
---|
| 482 | -
|
---|
| 483 | /*intermediary*/
|
---|
| 484 | - bool control_analysis;
|
---|
| 485 | + bool save_results;
|
---|
| 486 | int solution_type;
|
---|
| 487 |
|
---|
| 488 | //first recover parameters common to all solutions
|
---|
| 489 | - femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
|
---|
| 490 | + femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
|
---|
| 491 | femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
|
---|
| 492 |
|
---|
| 493 | /*call enthalpy_core_step: */
|
---|
| 494 | enthalpy_core_step(femmodel);
|
---|
| 495 |
|
---|
| 496 | - if(solution_type==EnthalpySolutionEnum && !control_analysis){
|
---|
| 497 | + if(save_results){
|
---|
| 498 | _printf_(VerboseSolution()," saving results\n");
|
---|
| 499 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum);
|
---|
| 500 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum);
|
---|
| 501 | InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WaterfractionEnum);
|
---|
| 502 | }
|
---|
| 503 | -
|
---|
| 504 | }
|
---|
| 505 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h
|
---|
| 506 | ===================================================================
|
---|
| 507 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h (revision 11826)
|
---|
| 508 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h (revision 11827)
|
---|
| 509 | @@ -384,6 +384,7 @@
|
---|
| 510 | P1DGEnum,
|
---|
| 511 | /*}}}*/
|
---|
| 512 | /*Results{{{1*/
|
---|
| 513 | + SaveResultsEnum,
|
---|
| 514 | BoolElementResultEnum,
|
---|
| 515 | BoolExternalResultEnum,
|
---|
| 516 | DoubleElementResultEnum,
|
---|
| 517 | @@ -398,6 +399,7 @@
|
---|
| 518 | PentaP1ElementResultEnum,
|
---|
| 519 | PetscVecExternalResultEnum,
|
---|
| 520 | StringExternalResultEnum,
|
---|
| 521 | + StepEnum,
|
---|
| 522 | TimeEnum,
|
---|
| 523 | TriaP1ElementResultEnum,
|
---|
| 524 | WaterColumnOldEnum,
|
---|
| 525 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/io/Matlab/FetchMatlabData.cpp
|
---|
| 526 | ===================================================================
|
---|
| 527 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/io/Matlab/FetchMatlabData.cpp (revision 11826)
|
---|
| 528 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/io/Matlab/FetchMatlabData.cpp (revision 11827)
|
---|
| 529 | @@ -602,12 +602,11 @@
|
---|
| 530 | /*Check type of field: */
|
---|
| 531 | if (mxIsClass(pfield,"double")){
|
---|
| 532 |
|
---|
| 533 | - /*could be DOUBLE, DOUBLEVEC or DOUBLEMAT, depends on dimensions: */
|
---|
| 534 | M=mxGetM(pfield);
|
---|
| 535 | N=mxGetN(pfield);
|
---|
| 536 |
|
---|
| 537 | if (M==0 | N==0){
|
---|
| 538 | - _error_("%s%i (%s) %s%i%s%i%s","array in parameters structure field ",count,name," is of size (",M,",",N,")");
|
---|
| 539 | + _error_("array in parameters structure field %s is of size 0",name);
|
---|
| 540 | }
|
---|
| 541 | if (M==1 && N==1){
|
---|
| 542 | /*we have a simple scalar: */
|
---|
| 543 | @@ -642,6 +641,24 @@
|
---|
| 544 | }
|
---|
| 545 |
|
---|
| 546 | }
|
---|
| 547 | + else if (mxIsClass(pfield,"logical")){
|
---|
| 548 | +
|
---|
| 549 | + M=mxGetM(pfield);
|
---|
| 550 | + N=mxGetN(pfield);
|
---|
| 551 | +
|
---|
| 552 | + if (M==0 | N==0){
|
---|
| 553 | + _error_("array in parameters structure field %s is of size 0",name);
|
---|
| 554 | + }
|
---|
| 555 | + if (M==1 && N==1){
|
---|
| 556 | + /*we have a simple bool: */
|
---|
| 557 | + param= new BoolParam(enum_type,*mxGetLogicals(pfield));
|
---|
| 558 | + parameters->AddObject(param);
|
---|
| 559 | +
|
---|
| 560 | + }
|
---|
| 561 | + else{
|
---|
| 562 | + _error_("Matrices of Booleans not supported yet in parameters");
|
---|
| 563 | + }
|
---|
| 564 | + }
|
---|
| 565 | else if (mxIsClass(pfield,"char")){
|
---|
| 566 | /* we have a string parameter:*/
|
---|
| 567 |
|
---|
| 568 | @@ -717,12 +734,11 @@
|
---|
| 569 | xfree((void**)&ndims_array);
|
---|
| 570 | }
|
---|
| 571 | }
|
---|
| 572 | - else _error_("%s%i","unknow type in parameters structure field ",i);
|
---|
| 573 | + else _error_("Parameters structure field %s has a format that is not supported: %s",name,mxGetClassName(pfield));
|
---|
| 574 | }
|
---|
| 575 |
|
---|
| 576 | /*Assign output pointers:*/
|
---|
| 577 | *pparameters=parameters;
|
---|
| 578 | -
|
---|
| 579 | }
|
---|
| 580 | /*}}}*/
|
---|
| 581 | #endif
|
---|
| 582 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp
|
---|
| 583 | ===================================================================
|
---|
| 584 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp (revision 11826)
|
---|
| 585 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp (revision 11827)
|
---|
| 586 | @@ -377,15 +377,16 @@
|
---|
| 587 | else if (strcmp(name,"P0")==0) return P0Enum;
|
---|
| 588 | else if (strcmp(name,"P1")==0) return P1Enum;
|
---|
| 589 | else if (strcmp(name,"P1DG")==0) return P1DGEnum;
|
---|
| 590 | + else if (strcmp(name,"SaveResults")==0) return SaveResultsEnum;
|
---|
| 591 | else if (strcmp(name,"BoolElementResult")==0) return BoolElementResultEnum;
|
---|
| 592 | else if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
|
---|
| 593 | else if (strcmp(name,"DoubleElementResult")==0) return DoubleElementResultEnum;
|
---|
| 594 | else if (strcmp(name,"DoubleExternalResult")==0) return DoubleExternalResultEnum;
|
---|
| 595 | - else if (strcmp(name,"DoubleMatExternalResult")==0) return DoubleMatExternalResultEnum;
|
---|
| 596 | else stage=4;
|
---|
| 597 | }
|
---|
| 598 | if(stage==4){
|
---|
| 599 | - if (strcmp(name,"DoubleVecExternalResult")==0) return DoubleVecExternalResultEnum;
|
---|
| 600 | + if (strcmp(name,"DoubleMatExternalResult")==0) return DoubleMatExternalResultEnum;
|
---|
| 601 | + else if (strcmp(name,"DoubleVecExternalResult")==0) return DoubleVecExternalResultEnum;
|
---|
| 602 | else if (strcmp(name,"IntExternalResult")==0) return IntExternalResultEnum;
|
---|
| 603 | else if (strcmp(name,"J")==0) return JEnum;
|
---|
| 604 | else if (strcmp(name,"Patch")==0) return PatchEnum;
|
---|
| 605 | @@ -394,6 +395,7 @@
|
---|
| 606 | else if (strcmp(name,"PentaP1ElementResult")==0) return PentaP1ElementResultEnum;
|
---|
| 607 | else if (strcmp(name,"PetscVecExternalResult")==0) return PetscVecExternalResultEnum;
|
---|
| 608 | else if (strcmp(name,"StringExternalResult")==0) return StringExternalResultEnum;
|
---|
| 609 | + else if (strcmp(name,"Step")==0) return StepEnum;
|
---|
| 610 | else if (strcmp(name,"Time")==0) return TimeEnum;
|
---|
| 611 | else if (strcmp(name,"TriaP1ElementResult")==0) return TriaP1ElementResultEnum;
|
---|
| 612 | else if (strcmp(name,"WaterColumnOld")==0) return WaterColumnOldEnum;
|
---|
| 613 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp
|
---|
| 614 | ===================================================================
|
---|
| 615 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp (revision 11826)
|
---|
| 616 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp (revision 11827)
|
---|
| 617 | @@ -370,6 +370,7 @@
|
---|
| 618 | case P0Enum : return "P0";
|
---|
| 619 | case P1Enum : return "P1";
|
---|
| 620 | case P1DGEnum : return "P1DG";
|
---|
| 621 | + case SaveResultsEnum : return "SaveResults";
|
---|
| 622 | case BoolElementResultEnum : return "BoolElementResult";
|
---|
| 623 | case BoolExternalResultEnum : return "BoolExternalResult";
|
---|
| 624 | case DoubleElementResultEnum : return "DoubleElementResult";
|
---|
| 625 | @@ -384,6 +385,7 @@
|
---|
| 626 | case PentaP1ElementResultEnum : return "PentaP1ElementResult";
|
---|
| 627 | case PetscVecExternalResultEnum : return "PetscVecExternalResult";
|
---|
| 628 | case StringExternalResultEnum : return "StringExternalResult";
|
---|
| 629 | + case StepEnum : return "Step";
|
---|
| 630 | case TimeEnum : return "Time";
|
---|
| 631 | case TriaP1ElementResultEnum : return "TriaP1ElementResult";
|
---|
| 632 | case WaterColumnOldEnum : return "WaterColumnOld";
|
---|
| 633 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.h
|
---|
| 634 | ===================================================================
|
---|
| 635 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.h (revision 11826)
|
---|
| 636 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.h (revision 11827)
|
---|
| 637 | @@ -15,9 +15,9 @@
|
---|
| 638 |
|
---|
| 639 | #ifdef _SERIAL_
|
---|
| 640 | #include <mex.h>
|
---|
| 641 | -void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, Results** presults);
|
---|
| 642 | +void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, Results* results);
|
---|
| 643 | #else
|
---|
| 644 | -void OutputResultsx(Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, Results** presults);
|
---|
| 645 | +void OutputResultsx(Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, Results* results);
|
---|
| 646 | #endif
|
---|
| 647 |
|
---|
| 648 | #endif /* _OUTPUTRESULTS_H */
|
---|
| 649 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.cpp
|
---|
| 650 | ===================================================================
|
---|
| 651 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.cpp (revision 11826)
|
---|
| 652 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.cpp (revision 11827)
|
---|
| 653 | @@ -16,9 +16,9 @@
|
---|
| 654 | #include "../../objects/objects.h"
|
---|
| 655 |
|
---|
| 656 | #ifdef _SERIAL_
|
---|
| 657 | -void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Results** presults){
|
---|
| 658 | +void OutputResultsx(mxArray** pdataref, Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Results* results){
|
---|
| 659 | #else
|
---|
| 660 | -void OutputResultsx( Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Results** presults){
|
---|
| 661 | +void OutputResultsx( Elements* elements, Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Results* results){
|
---|
| 662 | #endif
|
---|
| 663 |
|
---|
| 664 | extern int my_rank;
|
---|
| 665 | @@ -28,7 +28,6 @@
|
---|
| 666 | bool io_gather;
|
---|
| 667 | int solutiontype;
|
---|
| 668 | char* solutiontypestring = NULL;
|
---|
| 669 | - Results *results = NULL;
|
---|
| 670 | bool dakota_analysis = false;
|
---|
| 671 |
|
---|
| 672 | #ifdef _SERIAL_
|
---|
| 673 | @@ -38,9 +37,6 @@
|
---|
| 674 | int nfields=0;
|
---|
| 675 | #endif
|
---|
| 676 |
|
---|
| 677 | - /*recover results dataset: */
|
---|
| 678 | - results=*presults;
|
---|
| 679 | -
|
---|
| 680 | /*retrieve parameters: */
|
---|
| 681 | parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
|
---|
| 682 |
|
---|
| 683 | @@ -114,7 +110,4 @@
|
---|
| 684 | }
|
---|
| 685 | */
|
---|
| 686 | #endif
|
---|
| 687 | -
|
---|
| 688 | - /*Assign output pointers:*/
|
---|
| 689 | - *presults=results;
|
---|
| 690 | }
|
---|
| 691 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
|
---|
| 692 | ===================================================================
|
---|
| 693 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp (revision 11826)
|
---|
| 694 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp (revision 11827)
|
---|
| 695 | @@ -92,9 +92,13 @@
|
---|
| 696 | parameters->AddObject(new IntParam(SolutionTypeEnum,solution_type));
|
---|
| 697 | parameters->AddObject(new IntParam(AnalysisTypeEnum,analysis_type));
|
---|
| 698 | parameters->AddObject(new IntParam(AnalysisCounterEnum,analysis_counter));
|
---|
| 699 | - parameters->AddObject(new DoubleParam(TimeEnum,0.0)); //start at time 0 by default for all solutions
|
---|
| 700 | + parameters->AddObject(new DoubleParam(TimeEnum,0.0)); //start at time 0 by default for all solutions FIXME: to be deleted
|
---|
| 701 | + parameters->AddObject(new IntParam(StepEnum,1)); //start at time 0 by default for all solutions FIXME: to be deleted
|
---|
| 702 |
|
---|
| 703 | - /*Requested output?*/
|
---|
| 704 | + /*By default, save all results*/
|
---|
| 705 | + parameters->AddObject(new BoolParam(SaveResultsEnum,true));
|
---|
| 706 | +
|
---|
| 707 | + /*Requested outputs*/
|
---|
| 708 | iomodel->FetchData(&requestedoutputs,&numoutputs,NULL,DiagnosticRequestedOutputsEnum);
|
---|
| 709 | parameters->AddObject(new IntParam(DiagnosticNumRequestedOutputsEnum,numoutputs));
|
---|
| 710 | if(numoutputs)parameters->AddObject(new IntVecParam(DiagnosticRequestedOutputsEnum,requestedoutputs,numoutputs));
|
---|
| 711 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/InputToResultx/InputToResultx.h
|
---|
| 712 | ===================================================================
|
---|
| 713 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/InputToResultx/InputToResultx.h (revision 11826)
|
---|
| 714 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/InputToResultx/InputToResultx.h (revision 11827)
|
---|
| 715 | @@ -8,7 +8,6 @@
|
---|
| 716 | #include "../../Container/Container.h"
|
---|
| 717 |
|
---|
| 718 | /* local prototypes: */
|
---|
| 719 | -void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters,int enum_type,int step=1, double time=0);
|
---|
| 720 | +void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters,int enum_type);
|
---|
| 721 |
|
---|
| 722 | #endif /* _INPUTTORESULTX_H */
|
---|
| 723 | -
|
---|
| 724 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/InputToResultx/InputToResultx.cpp
|
---|
| 725 | ===================================================================
|
---|
| 726 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/InputToResultx/InputToResultx.cpp (revision 11826)
|
---|
| 727 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/InputToResultx/InputToResultx.cpp (revision 11827)
|
---|
| 728 | @@ -8,14 +8,19 @@
|
---|
| 729 | #include "../../toolkits/toolkits.h"
|
---|
| 730 | #include "../../EnumDefinitions/EnumDefinitions.h"
|
---|
| 731 |
|
---|
| 732 | -void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters,int enum_type,int step, double time){
|
---|
| 733 | +void InputToResultx(Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters,int enum_type){
|
---|
| 734 |
|
---|
| 735 | /*intermediary:*/
|
---|
| 736 | - int i;
|
---|
| 737 | + int step;
|
---|
| 738 | + double time;
|
---|
| 739 | Element *element = NULL;
|
---|
| 740 |
|
---|
| 741 | + /*Get time and step*/
|
---|
| 742 | + parameters->FindParam(&step,StepEnum);
|
---|
| 743 | + parameters->FindParam(&time,TimeEnum);
|
---|
| 744 | +
|
---|
| 745 | /*Go through elemnets, and ask each element to transfer the enum_type input into the results dataset, with step and time information: */
|
---|
| 746 | - for(i=0;i<elements->Size();i++){
|
---|
| 747 | + for(int i=0;i<elements->Size();i++){
|
---|
| 748 |
|
---|
| 749 | element=(Element*)elements->GetObjectByOffset(i);
|
---|
| 750 | element->InputToResult(enum_type,step,time);
|
---|
| 751 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/RequestedOutputsx/RequestedOutputsx.h
|
---|
| 752 | ===================================================================
|
---|
| 753 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/RequestedOutputsx/RequestedOutputsx.h (revision 11826)
|
---|
| 754 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/RequestedOutputsx/RequestedOutputsx.h (revision 11827)
|
---|
| 755 | @@ -8,7 +8,7 @@
|
---|
| 756 | #include "../../Container/Container.h"
|
---|
| 757 |
|
---|
| 758 | /* local prototypes: */
|
---|
| 759 | -void RequestedOutputsx(Results* results,Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters, int* requested_outputs, int numoutputs, int step=1, double time=0);
|
---|
| 760 | +void RequestedOutputsx(Results* results,Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters, int* requested_outputs, int numoutputs);
|
---|
| 761 |
|
---|
| 762 | #endif /* _INPUTTORESULTX_H */
|
---|
| 763 |
|
---|
| 764 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/RequestedOutputsx/RequestedOutputsx.cpp
|
---|
| 765 | ===================================================================
|
---|
| 766 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/RequestedOutputsx/RequestedOutputsx.cpp (revision 11826)
|
---|
| 767 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/c/modules/RequestedOutputsx/RequestedOutputsx.cpp (revision 11827)
|
---|
| 768 | @@ -8,16 +8,21 @@
|
---|
| 769 | #include "../../toolkits/toolkits.h"
|
---|
| 770 | #include "../../EnumDefinitions/EnumDefinitions.h"
|
---|
| 771 |
|
---|
| 772 | -void RequestedOutputsx(Results* results,Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters, int* requested_outputs, int numoutputs, int step, double time){
|
---|
| 773 | +void RequestedOutputsx(Results* results,Elements* elements,Nodes* nodes,Vertices* vertices,Loads* loads,Materials* materials,Parameters* parameters, int* requested_outputs, int numoutputs){
|
---|
| 774 |
|
---|
| 775 | - int i,j;
|
---|
| 776 | - int output_enum;
|
---|
| 777 | - double output_value;
|
---|
| 778 | - Element* element=NULL;
|
---|
| 779 | + int output_enum;
|
---|
| 780 | + int step;
|
---|
| 781 | + double time;
|
---|
| 782 | + double output_value;
|
---|
| 783 | + Element *element = NULL;
|
---|
| 784 |
|
---|
| 785 | - /*retrieve parameters: */
|
---|
| 786 | + /*Get time and step*/
|
---|
| 787 | + parameters->FindParam(&step,StepEnum);
|
---|
| 788 | + parameters->FindParam(&time,TimeEnum);
|
---|
| 789 | +
|
---|
| 790 | + /*retrieve Inputs*/
|
---|
| 791 | if(numoutputs){
|
---|
| 792 | - for(i=0;i<numoutputs;i++){
|
---|
| 793 | + for(int i=0;i<numoutputs;i++){
|
---|
| 794 | output_enum=requested_outputs[i];
|
---|
| 795 |
|
---|
| 796 | switch(output_enum){
|
---|
| 797 | @@ -28,7 +33,7 @@
|
---|
| 798 | break;
|
---|
| 799 | default:
|
---|
| 800 | /*create this output in the element inputs, and then transfer to results:*/
|
---|
| 801 | - for(j=0;j<elements->Size();j++){
|
---|
| 802 | + for(int j=0;j<elements->Size();j++){
|
---|
| 803 | element=(Element*)elements->GetObjectByOffset(j);
|
---|
| 804 | element->RequestedOutput(output_enum,step,time);
|
---|
| 805 | }
|
---|
| 806 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/InputToResult/InputToResult.cpp
|
---|
| 807 | ===================================================================
|
---|
| 808 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/InputToResult/InputToResult.cpp (revision 11826)
|
---|
| 809 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/InputToResult/InputToResult.cpp (revision 11827)
|
---|
| 810 | @@ -41,19 +41,9 @@
|
---|
| 811 | nodes-> Configure(elements,loads, nodes,vertices, materials,parameters);
|
---|
| 812 | loads-> Configure(elements, loads, nodes,vertices, materials,parameters);
|
---|
| 813 |
|
---|
| 814 | - if(nrhs==9){
|
---|
| 815 | - FetchMatlabData(&step,STEP);
|
---|
| 816 | - FetchMatlabData(&time,TIME);
|
---|
| 817 | + /*Call core code: */
|
---|
| 818 | + InputToResultx( elements, nodes, vertices, loads, materials,parameters,enum_type);
|
---|
| 819 |
|
---|
| 820 | - /*!Call core code: */
|
---|
| 821 | - InputToResultx( elements, nodes, vertices, loads, materials,parameters,enum_type, step,time);
|
---|
| 822 | - }
|
---|
| 823 | - else{
|
---|
| 824 | -
|
---|
| 825 | - /*!Call core code: */
|
---|
| 826 | - InputToResultx( elements, nodes, vertices, loads, materials,parameters,enum_type);
|
---|
| 827 | - }
|
---|
| 828 | -
|
---|
| 829 | /*write output : */
|
---|
| 830 | WriteMatlabData(ELEMENTSOUT,elements);
|
---|
| 831 |
|
---|
| 832 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/OutputResults/OutputResults.cpp
|
---|
| 833 | ===================================================================
|
---|
| 834 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/OutputResults/OutputResults.cpp (revision 11826)
|
---|
| 835 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/mex/OutputResults/OutputResults.cpp (revision 11827)
|
---|
| 836 | @@ -42,7 +42,7 @@
|
---|
| 837 | loads-> Configure(elements, loads, nodes,vertices, materials,parameters);
|
---|
| 838 |
|
---|
| 839 | /*Call "x" code layer: */
|
---|
| 840 | - OutputResultsx(&dataref, elements,nodes,vertices,loads,materials,parameters,&results);
|
---|
| 841 | + OutputResultsx(&dataref, elements,nodes,vertices,loads,materials,parameters,results);
|
---|
| 842 |
|
---|
| 843 | /*write output datasets: */
|
---|
| 844 | plhs[0]=dataref;
|
---|
| 845 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/enthalpy_core.m
|
---|
| 846 | ===================================================================
|
---|
| 847 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/enthalpy_core.m (revision 11826)
|
---|
| 848 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/enthalpy_core.m (revision 11827)
|
---|
| 849 | @@ -5,13 +5,13 @@
|
---|
| 850 | % femmodel=enthalpy_core(femmodel)
|
---|
| 851 |
|
---|
| 852 | %recover parameters common to all solutions
|
---|
| 853 | - control_analysis=femmodel.parameters.InversionIscontrol;
|
---|
| 854 | + save_results=femmodel.parameters.SaveResults;
|
---|
| 855 | solution_type=femmodel.parameters.SolutionType;
|
---|
| 856 |
|
---|
| 857 | issmprintf(VerboseSolution,'\n%s',[' computing enthalpy']);
|
---|
| 858 | femmodel=enthalpy_core_step(femmodel);
|
---|
| 859 |
|
---|
| 860 | - if (solution_type==EnthalpySolutionEnum & ~control_analysis),
|
---|
| 861 | + if (save_results),
|
---|
| 862 | issmprintf(VerboseSolution,'\n%s',[' saving results']);
|
---|
| 863 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,EnthalpyEnum);
|
---|
| 864 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum);
|
---|
| 865 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/steadystate_core.m
|
---|
| 866 | ===================================================================
|
---|
| 867 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/steadystate_core.m (revision 11826)
|
---|
| 868 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/steadystate_core.m (revision 11827)
|
---|
| 869 | @@ -7,7 +7,7 @@
|
---|
| 870 |
|
---|
| 871 | %recover parameters common to all solutions
|
---|
| 872 | dim=femmodel.parameters.MeshDimension;
|
---|
| 873 | - control_analysis=femmodel.parameters.InversionIscontrol;
|
---|
| 874 | + save_results=femmodel.parameters.SaveResults;
|
---|
| 875 | solution_type=femmodel.parameters.SolutionType;
|
---|
| 876 | isenthalpy=femmodel.parameters.ThermalIsenthalpy;
|
---|
| 877 |
|
---|
| 878 | @@ -42,7 +42,7 @@
|
---|
| 879 | step=step+1;
|
---|
| 880 | end
|
---|
| 881 |
|
---|
| 882 | - if (solution_type==SteadystateSolutionEnum & ~control_analysis),
|
---|
| 883 | + if (save_results),
|
---|
| 884 | issmprintf(VerboseSolution,'\n%s',[' saving results']);
|
---|
| 885 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum);
|
---|
| 886 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum);
|
---|
| 887 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/adjointdiagnostic_core.m
|
---|
| 888 | ===================================================================
|
---|
| 889 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/adjointdiagnostic_core.m (revision 11826)
|
---|
| 890 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/adjointdiagnostic_core.m (revision 11827)
|
---|
| 891 | @@ -7,7 +7,7 @@
|
---|
| 892 | %recover parameters common to all solutions
|
---|
| 893 | isstokes=femmodel.parameters.FlowequationIsstokes;
|
---|
| 894 | dim=femmodel.parameters.MeshDimension;
|
---|
| 895 | - control_analysis=femmodel.parameters.InversionIscontrol;
|
---|
| 896 | + save_results=femmodel.parameters.SaveResults;
|
---|
| 897 | solution_type=femmodel.parameters.SolutionType;
|
---|
| 898 | conserve_loads=true;
|
---|
| 899 |
|
---|
| 900 | @@ -25,7 +25,7 @@
|
---|
| 901 | femmodel=solver_adjoint_linear(femmodel);
|
---|
| 902 |
|
---|
| 903 | %save results
|
---|
| 904 | - if(solution_type==AdjointSolutionEnum & ~control_analysis)
|
---|
| 905 | + if(save_results),
|
---|
| 906 | issmprintf(VerboseSolution,' saving results');
|
---|
| 907 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointxEnum);
|
---|
| 908 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointyEnum);
|
---|
| 909 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/bedslope_core.m
|
---|
| 910 | ===================================================================
|
---|
| 911 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/bedslope_core.m (revision 11826)
|
---|
| 912 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/bedslope_core.m (revision 11827)
|
---|
| 913 | @@ -7,7 +7,7 @@
|
---|
| 914 |
|
---|
| 915 | %Recover some parameters:
|
---|
| 916 | dim=femmodel.parameters.MeshDimension;
|
---|
| 917 | - control_analysis=femmodel.parameters.InversionIscontrol;
|
---|
| 918 | + save_results=femmodel.parameters.SaveResults;
|
---|
| 919 | solution_type=femmodel.parameters.SolutionType;
|
---|
| 920 |
|
---|
| 921 | issmprintf(VerboseSolution,' computing bed slope');
|
---|
| 922 | @@ -18,7 +18,7 @@
|
---|
| 923 | femmodel=SetCurrentConfiguration(femmodel,BedSlopeAnalysisEnum,BedSlopeYAnalysisEnum);
|
---|
| 924 | femmodel=solver_linear(femmodel);
|
---|
| 925 |
|
---|
| 926 | - if (solution_type==BedSlopeSolutionEnum & ~control_analysis),
|
---|
| 927 | + if (save_results),
|
---|
| 928 | issmprintf(VerboseSolution,' saving results');
|
---|
| 929 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BedSlopeXEnum);
|
---|
| 930 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BedSlopeYEnum);
|
---|
| 931 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/adjointbalancethickness_core.m
|
---|
| 932 | ===================================================================
|
---|
| 933 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/adjointbalancethickness_core.m (revision 11826)
|
---|
| 934 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/adjointbalancethickness_core.m (revision 11827)
|
---|
| 935 | @@ -5,7 +5,7 @@
|
---|
| 936 | % femmodel=adjointbalancethickness_core(femmodel)
|
---|
| 937 |
|
---|
| 938 | %recover parameters common to all solutions
|
---|
| 939 | - control_analysis=femmodel.parameters.InversionIscontrol;
|
---|
| 940 | + save_results=femmodel.parameters.SaveResults;
|
---|
| 941 | solution_type=femmodel.parameters.SolutionType;
|
---|
| 942 |
|
---|
| 943 | %set analysis type to compute velocity:
|
---|
| 944 | @@ -23,7 +23,7 @@
|
---|
| 945 |
|
---|
| 946 | %Save results
|
---|
| 947 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointEnum);
|
---|
| 948 | - if(solution_type==AdjointSolutionEnum & ~control_analysis)
|
---|
| 949 | + if(save_results),
|
---|
| 950 | issmprintf(VerboseSolution,' saving results');
|
---|
| 951 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,AdjointEnum);
|
---|
| 952 | end
|
---|
| 953 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/control_core.m
|
---|
| 954 | ===================================================================
|
---|
| 955 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/control_core.m (revision 11826)
|
---|
| 956 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/control_core.m (revision 11827)
|
---|
| 957 | @@ -18,6 +18,7 @@
|
---|
| 958 | gradient_only=femmodel.parameters.InversionGradientOnly;
|
---|
| 959 | dim=femmodel.parameters.MeshDimension;
|
---|
| 960 | isstokes=femmodel.parameters.FlowequationIsstokes;
|
---|
| 961 | + femmodel.parameters.SaveResults=false;
|
---|
| 962 |
|
---|
| 963 | %Initialise options with maxiter
|
---|
| 964 | options.MaxIter=femmodel.parameters.InversionMaxiterPerStep;
|
---|
| 965 | @@ -74,7 +75,7 @@
|
---|
| 966 |
|
---|
| 967 | %generate output
|
---|
| 968 | issmprintf(VerboseControl,' preparing final velocity solution');
|
---|
| 969 | - femmodel.parameters.InversionIscontrol=0;
|
---|
| 970 | + femmodel.parameters.SaveResults=true;
|
---|
| 971 | eval(['femmodel=' solutioncore '(femmodel);']);
|
---|
| 972 |
|
---|
| 973 | %Some results not computed by diagnostic or steadystate
|
---|
| 974 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/diagnostic_core.m
|
---|
| 975 | ===================================================================
|
---|
| 976 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/diagnostic_core.m (revision 11826)
|
---|
| 977 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/diagnostic_core.m (revision 11827)
|
---|
| 978 | @@ -16,7 +16,7 @@
|
---|
| 979 | isstokes=femmodel.parameters.FlowequationIsstokes;
|
---|
| 980 | isnewton=femmodel.parameters.DiagnosticIsnewton;
|
---|
| 981 | dakota_analysis=femmodel.parameters.QmuIsdakota;
|
---|
| 982 | - control_analysis=femmodel.parameters.InversionIscontrol;
|
---|
| 983 | + save_results=femmodel.parameters.SaveResults;
|
---|
| 984 | solution_type=femmodel.parameters.SolutionType;
|
---|
| 985 |
|
---|
| 986 | %for qmu analysis, be sure the velocity input we are starting from is the one in the parameters:
|
---|
| 987 | @@ -74,7 +74,7 @@
|
---|
| 988 | femmodel=solver_linear(femmodel);
|
---|
| 989 | end
|
---|
| 990 |
|
---|
| 991 | - if (solution_type==DiagnosticSolutionEnum & ~control_analysis)
|
---|
| 992 | + if (save_results),
|
---|
| 993 | issmprintf(VerboseSolution,'\n%s',[' saving results']);
|
---|
| 994 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum);
|
---|
| 995 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum);
|
---|
| 996 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/prognostic_core.m
|
---|
| 997 | ===================================================================
|
---|
| 998 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/prognostic_core.m (revision 11826)
|
---|
| 999 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/prognostic_core.m (revision 11827)
|
---|
| 1000 | @@ -5,7 +5,7 @@
|
---|
| 1001 | % femmodel=prognostic_core(femmodel)
|
---|
| 1002 |
|
---|
| 1003 | %recover parameters common to all solutions
|
---|
| 1004 | - control_analysis=femmodel.parameters.InversionIscontrol;
|
---|
| 1005 | + save_results=femmodel.parameters.SaveResults;
|
---|
| 1006 | solution_type=femmodel.parameters.SolutionType;
|
---|
| 1007 |
|
---|
| 1008 | %Activate formulation
|
---|
| 1009 | @@ -14,7 +14,7 @@
|
---|
| 1010 | issmprintf(VerboseSolution,'\n%s',[' call computational core']);
|
---|
| 1011 | femmodel=solver_linear(femmodel);
|
---|
| 1012 |
|
---|
| 1013 | - if (solution_type==PrognosticSolutionEnum & ~control_analysis)
|
---|
| 1014 | + if (save_results),
|
---|
| 1015 | issmprintf(VerboseSolution,'\n%s',[' saving results']);
|
---|
| 1016 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,ThicknessEnum);
|
---|
| 1017 | end
|
---|
| 1018 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/surfaceslope_core.m
|
---|
| 1019 | ===================================================================
|
---|
| 1020 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/surfaceslope_core.m (revision 11826)
|
---|
| 1021 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/surfaceslope_core.m (revision 11827)
|
---|
| 1022 | @@ -7,7 +7,7 @@
|
---|
| 1023 |
|
---|
| 1024 | %Recover some parameters:
|
---|
| 1025 | dim=femmodel.parameters.MeshDimension;
|
---|
| 1026 | - control_analysis=femmodel.parameters.InversionIscontrol;
|
---|
| 1027 | + save_results=femmodel.parameters.SaveResults;
|
---|
| 1028 | solution_type=femmodel.parameters.SolutionType;
|
---|
| 1029 |
|
---|
| 1030 | %Call on core computations:
|
---|
| 1031 | @@ -17,7 +17,7 @@
|
---|
| 1032 | femmodel=SetCurrentConfiguration(femmodel,SurfaceSlopeAnalysisEnum,SurfaceSlopeYAnalysisEnum);
|
---|
| 1033 | femmodel=solver_linear(femmodel);
|
---|
| 1034 |
|
---|
| 1035 | - if (solution_type==SurfaceSlopeSolutionEnum),
|
---|
| 1036 | + if (save_results),
|
---|
| 1037 | issmprintf(VerboseSolution,'\n%s',[' saving results']);
|
---|
| 1038 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceSlopeXEnum);
|
---|
| 1039 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceSlopeYEnum);
|
---|
| 1040 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/thermal_core.m
|
---|
| 1041 | ===================================================================
|
---|
| 1042 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/thermal_core.m (revision 11826)
|
---|
| 1043 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/thermal_core.m (revision 11827)
|
---|
| 1044 | @@ -6,13 +6,13 @@
|
---|
| 1045 |
|
---|
| 1046 |
|
---|
| 1047 | %recover parameters common to all solutions
|
---|
| 1048 | - control_analysis=femmodel.parameters.InversionIscontrol;
|
---|
| 1049 | + save_results=femmodel.parameters.SaveResults;
|
---|
| 1050 | solution_type=femmodel.parameters.SolutionType;
|
---|
| 1051 |
|
---|
| 1052 | issmprintf(VerboseSolution,'\n%s',[' computing temperature']);
|
---|
| 1053 | femmodel=thermal_core_step(femmodel);
|
---|
| 1054 |
|
---|
| 1055 | - if (solution_type==ThermalSolutionEnum & ~control_analysis),
|
---|
| 1056 | + if (save_results),
|
---|
| 1057 | issmprintf(VerboseSolution,'\n%s',[' saving results']);
|
---|
| 1058 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum);
|
---|
| 1059 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BasalforcingsMeltingRateEnum);
|
---|
| 1060 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/balancethickness_core.m
|
---|
| 1061 | ===================================================================
|
---|
| 1062 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/balancethickness_core.m (revision 11826)
|
---|
| 1063 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/balancethickness_core.m (revision 11827)
|
---|
| 1064 | @@ -6,7 +6,7 @@
|
---|
| 1065 |
|
---|
| 1066 | %recover parameters common to all solutions
|
---|
| 1067 | dim=femmodel.parameters.MeshDimension;
|
---|
| 1068 | - control_analysis=femmodel.parameters.InversionIscontrol;
|
---|
| 1069 | + save_results=femmodel.parameters.SaveResults;
|
---|
| 1070 | solution_type=femmodel.parameters.SolutionType;
|
---|
| 1071 |
|
---|
| 1072 | %Activate formulation
|
---|
| 1073 | @@ -15,7 +15,7 @@
|
---|
| 1074 | issmprintf(VerboseSolution,' call computational core');
|
---|
| 1075 | femmodel=solver_linear(femmodel);
|
---|
| 1076 |
|
---|
| 1077 | - if (solution_type==BalancethicknessSolutionEnum & ~control_analysis),
|
---|
| 1078 | + if (save_results),
|
---|
| 1079 | issmprintf(VerboseSolution,' saving results');
|
---|
| 1080 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,ThicknessEnum);
|
---|
| 1081 | end
|
---|
| 1082 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/transient_core.m
|
---|
| 1083 | ===================================================================
|
---|
| 1084 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/transient_core.m (revision 11826)
|
---|
| 1085 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/solutions/transient_core.m (revision 11827)
|
---|
| 1086 | @@ -10,7 +10,6 @@
|
---|
| 1087 | finaltime=femmodel.parameters.TimesteppingFinalTime;
|
---|
| 1088 | dt=femmodel.parameters.TimesteppingTimeStep;
|
---|
| 1089 | yts=femmodel.parameters.ConstantsYts;
|
---|
| 1090 | - control_analysis=femmodel.parameters.InversionIscontrol;
|
---|
| 1091 | solution_type=femmodel.parameters.SolutionType;
|
---|
| 1092 | output_frequency=femmodel.parameters.SettingsOutputFrequency;
|
---|
| 1093 | time_adapt=femmodel.parameters.TimesteppingTimeAdapt;
|
---|
| 1094 | @@ -53,8 +52,15 @@
|
---|
| 1095 | step=step+1;
|
---|
| 1096 | time=time+dt;
|
---|
| 1097 | femmodel.parameters.Time=time;
|
---|
| 1098 | + femmodel.parameters.Step=step;
|
---|
| 1099 |
|
---|
| 1100 | issmprintf(VerboseSolution,'\n%s%g%s%i%s%g\n','time [yr] ',time/yts,' iteration number: ',step,'/',floor((finaltime-starttime)/dt));
|
---|
| 1101 | + if(mod(step,output_frequency)==0 | time==ndt),
|
---|
| 1102 | + save_results=true;
|
---|
| 1103 | + else
|
---|
| 1104 | + save_results=false;
|
---|
| 1105 | + end
|
---|
| 1106 | + femmodel.parameters.SaveResults=save_results;
|
---|
| 1107 |
|
---|
| 1108 | if (isthermal & dim==3)
|
---|
| 1109 | issmprintf(VerboseSolution,'\n%s',[' computing temperature']);
|
---|
| 1110 | @@ -84,20 +90,10 @@
|
---|
| 1111 | GroundinglineMigration(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters);
|
---|
| 1112 | end
|
---|
| 1113 |
|
---|
| 1114 | - if (solution_type==TransientSolutionEnum & ~control_analysis & (mod(step,output_frequency)==0 | time==finaltime)),
|
---|
| 1115 | - issmprintf(VerboseSolution,'\n%s',[' saving results']);
|
---|
| 1116 | - femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum,step,time);
|
---|
| 1117 | - femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum,step,time);
|
---|
| 1118 | - if (dim==3), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VzEnum,step,time); end
|
---|
| 1119 | - if (isdiagnostic), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VelEnum,step,time); end
|
---|
| 1120 | - if (isdiagnostic), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,PressureEnum,step,time); end
|
---|
| 1121 | - femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,ThicknessEnum,step,time);
|
---|
| 1122 | + if (save_results),
|
---|
| 1123 | + issmprintf(VerboseSolution,'\n%s',[' saving transient results']);
|
---|
| 1124 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceEnum,step,time);
|
---|
| 1125 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BedEnum,step,time);
|
---|
| 1126 | - if (dim==3 & isthermal), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,TemperatureEnum,step,time);end
|
---|
| 1127 | - if (dim==3 & isenthalpy), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,WaterfractionEnum,step,time);end
|
---|
| 1128 | - if (dim==3 & isenthalpy), femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,EnthalpyEnum,step,time);end
|
---|
| 1129 | - femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,BasalforcingsMeltingRateEnum,step,time);
|
---|
| 1130 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,SurfaceforcingsMassBalanceEnum,step,time);
|
---|
| 1131 | femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,MaskElementonfloatingiceEnum,step,time);
|
---|
| 1132 | end
|
---|
| 1133 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plotmodel.m
|
---|
| 1134 | ===================================================================
|
---|
| 1135 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plotmodel.m (revision 11826)
|
---|
| 1136 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/model/plot/plotmodel.m (revision 11827)
|
---|
| 1137 | @@ -47,6 +47,7 @@
|
---|
| 1138 | try,
|
---|
| 1139 | for i=1:numberofplots,
|
---|
| 1140 | plot_manager(getfieldvalue(options.list{i},'model',md),options.list{i},subplotwidth,nlines,ncols,i);
|
---|
| 1141 | + cbfreeze;
|
---|
| 1142 | end
|
---|
| 1143 | catch me,
|
---|
| 1144 | %figure(figurenumber),close;
|
---|
| 1145 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/enum/StepEnum.m
|
---|
| 1146 | ===================================================================
|
---|
| 1147 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/enum/StepEnum.m (revision 0)
|
---|
| 1148 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/enum/StepEnum.m (revision 11827)
|
---|
| 1149 | @@ -0,0 +1,11 @@
|
---|
| 1150 | +function macro=StepEnum()
|
---|
| 1151 | +%STEPENUM - Enum of Step
|
---|
| 1152 | +%
|
---|
| 1153 | +% WARNING: DO NOT MODIFY THIS FILE
|
---|
| 1154 | +% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
|
---|
| 1155 | +% Please read src/c/EnumDefinitions/README for more information
|
---|
| 1156 | +%
|
---|
| 1157 | +% Usage:
|
---|
| 1158 | +% macro=StepEnum()
|
---|
| 1159 | +
|
---|
| 1160 | +macro=StringToEnum('Step');
|
---|
| 1161 | Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/enum/SaveResultsEnum.m
|
---|
| 1162 | ===================================================================
|
---|
| 1163 | --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/enum/SaveResultsEnum.m (revision 0)
|
---|
| 1164 | +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/enum/SaveResultsEnum.m (revision 11827)
|
---|
| 1165 | @@ -0,0 +1,11 @@
|
---|
| 1166 | +function macro=SaveResultsEnum()
|
---|
| 1167 | +%SAVERESULTSENUM - Enum of SaveResults
|
---|
| 1168 | +%
|
---|
| 1169 | +% WARNING: DO NOT MODIFY THIS FILE
|
---|
| 1170 | +% this file has been automatically generated by src/c/EnumDefinitions/Synchronize.sh
|
---|
| 1171 | +% Please read src/c/EnumDefinitions/README for more information
|
---|
| 1172 | +%
|
---|
| 1173 | +% Usage:
|
---|
| 1174 | +% macro=SaveResultsEnum()
|
---|
| 1175 | +
|
---|
| 1176 | +macro=StringToEnum('SaveResults');
|
---|