source: issm/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h@ 13283

Last change on this file since 13283 was 13283, checked in by Eric.Larour, 13 years ago

CHG: finished raw implementation to call ADOLC drivers.
The drivers are called in AutodiffDriversx.
We added parameters in Autodiff/CreateParametersAutodiff, such as the state variable xp.
Added a bunch of enums accordingly.
Hooked up all of this in the transient_core solutoin for now.

Of course, also added new module RequestedDependentsx, to declare which dependents are going
to be our diagnostics.

File size: 11.2 KB
Line 
1/*
2 * \file EnumDefinitions.h:
3 * \brief: enum functions for our objects
4 */
5
6#ifndef _ENUM_DEFINITIONS_
7#define _ENUM_DEFINITIONS_
8
9#include "../modules/EnumToStringx/EnumToStringx.h"
10#include "../modules/StringToEnumx/StringToEnumx.h"
11
12enum definitions{
13 /*Model fields {{{1*/
14 AutodiffIsautodiffEnum,
15 AutodiffDependentsEnum,
16 AutodiffNumDependentsEnum,
17 AutodiffIndependentsEnum,
18 AutodiffNumIndependentsEnum,
19 AutodiffJacobianEnum,
20 AutodiffXpEnum,
21 BalancethicknessSpcthicknessEnum,
22 BalancethicknessStabilizationEnum,
23 BalancethicknessThickeningRateEnum,
24 BasalforcingsGeothermalfluxEnum,
25 BasalforcingsMeltingRateCorrectionEnum,
26 BasalforcingsMeltingRateEnum,
27 BathymetryEnum,
28 BedEnum,
29 ConstantsGEnum,
30 ConstantsReferencetemperatureEnum,
31 ConstantsYtsEnum,
32 DiagnosticAbstolEnum,
33 DiagnosticIcefrontEnum,
34 DiagnosticIsnewtonEnum,
35 DiagnosticMaxiterEnum,
36 DiagnosticNumRequestedOutputsEnum,
37 DiagnosticPenaltyFactorEnum,
38 DiagnosticReferentialEnum,
39 DiagnosticReltolEnum,
40 DiagnosticRequestedOutputsEnum,
41 DiagnosticRestolEnum,
42 DiagnosticRiftPenaltyLockEnum,
43 DiagnosticRiftPenaltyThresholdEnum,
44 DiagnosticShelfDampeningEnum,
45 DiagnosticSpcvxEnum,
46 DiagnosticSpcvyEnum,
47 DiagnosticSpcvzEnum,
48 DiagnosticStokesreconditioningEnum,
49 DiagnosticVertexPairingEnum,
50 DiagnosticViscosityOvershootEnum,
51 FlowequationBordermacayealEnum,
52 FlowequationBorderpattynEnum,
53 FlowequationBorderstokesEnum,
54 FlowequationElementEquationEnum,
55 FlowequationIshutterEnum,
56 FlowequationIsl1l2Enum,
57 FlowequationIsmacayealpattynEnum,
58 FlowequationIsstokesEnum,
59 FlowequationVertexEquationEnum,
60 FrictionCoefficientEnum,
61 FrictionPEnum,
62 FrictionQEnum,
63 GeometryHydrostaticRatioEnum,
64 HydrologyCREnum,
65 HydrologyKnEnum,
66 HydrologyNEnum,
67 HydrologyPEnum,
68 HydrologyQEnum,
69 HydrologySpcwatercolumnEnum,
70 HydrologyStabilizationEnum,
71 InversionControlParametersEnum,
72 InversionCostFunctionEnum,
73 InversionCostFunctionThresholdEnum,
74 InversionCostFunctionsCoefficientsEnum,
75 InversionCostFunctionsEnum,
76 InversionGradientOnlyEnum,
77 InversionGradientScalingEnum,
78 InversionIscontrolEnum,
79 InversionTaoEnum,
80 InversionIncompleteAdjointEnum,
81 InversionMaxParametersEnum,
82 InversionMaxiterPerStepEnum,
83 InversionMinParametersEnum,
84 InversionNstepsEnum,
85 InversionNumControlParametersEnum,
86 InversionNumCostFunctionsEnum,
87 InversionStepThresholdEnum,
88 InversionThicknessObsEnum,
89 InversionVelObsEnum,
90 InversionVxObsEnum,
91 InversionVyObsEnum,
92 InversionVzObsEnum,
93 MaskElementonfloatingiceEnum,
94 MaskElementongroundediceEnum,
95 MaskElementonwaterEnum,
96 MaskVertexonfloatingiceEnum,
97 MaskVertexongroundediceEnum,
98 MaskVertexonwaterEnum,
99 MaterialsBetaEnum,
100 MaterialsHeatcapacityEnum,
101 MaterialsLatentheatEnum,
102 MaterialsMeltingpointEnum,
103 MaterialsMixedLayerCapacityEnum,
104 MaterialsRheologyBEnum,
105 MaterialsRheologyBbarEnum,
106 MaterialsRheologyLawEnum,
107 MaterialsRheologyNEnum,
108 MaterialsRheologyZEnum,
109 MaterialsRheologyZbarEnum,
110 MaterialsRhoIceEnum,
111 MaterialsRhoWaterEnum,
112 MaterialsRhoFreshwaterEnum,
113 MaterialsMuWaterEnum,
114 MaterialsThermalExchangeVelocityEnum,
115 MaterialsThermalconductivityEnum,
116 MeshAverageVertexConnectivityEnum,
117 MeshDimensionEnum,
118 MeshEdgesEnum,
119 MeshElementconnectivityEnum,
120 MeshElementonbedEnum,
121 MeshElementonsurfaceEnum,
122 MeshElements2dEnum,
123 MeshElementsEnum,
124 MeshLowerelementsEnum,
125 MeshNumberofedgesEnum,
126 MeshNumberofelements2dEnum,
127 MeshNumberofelementsEnum,
128 MeshNumberoflayersEnum,
129 MeshNumberofvertices2dEnum,
130 MeshNumberofverticesEnum,
131 MeshUpperelementsEnum,
132 MeshVertexonbedEnum,
133 MeshVertexonsurfaceEnum,
134 MeshXEnum,
135 MeshYEnum,
136 MeshZEnum,
137 MiscellaneousNameEnum, //FIXME: only used by qmu, should not be marshalled (already in queueing script)
138 PrognosticHydrostaticAdjustmentEnum,
139 PrognosticMinThicknessEnum,
140 PrognosticPenaltyFactorEnum,
141 PrognosticSpcthicknessEnum,
142 PrognosticStabilizationEnum,
143 PrognosticVertexPairingEnum,
144 QmuIsdakotaEnum,
145 QmuMassFluxSegmentsEnum,
146 QmuNumberofpartitionsEnum,
147 QmuNumberofresponsesEnum,
148 QmuPartitionEnum,
149 QmuResponsedescriptorsEnum,
150 QmuVariabledescriptorsEnum,
151 RiftsNumriftsEnum,
152 RiftsRiftstructEnum,
153 SettingsIoGatherEnum,
154 SettingsLowmemEnum,
155 SettingsOutputFrequencyEnum,
156 SettingsResultsAsPatchesEnum,
157 SettingsWaitonlockEnum,
158 SurfaceforcingsDelta18oEnum,
159 SurfaceforcingsDelta18oSurfaceEnum,
160 SurfaceforcingsIsdelta18oEnum,
161 SurfaceforcingsPrecipitationsPresentdayEnum,
162 SurfaceforcingsTemperaturesPresentdayEnum,
163 SurfaceforcingsTemperaturesLgmEnum,
164 DebugProfilingEnum,
165 ProfilingCurrentMemEnum,
166 ProfilingCurrentFlopsEnum,
167 ProfilingSolutionTimeEnum,
168 MaxIterationConvergenceFlagEnum,
169 SteadystateMaxiterEnum,
170 SteadystateNumRequestedOutputsEnum,
171 SteadystateReltolEnum,
172 SteadystateRequestedOutputsEnum,
173 SurfaceEnum,
174 SurfaceforcingsPrecipitationEnum,
175 SurfaceforcingsMassBalanceEnum,
176 SurfaceforcingsIspddEnum,
177 SurfaceforcingsIssmbgradientsEnum,
178 SurfaceforcingsMonthlytemperaturesEnum,
179 SurfaceforcingsHcEnum,
180 SurfaceforcingsSmbPosMaxEnum,
181 SurfaceforcingsSmbPosMinEnum,
182 SurfaceforcingsAPosEnum,
183 SurfaceforcingsBPosEnum,
184 SurfaceforcingsANegEnum,
185 SurfaceforcingsBNegEnum,
186 ThermalMaxiterEnum,
187 ThermalPenaltyFactorEnum,
188 ThermalPenaltyLockEnum,
189 ThermalPenaltyThresholdEnum,
190 ThermalSpctemperatureEnum,
191 ThermalStabilizationEnum,
192 ThermalIsenthalpyEnum,
193 ThicknessEnum,
194 TimesteppingStartTimeEnum,
195 TimesteppingFinalTimeEnum,
196 TimesteppingCflCoefficientEnum,
197 TimesteppingTimeAdaptEnum,
198 TimesteppingTimeStepEnum,
199 TransientIsdiagnosticEnum,
200 TransientIsgroundinglineEnum,
201 TransientIsprognosticEnum,
202 TransientIsthermalEnum,
203 TransientNumRequestedOutputsEnum,
204 TransientRequestedOutputsEnum,
205 /*}}}*/
206 /*Solutions and Analyses{{{1 */
207 SolutionTypeEnum,
208 AnalysisTypeEnum,
209 ConfigurationTypeEnum,
210 AdjointBalancethicknessAnalysisEnum,
211 AdjointHorizAnalysisEnum,
212 AdjointSolutionEnum,
213 AnalysisCounterEnum,
214 BalancethicknessAnalysisEnum,
215 BalancethicknessSolutionEnum,
216 BedSlopeAnalysisEnum,
217 BedSlopeSolutionEnum,
218 BedSlopeXAnalysisEnum,
219 BedSlopeYAnalysisEnum,
220 DiagnosticHorizAnalysisEnum,
221 DiagnosticHutterAnalysisEnum,
222 DiagnosticSolutionEnum,
223 DiagnosticVertAnalysisEnum,
224 EnthalpyAnalysisEnum,
225 EnthalpySolutionEnum,
226 FlaimAnalysisEnum,
227 FlaimSolutionEnum,
228 HydrologyAnalysisEnum,
229 HydrologySolutionEnum,
230 MeltingAnalysisEnum,
231 NoneAnalysisEnum,
232 PrognosticAnalysisEnum,
233 PrognosticSolutionEnum,
234 SteadystateSolutionEnum,
235 SurfaceSlopeAnalysisEnum,
236 SurfaceSlopeSolutionEnum,
237 SurfaceSlopeXAnalysisEnum,
238 SurfaceSlopeYAnalysisEnum,
239 ThermalAnalysisEnum,
240 ThermalSolutionEnum,
241 TransientSolutionEnum,
242 /*}}}*/
243 /*Approximations {{{1*/
244 ApproximationEnum,
245 NoneApproximationEnum,
246 HutterApproximationEnum,
247 MacAyealApproximationEnum,
248 MacAyealPattynApproximationEnum,
249 MacAyealStokesApproximationEnum,
250 L1L2ApproximationEnum,
251 PattynApproximationEnum,
252 PattynStokesApproximationEnum,
253 StokesApproximationEnum,
254 /*}}}*/
255 /*Datasets {{{1*/
256 ConstraintsEnum,
257 LoadsEnum,
258 MaterialsEnum,
259 NodesEnum,
260 ParametersEnum,
261 VerticesEnum,
262 ResultsEnum,
263 /*}}}*/
264 /*Objects {{{1*/
265 AdolcParamEnum,
266 BoolInputEnum,
267 BoolParamEnum,
268 ContourEnum,
269 ControlInputEnum,
270 DatasetInputEnum,
271 DofIndexingEnum,
272 DoubleInputEnum,
273 DoubleMatArrayParamEnum,
274 DoubleMatParamEnum,
275 DoubleParamEnum,
276 DoubleVecParamEnum,
277 ElementEnum,
278 ElementResultEnum,
279 ExternalResultEnum,
280 FileParamEnum,
281 HookEnum,
282 IcefrontEnum,
283 InputEnum,
284 IntInputEnum,
285 IntParamEnum,
286 IntVecParamEnum,
287 TransientParamEnum,
288 MacAyeal2dIceFrontEnum,
289 MacAyeal3dIceFrontEnum,
290 MaticeEnum,
291 MatdamageiceEnum,
292 MatparEnum,
293 NodeEnum,
294 NumericalfluxEnum,
295 ParamEnum,
296 L1L2IceFrontEnum,
297 PattynIceFrontEnum,
298 PengridEnum,
299 PenpairEnum,
300 PentaEnum,
301 PentaP1InputEnum,
302 MatrixParamEnum,
303 VectorParamEnum,
304 RiftfrontEnum,
305 SegmentEnum,
306 SegmentRiftfrontEnum,
307 SpcDynamicEnum,
308 SpcStaticEnum,
309 SpcTransientEnum,
310 StokesIceFrontEnum,
311 StringArrayParamEnum,
312 StringParamEnum,
313 TriaEnum,
314 TriaP1InputEnum,
315 VertexEnum,
316 /*}}}*/
317 /*Fill {{{1*/
318 AirEnum,
319 IceEnum,
320 MelangeEnum,
321 WaterEnum,
322 /*}}}*/
323 /*Rift state {{{1*/
324 ClosedEnum,
325 FreeEnum,
326 OpenEnum,
327 /*}}}*/
328 /*Inputs {{{1*/
329 AdjointpEnum,
330 AdjointxEnum,
331 AdjointyEnum,
332 AdjointzEnum,
333 BedSlopeXEnum,
334 BedSlopeYEnum,
335 BoundaryEnum,
336 ConstantEnum,
337 ConvergedEnum,
338 ExtToIuEnum,
339 FillEnum,
340 FractionIncrementEnum,
341 FrictionEnum,
342 GroundinglineMeltingRateEnum,
343 InternalEnum,
344 IuToExtEnum,
345 MassFluxEnum,
346 MaxPenetrationEnum,
347 MeltingOffsetEnum,
348 MisfitEnum,
349 NumberNodeToElementConnectivityEnum,
350 PressureEnum,
351 PressurePicardEnum,
352 QmuPressureEnum,
353 QmuVxEnum,
354 QmuVyEnum,
355 QmuVzEnum,
356 QmuThicknessEnum,
357 QmuBedEnum,
358 QmuSurfaceEnum,
359 QmuMeltingEnum,
360 ResetPenaltiesEnum,
361 SegmentOnIceShelfEnum,
362 SurfaceAbsVelMisfitEnum,
363 SurfaceAreaEnum,
364 SurfaceAverageVelMisfitEnum,
365 SurfaceLogVelMisfitEnum,
366 SurfaceLogVxVyMisfitEnum,
367 SurfaceRelVelMisfitEnum,
368 SurfaceSlopeXEnum,
369 SurfaceSlopeYEnum,
370 TemperatureEnum,
371 TemperatureOldEnum,
372 TemperaturePicardEnum,
373 TemperatureSurfaceEnum,
374 TemperatureBasalEnum,
375 ThicknessAbsMisfitEnum,
376 TypeEnum,
377 VelEnum,
378 VelocityEnum,
379 VxAverageEnum,
380 VxEnum,
381 VxPicardEnum,
382 VyAverageEnum,
383 VyEnum,
384 VyPicardEnum,
385 VzEnum,
386 VzMacAyealEnum,
387 VzPattynEnum,
388 VzPicardEnum,
389 VzStokesEnum,
390 VxMeshEnum,
391 VyMeshEnum,
392 VzMeshEnum,
393 EnthalpyEnum,
394 EnthalpyPicardEnum,
395 ThicknessAbsGradientEnum,
396 ThicknessAlongGradientEnum,
397 ThicknessAcrossGradientEnum,
398 StepResponsesEnum,
399 IntMatParamEnum,
400 RheologyBbarAbsGradientEnum,
401 DragCoefficientAbsGradientEnum,
402 TransientInputEnum,
403 OutputfilenameEnum,
404 WaterfractionEnum,
405 WatercolumnEnum,
406 BasalFrictionEnum,
407 ViscousHeatingEnum,
408 QmuTemperatureEnum,
409 HydrologyWaterVxEnum,
410 HydrologyWaterVyEnum,
411 StressTensorEnum,
412 StressTensorxxEnum,
413 StressTensorxyEnum,
414 StressTensorxzEnum,
415 StressTensoryyEnum,
416 StressTensoryzEnum,
417 StressTensorzzEnum,
418 /*}}}*/
419 /*Element Interpolations{{{1*/
420 P0Enum,
421 P1Enum,
422 P1DGEnum,
423 /*}}}*/
424 /*Results{{{1*/
425 SaveResultsEnum,
426 BoolElementResultEnum,
427 BoolExternalResultEnum,
428 DoubleElementResultEnum,
429 DoubleExternalResultEnum,
430 DoubleMatExternalResultEnum,
431 DoubleVecExternalResultEnum,
432 IntExternalResultEnum,
433 JEnum,
434 PatchEnum,
435 PatchNodesEnum,
436 PatchVerticesEnum,
437 PentaP1ElementResultEnum,
438 PetscVecExternalResultEnum,
439 StringExternalResultEnum,
440 StepEnum,
441 TimeEnum,
442 TriaP1ElementResultEnum,
443 WaterColumnOldEnum,
444 /*}}}*/
445 /*Responses{{{1*/
446 MinVelEnum,
447 MaxVelEnum,
448 MinVxEnum,
449 MaxVxEnum,
450 MaxAbsVxEnum,
451 MinVyEnum,
452 MaxVyEnum,
453 MaxAbsVyEnum,
454 MinVzEnum,
455 MaxVzEnum,
456 MaxAbsVzEnum,
457 IceVolumeEnum,
458 TotalSmbEnum,
459 /*}}}*/
460 /*Convergence{{{1*/
461 RelativeEnum,
462 AbsoluteEnum,
463 IncrementalEnum,
464 /*}}}*/
465 /*Grounding Line{{{1*/
466 AgressiveMigrationEnum,
467 NoneEnum,
468 SoftMigrationEnum,
469 /*}}}*/
470 /*Solver{{{1*/
471 StokesSolverEnum,
472 /*}}}*/
473 /*Parameters{{{1*/
474 AdjointEnum,
475 ColinearEnum,
476 ControlSteadyEnum,
477 FsetEnum,
478 Gradient1Enum,
479 Gradient2Enum,
480 Gradient3Enum,
481 GradientEnum,
482 GroundinglineMigrationEnum,
483 GsetEnum,
484 IndexEnum,
485 IndexedEnum,
486 IntersectEnum,
487 NodalEnum,
488 OldGradientEnum,
489 OutputFilePointerEnum,
490 PetscOptionsAnalysesEnum,
491 PetscOptionsStringsEnum,
492 QmuErrNameEnum,
493 QmuInNameEnum,
494 QmuOutNameEnum,
495 RegularEnum,
496 ScaledEnum,
497 SeparateEnum,
498 SsetEnum,
499 VerboseEnum,
500 /*}}}*/
501 /*Interpolation {{{1*/
502 TriangleInterpEnum,
503 BilinearInterpEnum,
504 NearestInterpEnum,
505 /*}}}*/
506 /*Coordinate Systems{{{1*/
507 XYEnum,
508 XYZPEnum,
509 /*}}}*/
510 /*Options{{{1*/
511 OptionEnum,
512 GenericOptionEnum,
513 OptionCellEnum,
514 OptionCharEnum,
515 OptionStructEnum,
516 OptionDoubleEnum,
517 OptionLogicalEnum,
518 /*}}}*/
519 /*Rheology law (move too Material) {{{1*/
520 PatersonEnum,
521 ArrheniusEnum,
522 /*}}}*/
523 MaximumNumberOfEnums
524};
525
526#endif
Note: See TracBrowser for help on using the repository browser.