Ice Sheet System Model  4.18
Code documentation
Functions
GetSolutionFromInputsx.h File Reference

header file for updating datasets from inputs More...

#include "../../classes/classes.h"
#include "../../analyses/analyses.h"

Go to the source code of this file.

Functions

void GetSolutionFromInputsx (Vector< IssmDouble > **psolution, FemModel *femmodel)
 

Detailed Description

header file for updating datasets from inputs

Definition in file GetSolutionFromInputsx.h.

Function Documentation

◆ GetSolutionFromInputsx()

void GetSolutionFromInputsx ( Vector< IssmDouble > **  psolution,
FemModel femmodel 
)

Definition at line 9 of file GetSolutionFromInputsx.cpp.

9  {
10 
11  if(VerboseModule()) _printf0_(" Get solution from inputs\n");
12 
13  /*retrieve parameters: */
14  int analysisenum;
16 
17  /*Get size of vector: */
18  int gsize = femmodel->nodes->NumberOfDofs(GsetEnum);
19  int gsize_local = femmodel->nodes->NumberOfDofsLocal(GsetEnum);
20  if(gsize==0) _error_("Allocating a Vec of size 0 as gsize=0 ");
21 
22  /*Initialize solution: */
23  Vector<IssmDouble>* solution=new Vector<IssmDouble>(gsize_local,gsize);
24 
25  /*Go through elements and plug solution: */
26  Analysis* analysis = EnumToAnalysis(analysisenum);
27  for(int i=0;i<femmodel->elements->Size();i++){
28  Element* element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
29  analysis->GetSolutionFromInputs(solution,element);
30  }
31  delete analysis;
32 
33  /*Assemble vector: */
34  solution->Assemble();
35 
36  /*Assign output pointers:*/
37  *psolution=solution;
38 }
DataSet::Size
int Size()
Definition: DataSet.cpp:399
_printf0_
#define _printf0_(StreamArgs)
Definition: Print.h:29
FemModel::parameters
Parameters * parameters
Definition: FemModel.h:46
VerboseModule
bool VerboseModule(void)
Definition: Verbosity.cpp:23
Element
Definition: Element.h:41
Nodes::NumberOfDofsLocal
int NumberOfDofsLocal(int setenum)
Definition: Nodes.cpp:326
FemModel::nodes
Nodes * nodes
Definition: FemModel.h:56
GsetEnum
@ GsetEnum
Definition: EnumDefinitions.h:1093
FemModel::elements
Elements * elements
Definition: FemModel.h:44
Vector::Assemble
void Assemble(void)
Definition: Vector.h:142
EnumToAnalysis
Analysis * EnumToAnalysis(int analysis_enum)
Definition: EnumToAnalysis.cpp:13
Analysis::GetSolutionFromInputs
virtual void GetSolutionFromInputs(Vector< IssmDouble > *solution, Element *element)=0
_error_
#define _error_(StreamArgs)
Definition: exceptions.h:49
DataSet::GetObjectByOffset
Object * GetObjectByOffset(int offset)
Definition: DataSet.cpp:334
Parameters::FindParam
void FindParam(bool *pinteger, int enum_type)
Definition: Parameters.cpp:262
AnalysisTypeEnum
@ AnalysisTypeEnum
Definition: EnumDefinitions.h:36
Nodes::NumberOfDofs
int NumberOfDofs(int setenum)
Definition: Nodes.cpp:314
Vector< IssmDouble >
Analysis
Definition: Analysis.h:30
femmodel
FemModel * femmodel
Definition: esmfbinders.cpp:16