Ice Sheet System Model  4.18
Code documentation
Public Member Functions
LoveAnalysis Class Reference

#include <LoveAnalysis.h>

Inheritance diagram for LoveAnalysis:
Analysis

Public Member Functions

void CreateConstraints (Constraints *constraints, IoModel *iomodel)
 
void CreateLoads (Loads *loads, IoModel *iomodel)
 
void CreateNodes (Nodes *nodes, IoModel *iomodel, bool isamr=false)
 
int DofsPerNode (int **doflist, int domaintype, int approximation)
 
void UpdateElements (Elements *elements, Inputs2 *inputs2, IoModel *iomodel, int analysis_counter, int analysis_type)
 
void UpdateParameters (Parameters *parameters, IoModel *iomodel, int solution_enum, int analysis_enum)
 
void Core (FemModel *femmodel)
 
ElementVectorCreateDVector (Element *element)
 
ElementMatrixCreateJacobianMatrix (Element *element)
 
ElementMatrixCreateKMatrix (Element *element)
 
ElementVectorCreatePVector (Element *element)
 
void GetB (IssmDouble *B, Element *element, int dim, IssmDouble *xyz_list, Gauss *gauss)
 
void GetBprime (IssmDouble *B, Element *element, int dim, IssmDouble *xyz_list, Gauss *gauss)
 
void GetSolutionFromInputs (Vector< IssmDouble > *solution, Element *element)
 
void GradientJ (Vector< IssmDouble > *gradient, Element *element, int control_type, int control_index)
 
void InputUpdateFromSolution (IssmDouble *solution, Element *element)
 
void UpdateConstraints (FemModel *femmodel)
 
- Public Member Functions inherited from Analysis
virtual ~Analysis ()
 

Detailed Description

Definition at line 11 of file LoveAnalysis.h.

Member Function Documentation

◆ CreateConstraints()

void LoveAnalysis::CreateConstraints ( Constraints constraints,
IoModel iomodel 
)
virtual

Implements Analysis.

Definition at line 8 of file LoveAnalysis.cpp.

8  {/*{{{*/
9 }/*}}}*/

◆ CreateLoads()

void LoveAnalysis::CreateLoads ( Loads loads,
IoModel iomodel 
)
virtual

Implements Analysis.

Definition at line 10 of file LoveAnalysis.cpp.

10  {/*{{{*/
11 }/*}}}*/

◆ CreateNodes()

void LoveAnalysis::CreateNodes ( Nodes nodes,
IoModel iomodel,
bool  isamr = false 
)
virtual

Implements Analysis.

Definition at line 12 of file LoveAnalysis.cpp.

12  {/*{{{*/
13 }/*}}}*/

◆ DofsPerNode()

int LoveAnalysis::DofsPerNode ( int **  doflist,
int  domaintype,
int  approximation 
)
virtual

Implements Analysis.

Definition at line 14 of file LoveAnalysis.cpp.

14  {/*{{{*/
15  _error_("not needed!");
16 }/*}}}*/

◆ UpdateElements()

void LoveAnalysis::UpdateElements ( Elements elements,
Inputs2 inputs2,
IoModel iomodel,
int  analysis_counter,
int  analysis_type 
)
virtual

Implements Analysis.

Definition at line 17 of file LoveAnalysis.cpp.

17  {/*{{{*/
18 
19 }/*}}}*/

◆ UpdateParameters()

void LoveAnalysis::UpdateParameters ( Parameters parameters,
IoModel iomodel,
int  solution_enum,
int  analysis_enum 
)
virtual

Implements Analysis.

Definition at line 20 of file LoveAnalysis.cpp.

20  {/*{{{*/
21 
22  IssmDouble* frequencies = NULL;
23  int nfreq;
24  iomodel->FetchData(&nfreq,"md.love.nfreq");
25  iomodel->FetchData(&frequencies,NULL,NULL,"md.love.frequencies");
26  parameters->AddObject(new DoubleVecParam(LoveFrequenciesEnum,frequencies,nfreq));
27  xDelete<IssmDouble>(frequencies);
28 
29  parameters->AddObject(iomodel->CopyConstantObject("md.love.nfreq",LoveNfreqEnum));
30  parameters->AddObject(iomodel->CopyConstantObject("md.love.sh_nmax",LoveShNmaxEnum));
31  parameters->AddObject(iomodel->CopyConstantObject("md.love.sh_nmin",LoveShNminEnum));
32  parameters->AddObject(iomodel->CopyConstantObject("md.love.g0",LoveG0Enum));
33  parameters->AddObject(iomodel->CopyConstantObject("md.love.r0",LoveR0Enum));
34  parameters->AddObject(iomodel->CopyConstantObject("md.love.mu0",LoveMu0Enum));
35  parameters->AddObject(iomodel->CopyConstantObject("md.love.allow_layer_deletion",LoveAllowLayerDeletionEnum));
36  parameters->AddObject(iomodel->CopyConstantObject("md.love.love_kernels",LoveKernelsEnum));
37  parameters->AddObject(iomodel->CopyConstantObject("md.love.forcing_type",LoveForcingTypeEnum));
38 }/*}}}*/

◆ Core()

void LoveAnalysis::Core ( FemModel femmodel)
virtual

Implements Analysis.

Definition at line 45 of file LoveAnalysis.cpp.

45  {/*{{{*/
46  _error_(" not needed!");
47 }/*}}}*/

◆ CreateDVector()

ElementVector * LoveAnalysis::CreateDVector ( Element element)
virtual

Implements Analysis.

Definition at line 48 of file LoveAnalysis.cpp.

48  {/*{{{*/
49  _error_(" not needed!");
50 }/*}}}*/

◆ CreateJacobianMatrix()

ElementMatrix * LoveAnalysis::CreateJacobianMatrix ( Element element)
virtual

Implements Analysis.

Definition at line 51 of file LoveAnalysis.cpp.

51  {/*{{{*/
52  _error_(" not needed!");
53 }/*}}}*/

◆ CreateKMatrix()

ElementMatrix * LoveAnalysis::CreateKMatrix ( Element element)
virtual

Implements Analysis.

Definition at line 54 of file LoveAnalysis.cpp.

54  {/*{{{*/
55  _error_(" not needed!");
56 }/*}}}*/

◆ CreatePVector()

ElementVector * LoveAnalysis::CreatePVector ( Element element)
virtual

Implements Analysis.

Definition at line 57 of file LoveAnalysis.cpp.

57  {/*{{{*/
58  _error_("not supported");
59 }/*}}}*/

◆ GetB()

void LoveAnalysis::GetB ( IssmDouble B,
Element element,
int  dim,
IssmDouble xyz_list,
Gauss gauss 
)

Definition at line 60 of file LoveAnalysis.cpp.

60  {/*{{{*/
61  _error_("not supported");
62 }/*}}}*/

◆ GetBprime()

void LoveAnalysis::GetBprime ( IssmDouble B,
Element element,
int  dim,
IssmDouble xyz_list,
Gauss gauss 
)

Definition at line 63 of file LoveAnalysis.cpp.

63  {/*{{{*/
64  _error_("not supported");
65 }/*}}}*/

◆ GetSolutionFromInputs()

void LoveAnalysis::GetSolutionFromInputs ( Vector< IssmDouble > *  solution,
Element element 
)
virtual

Implements Analysis.

Definition at line 66 of file LoveAnalysis.cpp.

66  {/*{{{*/
67  _error_("not implemented yet");
68 }/*}}}*/

◆ GradientJ()

void LoveAnalysis::GradientJ ( Vector< IssmDouble > *  gradient,
Element element,
int  control_type,
int  control_index 
)
virtual

Implements Analysis.

Definition at line 69 of file LoveAnalysis.cpp.

69  {/*{{{*/
70  _error_("Not implemented yet");
71 }/*}}}*/

◆ InputUpdateFromSolution()

void LoveAnalysis::InputUpdateFromSolution ( IssmDouble solution,
Element element 
)
virtual

Implements Analysis.

Definition at line 72 of file LoveAnalysis.cpp.

72  {/*{{{*/
73  _error_("not supported");
74 }/*}}}*/

◆ UpdateConstraints()

void LoveAnalysis::UpdateConstraints ( FemModel femmodel)
virtual

Implements Analysis.

Definition at line 39 of file LoveAnalysis.cpp.

39  {/*{{{*/
40  /*Default, do nothing*/
41  return;
42 }/*}}}*/

The documentation for this class was generated from the following files:
LoveMu0Enum
@ LoveMu0Enum
Definition: EnumDefinitions.h:236
IssmDouble
double IssmDouble
Definition: types.h:37
LoveNfreqEnum
@ LoveNfreqEnum
Definition: EnumDefinitions.h:237
LoveKernelsEnum
@ LoveKernelsEnum
Definition: EnumDefinitions.h:235
Parameters::AddObject
void AddObject(Param *newparam)
Definition: Parameters.cpp:67
LoveShNmaxEnum
@ LoveShNmaxEnum
Definition: EnumDefinitions.h:239
LoveAllowLayerDeletionEnum
@ LoveAllowLayerDeletionEnum
Definition: EnumDefinitions.h:231
IoModel::CopyConstantObject
Param * CopyConstantObject(const char *constant_name, int param_enum)
Definition: IoModel.cpp:418
LoveForcingTypeEnum
@ LoveForcingTypeEnum
Definition: EnumDefinitions.h:232
IoModel::FetchData
void FetchData(bool *pboolean, const char *data_name)
Definition: IoModel.cpp:933
LoveR0Enum
@ LoveR0Enum
Definition: EnumDefinitions.h:238
LoveFrequenciesEnum
@ LoveFrequenciesEnum
Definition: EnumDefinitions.h:233
_error_
#define _error_(StreamArgs)
Definition: exceptions.h:49
DoubleVecParam
Definition: DoubleVecParam.h:20
LoveG0Enum
@ LoveG0Enum
Definition: EnumDefinitions.h:234
LoveShNminEnum
@ LoveShNminEnum
Definition: EnumDefinitions.h:240