Ice Sheet System Model
4.18
Code documentation
src
c
cores
surfaceslope_core.cpp
Go to the documentation of this file.
1
5
#include "
./cores.h
"
6
#include "../toolkits/toolkits.h"
7
#include "../classes/classes.h"
8
#include "../shared/shared.h"
9
#include "../solutionsequences/solutionsequences.h"
10
#include "../modules/modules.h"
11
12
void
surfaceslope_core
(
FemModel
*
femmodel
){
13
14
/*parameters: */
15
bool
save_results;
16
int
domaintype;
17
18
/*Recover some parameters: */
19
femmodel
->
parameters
->
FindParam
(&save_results,
SaveResultsEnum
);
20
femmodel
->
parameters
->
FindParam
(&domaintype,
DomainTypeEnum
);
21
22
if
(
VerboseSolution
())
_printf0_
(
"computing slope...\n"
);
23
24
/*Call on core computations: */
25
femmodel
->
SetCurrentConfiguration
(
L2ProjectionBaseAnalysisEnum
);
26
27
femmodel
->
parameters
->
SetParam
(
SurfaceSlopeXEnum
,
InputToL2ProjectEnum
);
28
solutionsequence_linear
(
femmodel
);
29
30
if
(domaintype!=
Domain2DverticalEnum
){
31
femmodel
->
parameters
->
SetParam
(
SurfaceSlopeYEnum
,
InputToL2ProjectEnum
);
32
solutionsequence_linear
(
femmodel
);
33
}
34
if
(domaintype==
Domain2DverticalEnum
){
35
femmodel
->
parameters
->
SetParam
(
SurfaceSlopeXEnum
,
InputToExtrudeEnum
);
36
extrudefrombase_core
(
femmodel
);
37
}
38
39
if
(save_results){
40
if
(
VerboseSolution
())
_printf0_
(
"saving surface slopes results:\n"
);
41
if
(domaintype!=
Domain2DverticalEnum
){
42
int
outputs[2] = {
SurfaceSlopeXEnum
,
SurfaceSlopeYEnum
};
43
femmodel
->
RequestedOutputsx
(&
femmodel
->
results
,&outputs[0],2);
44
45
}
46
else
{
47
int
outputs =
SurfaceSlopeXEnum
;
48
femmodel
->
RequestedOutputsx
(&
femmodel
->
results
,&outputs,1);
49
}
50
}
51
52
}
SaveResultsEnum
@ SaveResultsEnum
Definition:
EnumDefinitions.h:302
extrudefrombase_core
void extrudefrombase_core(FemModel *femmodel)
Definition:
extrudefrombase_core.cpp:12
_printf0_
#define _printf0_(StreamArgs)
Definition:
Print.h:29
surfaceslope_core
void surfaceslope_core(FemModel *femmodel)
Definition:
surfaceslope_core.cpp:12
SurfaceSlopeXEnum
@ SurfaceSlopeXEnum
Definition:
EnumDefinitions.h:829
cores.h
FemModel::parameters
Parameters * parameters
Definition:
FemModel.h:46
FemModel::results
Results * results
Definition:
FemModel.h:48
solutionsequence_linear
void solutionsequence_linear(FemModel *femmodel)
Definition:
solutionsequence_linear.cpp:10
Parameters::SetParam
void SetParam(bool boolean, int enum_type)
Definition:
Parameters.cpp:441
L2ProjectionBaseAnalysisEnum
@ L2ProjectionBaseAnalysisEnum
Definition:
EnumDefinitions.h:1136
InputToExtrudeEnum
@ InputToExtrudeEnum
Definition:
EnumDefinitions.h:205
DomainTypeEnum
@ DomainTypeEnum
Definition:
EnumDefinitions.h:124
FemModel
Definition:
FemModel.h:31
VerboseSolution
bool VerboseSolution(void)
Definition:
Verbosity.cpp:24
FemModel::RequestedOutputsx
void RequestedOutputsx(Results **presults, char **requested_outputs, int numoutputs, bool save_results=true)
Definition:
FemModel.cpp:2267
FemModel::SetCurrentConfiguration
void SetCurrentConfiguration(int configuration_type)
Definition:
FemModel.cpp:634
Parameters::FindParam
void FindParam(bool *pinteger, int enum_type)
Definition:
Parameters.cpp:262
InputToL2ProjectEnum
@ InputToL2ProjectEnum
Definition:
EnumDefinitions.h:206
Domain2DverticalEnum
@ Domain2DverticalEnum
Definition:
EnumDefinitions.h:535
SurfaceSlopeYEnum
@ SurfaceSlopeYEnum
Definition:
EnumDefinitions.h:830
femmodel
FemModel * femmodel
Definition:
esmfbinders.cpp:16
Generated on Thu Jul 2 2020 08:09:18 for Ice Sheet System Model by
1.8.19