Ice Sheet System Model  4.18
Code documentation
Functions
damage_core.cpp File Reference
#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 damage_core (FemModel *femmodel)
 

Function Documentation

◆ damage_core()

void damage_core ( FemModel femmodel)

Definition at line 12 of file damage_core.cpp.

12  {
13 
14  /*Start profiler*/
16 
17  /*intermediary*/
18  bool save_results;
19  bool dakota_analysis = false;
20  int solution_type,stabilization;
21  int numoutputs = 0;
22  char **requested_outputs = NULL;
23 
24  //first recover parameters common to all solutions
28  if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,DamageEvolutionRequestedOutputsEnum);
30 
31  if(VerboseSolution()) _printf0_(" computing damage\n");
32  Damagex(femmodel); /* optionally calculate damage analytically first */
34  if(stabilization==4){
36  }
37  else{
39  }
40 
41  if(save_results){
42  if(VerboseSolution()) _printf0_(" saving damage results\n");
43  femmodel->RequestedOutputsx(&femmodel->results,requested_outputs,numoutputs);
44  }
45 
46  /*Free resources:*/
47  if(numoutputs){
48  for(int i=0;i<numoutputs;i++){
49  xDelete<char>(requested_outputs[i]);
50  }
51  xDelete<char*>(requested_outputs);
52  }
53 
54  /*End profiler*/
56 }
SaveResultsEnum
@ SaveResultsEnum
Definition: EnumDefinitions.h:302
_printf0_
#define _printf0_(StreamArgs)
Definition: Print.h:29
FemModel::parameters
Parameters * parameters
Definition: FemModel.h:46
DamageEvolutionAnalysisEnum
@ DamageEvolutionAnalysisEnum
Definition: EnumDefinitions.h:1026
FemModel::results
Results * results
Definition: FemModel.h:48
DamageStabilizationEnum
@ DamageStabilizationEnum
Definition: EnumDefinitions.h:119
DamageEvolutionNumRequestedOutputsEnum
@ DamageEvolutionNumRequestedOutputsEnum
Definition: EnumDefinitions.h:113
solutionsequence_linear
void solutionsequence_linear(FemModel *femmodel)
Definition: solutionsequence_linear.cpp:10
DAMAGECORE
#define DAMAGECORE
Definition: Profiler.h:21
Damagex
void Damagex(FemModel *femmodel)
Definition: Damagex.cpp:10
SolutionTypeEnum
@ SolutionTypeEnum
Definition: EnumDefinitions.h:398
Profiler::Stop
void Stop(int tagenum, bool dontmpisync=true)
Definition: Profiler.cpp:179
Profiler::Start
void Start(int tagenum, bool dontmpisync=true)
Definition: Profiler.cpp:139
VerboseSolution
bool VerboseSolution(void)
Definition: Verbosity.cpp:24
DamageEvolutionRequestedOutputsEnum
@ DamageEvolutionRequestedOutputsEnum
Definition: EnumDefinitions.h:114
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
solutionsequence_fct
void solutionsequence_fct(FemModel *femmodel)
Definition: solutionsequence_fct.cpp:388
FemModel::profiler
Profiler * profiler
Definition: FemModel.h:42
femmodel
FemModel * femmodel
Definition: esmfbinders.cpp:16