Ice Sheet System Model  4.18
Code documentation
Functions
CorePointerFromSolutionEnum.cpp File Reference

: return type of analyses, number of analyses and core solution function. More...

#include "./cores.h"
#include "../toolkits/toolkits.h"
#include "../classes/classes.h"
#include "../shared/shared.h"
#include "../modules/modules.h"
#include "../solutionsequences/solutionsequences.h"

Go to the source code of this file.

Functions

void CorePointerFromSolutionEnum (void(**psolutioncore)(FemModel *), Parameters *parameters, int solutiontype)
 

Detailed Description

: return type of analyses, number of analyses and core solution function.

Definition in file CorePointerFromSolutionEnum.cpp.

Function Documentation

◆ CorePointerFromSolutionEnum()

void CorePointerFromSolutionEnum ( void(**)(FemModel *)  psolutioncore,
Parameters parameters,
int  solutiontype 
)

Definition at line 18 of file CorePointerFromSolutionEnum.cpp.

18  {
19 
20  /*output: */
21  void (*solutioncore)(FemModel*)=NULL;
22 
23  switch(solutiontype){
24 
26  solutioncore=&stressbalance_core;
27  break;
29  solutioncore=&steadystate_core;
30  break;
32  solutioncore=&thermal_core;
33  break;
35  solutioncore=&balancethickness_core;
36  break;
38  solutioncore=&balancethickness2_core;
39  break;
41  solutioncore=&dummy_core;
42  break;
44  solutioncore=&balancevelocity_core;
45  break;
47  solutioncore=&hydrology_core;
48  break;
50  solutioncore=&surfaceslope_core;
51  break;
53  solutioncore=&bedslope_core;
54  break;
56  solutioncore=&transient_core;
57  break;
59  solutioncore=&masstransport_core;
60  break;
62  solutioncore=&sealevelchange_core;
63  break;
64  case EsaSolutionEnum:
65  solutioncore=&esa_core;
66  break;
67  case GiaSolutionEnum:
68  #if _HAVE_GIA_
69  solutioncore=&gia_core;
70  #else
71  _error_("ISSM not compiled with Gia capability");
72  #endif
73  break;
75  solutioncore=&damage_core;
76  break;
77  case LoveSolutionEnum:
78  #if _HAVE_LOVE_
79  solutioncore=&love_core;
80  #else
81  _error_("ISSM not compiled with Love capability");
82  #endif
83  break;
84 
85  default:
86  _error_("solution type: " << EnumToStringx(solutiontype) << " not supported yet!");
87  break;
88  }
89 
90  /*Assign output pointer:*/
91  _assert_(psolutioncore);
92  *psolutioncore=solutioncore;
93 }
HydrologySolutionEnum
@ HydrologySolutionEnum
Definition: EnumDefinitions.h:1105
_assert_
#define _assert_(ignore)
Definition: exceptions.h:37
Balancethickness2SolutionEnum
@ Balancethickness2SolutionEnum
Definition: EnumDefinitions.h:980
dummy_core
void dummy_core(FemModel *femmodel)
Definition: dummy_core.cpp:7
transient_core
void transient_core(FemModel *femmodel)
Definition: transient_core.cpp:19
thermal_core
void thermal_core(FemModel *femmodel)
Definition: thermal_core.cpp:13
love_core
void love_core(FemModel *femmodel)
Definition: love_core.cpp:11
TransientSolutionEnum
@ TransientSolutionEnum
Definition: EnumDefinitions.h:1317
BalancethicknessSoftSolutionEnum
@ BalancethicknessSoftSolutionEnum
Definition: EnumDefinitions.h:984
BalancevelocitySolutionEnum
@ BalancevelocitySolutionEnum
Definition: EnumDefinitions.h:988
BalancethicknessSolutionEnum
@ BalancethicknessSolutionEnum
Definition: EnumDefinitions.h:985
balancevelocity_core
void balancevelocity_core(FemModel *femmodel)
Definition: balancevelocity_core.cpp:12
DamageEvolutionSolutionEnum
@ DamageEvolutionSolutionEnum
Definition: EnumDefinitions.h:1027
esa_core
void esa_core(FemModel *femmodel)
Definition: esa_core.cpp:12
SealevelriseSolutionEnum
@ SealevelriseSolutionEnum
Definition: EnumDefinitions.h:1267
steadystate_core
void steadystate_core(FemModel *femmodel)
Definition: steadystate_core.cpp:20
hydrology_core
void hydrology_core(FemModel *femmodel)
Definition: hydrology_core.cpp:12
ThermalSolutionEnum
@ ThermalSolutionEnum
Definition: EnumDefinitions.h:1303
GiaSolutionEnum
@ GiaSolutionEnum
Definition: EnumDefinitions.h:1085
sealevelchange_core
void sealevelchange_core(FemModel *femmodel)
Definition: sealevelchange_core.cpp:17
EnumToStringx
const char * EnumToStringx(int enum_in)
Definition: EnumToStringx.cpp:15
StressbalanceSolutionEnum
@ StressbalanceSolutionEnum
Definition: EnumDefinitions.h:1288
gia_core
void gia_core(FemModel *femmodel)
Definition: gia_core.cpp:13
MasstransportSolutionEnum
@ MasstransportSolutionEnum
Definition: EnumDefinitions.h:1164
masstransport_core
void masstransport_core(FemModel *femmodel)
Definition: masstransport_core.cpp:12
surfaceslope_core
void surfaceslope_core(FemModel *femmodel)
Definition: surfaceslope_core.cpp:12
FemModel
Definition: FemModel.h:31
LoveSolutionEnum
@ LoveSolutionEnum
Definition: EnumDefinitions.h:1155
_error_
#define _error_(StreamArgs)
Definition: exceptions.h:49
SurfaceSlopeSolutionEnum
@ SurfaceSlopeSolutionEnum
Definition: EnumDefinitions.h:1298
EsaSolutionEnum
@ EsaSolutionEnum
Definition: EnumDefinitions.h:1054
damage_core
void damage_core(FemModel *femmodel)
Definition: damage_core.cpp:12
balancethickness2_core
void balancethickness2_core(FemModel *femmodel)
Definition: balancethickness2_core.cpp:12
bedslope_core
void bedslope_core(FemModel *femmodel)
Definition: bedslope_core.cpp:12
SteadystateSolutionEnum
@ SteadystateSolutionEnum
Definition: EnumDefinitions.h:1283
BedSlopeSolutionEnum
@ BedSlopeSolutionEnum
Definition: EnumDefinitions.h:992
stressbalance_core
void stressbalance_core(FemModel *femmodel)
Definition: stressbalance_core.cpp:13
balancethickness_core
void balancethickness_core(FemModel *femmodel)
Definition: balancethickness_core.cpp:12