Ice Sheet System Model  4.18
Code documentation
Public Member Functions | Private Attributes
PentaInput2 Class Reference

#include <PentaInput2.h>

Inheritance diagram for PentaInput2:
ElementInput2 PentaRef Input2 Object

Public Member Functions

 PentaInput2 ()
 
 PentaInput2 (int nbe_in, int nbv_in, int interp_in)
 
 ~PentaInput2 ()
 
Input2copy ()
 
void DeepEcho ()
 
void Echo ()
 
int Id ()
 
void Marshall (char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)
 
int ObjectEnum ()
 
void SetInput (int interp_in, int row, IssmDouble value_in)
 
void SetInput (int interp_in, int numinds, int *rows, IssmDouble *values_in)
 
void SetInput (int interp_in, int row, int numinds, IssmDouble *values_in)
 
int GetInterpolation ()
 
void GetInputDerivativeValue (IssmDouble *derivativevalues, IssmDouble *xyz_list, Gauss *gauss)
 
void GetInputAverage (IssmDouble *pvalue)
 
IssmDouble GetInputMin ()
 
IssmDouble GetInputMax ()
 
IssmDouble GetInputMaxAbs ()
 
PentaInput2GetPentaInput ()
 
void GetInputValue (IssmDouble *pvalue, Gauss *gauss)
 
void Scale (IssmDouble scalar)
 
void Pow (IssmDouble scalar)
 
void AXPY (Input2 *xinput, IssmDouble scalar)
 
void PointWiseMult (Input2 *xinput)
 
void Serve (int numindices, int *indices)
 
void Serve (int row, int numindices)
 
void ServeCollapsed (int row, int state)
 
void SetServeCollapsed (int)
 
int GetResultArraySize (void)
 
int GetResultInterpolation (void)
 
int GetResultNumberOfNodes (void)
 
void Reset (int interp_in)
 
- Public Member Functions inherited from ElementInput2
 ElementInput2 ()
 
 ~ElementInput2 ()
 
int GetInputInterpolationType ()
 
- Public Member Functions inherited from Input2
int InstanceEnum ()
 
void ChangeEnum (int newenumtype)
 
virtual ~Input2 ()
 
virtual void Configure (Parameters *parameters)
 
virtual SegInput2GetSegInput ()
 
virtual TriaInput2GetTriaInput ()
 
- Public Member Functions inherited from Object
virtual ~Object ()
 
- Public Member Functions inherited from PentaRef
 PentaRef ()
 
 ~PentaRef ()
 
void BasalNodeIndices (int *pnumindices, int **pindices, int finiteelement)
 
void GetInputDerivativeValue (IssmDouble *pvalues, IssmDouble *plist, IssmDouble *xyz_list, Gauss *gauss, int finiteelement)
 
void GetInputValue (IssmDouble *pvalue, IssmDouble *plist, Gauss *gauss, int finiteelement)
 
void GetJacobian (IssmDouble *J, IssmDouble *xyz_list, Gauss *gauss)
 
void GetJacobianDeterminant (IssmDouble *Jdet, IssmDouble *xyz_list, Gauss *gauss)
 
void GetJacobianInvert (IssmDouble *Jinv, IssmDouble *xyz_list, Gauss *gauss)
 
void GetLprimeFSSSA (IssmDouble *LprimeFSSSA, IssmDouble *xyz_list, Gauss *gauss)
 
void GetNodalFunctions (IssmDouble *basis, Gauss *gauss, int finiteelement)
 
void GetNodalFunctionsDerivatives (IssmDouble *dbasis, IssmDouble *xyz_list, Gauss *gauss, int finiteelement)
 
void GetNodalFunctionsDerivativesReference (IssmDouble *dbasis, Gauss *gauss, int finiteelement)
 
void GetQuadJacobianDeterminant (IssmDouble *Jdet, IssmDouble *xyz_list, Gauss *gauss)
 
void GetSegmentJacobianDeterminant (IssmDouble *Jdet, IssmDouble *xyz_list, Gauss *gauss)
 
void GetTriaJacobianDeterminant (IssmDouble *Jdet, IssmDouble *xyz_list, Gauss *gauss)
 
void VerticalSegmentIndicesBase (int **pindices, int *pnumseg, int finiteelement)
 
void Marshall (char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)
 
int NumberofNodes (int finiteelement)
 
int PressureInterpolation (int fe_stokes)
 
void SurfaceNodeIndices (int *pnumindices, int **pindices, int finiteelement)
 
int TensorInterpolation (int fe_stokes)
 
int VelocityInterpolation (int fe_stokes)
 

Private Attributes

int isserved_collapsed
 

Additional Inherited Members

- Data Fields inherited from ElementInput2
IssmDoubleelement_values
 
- Protected Attributes inherited from ElementInput2
int numberofelements_local
 
int numberofvertices_local
 
int interpolation
 
int M
 
int N
 
bool isserved
 
IssmDoublevalues
 

Detailed Description

Definition at line 8 of file PentaInput2.h.

Constructor & Destructor Documentation

◆ PentaInput2() [1/2]

PentaInput2::PentaInput2 ( void  )

Definition at line 16 of file PentaInput2.cpp.

16  {/*{{{*/
17 
18  this->numberofelements_local = -1;
19  this->numberofvertices_local = -1;
20  this->isserved = false;
21  this->isserved_collapsed= 0;
22  this->M = -1;
23  this->N = -1;
24  this->values = NULL;
25  this->element_values = NULL;
26 
27 }/*}}}*/

◆ PentaInput2() [2/2]

PentaInput2::PentaInput2 ( int  nbe_in,
int  nbv_in,
int  interp_in 
)

Definition at line 28 of file PentaInput2.cpp.

28  {/*{{{*/
29 
30  _assert_(nbe_in>0);
31  _assert_(nbe_in<1e11);
32  _assert_(nbv_in>0);
33  _assert_(nbv_in<1e11);
34  this->numberofelements_local = nbe_in;
35  this->numberofvertices_local = nbv_in;
36  this->isserved = false;
37  this->isserved_collapsed = 0;
38 
39  /*Reset takes care of the rest*/
40  this->Reset(interp_in);
41 
42 }/*}}}*/

◆ ~PentaInput2()

PentaInput2::~PentaInput2 ( )

Definition at line 43 of file PentaInput2.cpp.

43  {/*{{{*/
44  if(this->element_values) xDelete<IssmDouble>(this->element_values);
45  if(this->values) xDelete<IssmDouble>(this->values);
46 }

Member Function Documentation

◆ copy()

Input2 * PentaInput2::copy ( void  )
virtual

Implements ElementInput2.

Definition at line 73 of file PentaInput2.cpp.

73  {/*{{{*/
74 
75  /*Create output*/
77 
78  /*Copy values*/
79  xMemCpy<IssmDouble>(output->values,this->values,this->M*this->N);
80 
81  /*Return output*/
82  return output;
83 
84 }

◆ DeepEcho()

void PentaInput2::DeepEcho ( void  )
virtual

Implements ElementInput2.

Definition at line 86 of file PentaInput2.cpp.

86  {/*{{{*/
87  _printf_("PentaInput2 Echo:\n");
88  _printf_(" interpolation: "<<EnumToStringx(this->interpolation)<<"\n");
89  _printf_(" nbe_local: "<<this->numberofvertices_local<<"\n");
90  _printf_(" nbv_local: "<<this->numberofelements_local<<"\n");
91  _printf_(" Size: "<<M<<"x"<<N<<"\n");
92  _printf_(" isserved: "<<(isserved?"true":"false") << "\n");
93  _printf_(" isserved_collapsed: "<<isserved_collapsed << "\n");
94  if(isserved){
95  _printf_(" current values: ");
97  _printf_("[ ");
98  for(int i=0;i<3;i++) _printf_(" "<<this->element_values[i]);
99  _printf_("] ("<<EnumToStringx(this->interpolation)<<")\n");
100  }
101  else{
102  _printf_("[ ");
103  for(int i=0;i<PentaRef::NumberofNodes(this->interpolation);i++) _printf_(" "<<this->element_values[i]);
104  _printf_("] ("<<EnumToStringx(this->interpolation)<<")\n");
105  }
106  }
107 }

◆ Echo()

void PentaInput2::Echo ( void  )
virtual

Implements ElementInput2.

Definition at line 109 of file PentaInput2.cpp.

109  {/*{{{*/
110  _printf_(setw(15)<<" PentaInput "<<setw(25)<<left<<EnumToStringx(-1));
111  if(isserved){
112  if(isserved_collapsed){
113  _printf_("[ ");
114  for(int i=0;i<3;i++) _printf_(" "<<this->element_values[i]);
115  _printf_("] ("<<EnumToStringx(this->interpolation)<<")\n");
116  }
117  else{
118  _printf_("[ ");
119  for(int i=0;i<PentaRef::NumberofNodes(this->interpolation);i++) _printf_(" "<<this->element_values[i]);
120  _printf_("] ("<<EnumToStringx(this->interpolation)<<")\n");
121  }
122  }
123 }

◆ Id()

int PentaInput2::Id ( void  )
virtual

Implements ElementInput2.

Definition at line 125 of file PentaInput2.cpp.

125  {/*{{{*/
126  return -1;
127 }/*}}}*/

◆ Marshall()

void PentaInput2::Marshall ( char **  pmarshalled_data,
int *  pmarshalled_data_size,
int  marshall_direction 
)
virtual

Implements ElementInput2.

Definition at line 128 of file PentaInput2.cpp.

128  { /*{{{*/
129 
133  MARSHALLING(this->interpolation);
134  MARSHALLING(this->M);
135  MARSHALLING(this->N);
136  this->isserved = false;
137  this->isserved_collapsed = 0;
138  if(this->M*this->N){
139  MARSHALLING_DYNAMIC(this->values,IssmDouble,this->M*this->N);
140  }
141  else this->values = NULL;
142 
143  if(marshall_direction == MARSHALLING_BACKWARD){
144  this->element_values = xNewZeroInit<IssmDouble>(PentaRef::NumberofNodes(this->interpolation));
145  }
146 }

◆ ObjectEnum()

int PentaInput2::ObjectEnum ( void  )
virtual

Implements ElementInput2.

Definition at line 148 of file PentaInput2.cpp.

148  {/*{{{*/
149  return PentaInput2Enum;
150 }

◆ SetInput() [1/3]

void PentaInput2::SetInput ( int  interp_in,
int  row,
IssmDouble  value_in 
)
virtual

Implements ElementInput2.

Definition at line 154 of file PentaInput2.cpp.

154  {/*{{{*/
155 
156  _assert_(this);
157  _assert_(row>=0);
158  _assert_(row<this->M);
159  _assert_(this->N==1);
160 
161  this->values[row] = value_in;
162  this->isserved = false;
163 }

◆ SetInput() [2/3]

void PentaInput2::SetInput ( int  interp_in,
int  numinds,
int *  rows,
IssmDouble values_in 
)
virtual

Implements ElementInput2.

Definition at line 165 of file PentaInput2.cpp.

165  {/*{{{*/
166 
167  _assert_(this);
168  if(interp_in==P1Enum && this->interpolation==P1Enum){
169  _assert_(this->N==1);
170  for(int i=0;i<numindices;i++){
171  int row = indices[i];
172  _assert_(row>=0);
173  _assert_(row<this->M);
174  this->values[row] = values_in[i];
175  }
176  }
177  else if(this->interpolation!=P1Enum && interp_in==P1Enum){
178  this->Reset(interp_in);
179  for(int i=0;i<numindices;i++){
180  int row = indices[i];
181  _assert_(row>=0);
182  _assert_(row<this->M);
183  this->values[row] = values_in[i];
184  }
185  }
186  else{
187  _error_("not supported");
188  }
189 
190  this->isserved = false;
191 }

◆ SetInput() [3/3]

void PentaInput2::SetInput ( int  interp_in,
int  row,
int  numinds,
IssmDouble values_in 
)
virtual

Implements ElementInput2.

Definition at line 193 of file PentaInput2.cpp.

193  {/*{{{*/
194 
195  _assert_(this);
196  if(interp_in==this->interpolation){
197  _assert_(this->N==numindices);
198  }
199  else{
200  this->Reset(interp_in);
201  _assert_(this->N==numindices);
202  }
203  for(int i=0;i<numindices;i++) this->values[row*this->N+i] = values_in[i];
204 
205  this->isserved = false;
206 }

◆ GetInterpolation()

int PentaInput2::GetInterpolation ( )
virtual

Implements ElementInput2.

Definition at line 266 of file PentaInput2.cpp.

266  {/*{{{*/
267  return this->interpolation;
268 }/*}}}*/

◆ GetInputDerivativeValue()

void PentaInput2::GetInputDerivativeValue ( IssmDouble derivativevalues,
IssmDouble xyz_list,
Gauss gauss 
)
virtual

Implements ElementInput2.

Definition at line 334 of file PentaInput2.cpp.

334  {/*{{{*/
335  _assert_(this);
336  _assert_(this->isserved);
337  if(this->isserved_collapsed){
338  _assert_(gauss->Enum()==GaussTriaEnum);
339  if(this->interpolation==P0Enum){
340  derivativevalues[0] = 0.;
341  derivativevalues[1] = 0.;
342  }
343  else{
344  TriaRef temp;
345  temp.GetInputDerivativeValue(derivativevalues,this->element_values,xyz_list,(GaussTria*)gauss,P1Enum);
346  }
347  }
348  else{
349  _assert_(gauss->Enum()==GaussPentaEnum);
350  PentaRef::GetInputDerivativeValue(derivativevalues,this->element_values,xyz_list,(GaussPenta*)gauss,this->interpolation);
351  }
352 }/*}}}*/

◆ GetInputAverage()

void PentaInput2::GetInputAverage ( IssmDouble pvalue)
virtual

Reimplemented from Input2.

Definition at line 269 of file PentaInput2.cpp.

269  {/*{{{*/
270  _assert_(this);
271  _assert_(this->isserved);
272 
273  /*Output*/
274  IssmDouble value = 0.;
275 
276  if(this->isserved_collapsed){
277  if(this->interpolation==P0Enum){
278  value = this->element_values[0];
279  }
280  else{
281  /*Assume P1...*/
282  value = 1./3.*(this->element_values[0] + this->element_values[1] + this->element_values[2]);
283  }
284  }
285  else{
286  int numnodes = this->NumberofNodes(this->interpolation);
287  IssmDouble numnodesd = reCast<int,IssmDouble>(numnodes);
288 
289  for(int i=0;i<numnodes;i++) value+=this->element_values[i];
290  value = value/numnodesd;
291  }
292 
293  *pvalue=value;
294 }/*}}}*/

◆ GetInputMin()

IssmDouble PentaInput2::GetInputMin ( void  )
virtual

Reimplemented from Input2.

Definition at line 295 of file PentaInput2.cpp.

295  {/*{{{*/
296  _assert_(this);
297  _assert_(this->isserved);
298 
299  int numnodes = this->NumberofNodes(this->interpolation);
300  if(this->isserved_collapsed) numnodes = 3;
301  IssmDouble min=this->element_values[0];
302 
303  for(int i=1;i<numnodes;i++){
304  if(this->element_values[i]<min) min=this->element_values[i];
305  }
306  return min;
307 }/*}}}*/

◆ GetInputMax()

IssmDouble PentaInput2::GetInputMax ( void  )
virtual

Reimplemented from Input2.

Definition at line 308 of file PentaInput2.cpp.

308  {/*{{{*/
309  _assert_(this);
310  _assert_(this->isserved);
311 
312  int numnodes = this->NumberofNodes(this->interpolation);
313  if(this->isserved_collapsed) numnodes = 3;
314  IssmDouble max=this->element_values[0];
315 
316  for(int i=1;i<numnodes;i++){
317  if(this->element_values[i]>max) max=this->element_values[i];
318  }
319  return max;
320 }/*}}}*/

◆ GetInputMaxAbs()

IssmDouble PentaInput2::GetInputMaxAbs ( void  )
virtual

Reimplemented from Input2.

Definition at line 321 of file PentaInput2.cpp.

321  {/*{{{*/
322  _assert_(this);
323  _assert_(this->isserved);
324 
325  int numnodes = this->NumberofNodes(this->interpolation);
326  if(this->isserved_collapsed) numnodes = 3;
327  IssmDouble maxabs=fabs(this->element_values[0]);
328 
329  for(int i=1;i<numnodes;i++){
330  if(fabs(this->element_values[i])>maxabs) maxabs=fabs(this->element_values[i]);
331  }
332  return maxabs;
333 }/*}}}*/

◆ GetPentaInput()

PentaInput2* PentaInput2::GetPentaInput ( )
inlinevirtual

Reimplemented from Input2.

Definition at line 36 of file PentaInput2.h.

36 {return this;};

◆ GetInputValue()

void PentaInput2::GetInputValue ( IssmDouble pvalue,
Gauss gauss 
)
virtual

Implements ElementInput2.

Definition at line 353 of file PentaInput2.cpp.

353  {/*{{{*/
354  _assert_(this);
355  _assert_(this->isserved);
356  if(this->isserved_collapsed){
357  _assert_(gauss->Enum()==GaussTriaEnum);
358  if(this->interpolation==P0Enum){
359  *pvalue = this->element_values[0];
360  }
361  else{
362  TriaRef temp;
363  temp.GetInputValue(pvalue,this->element_values,(GaussTria*)gauss,P1Enum);
364  }
365  }
366  else{
367  _assert_(gauss->Enum()==GaussPentaEnum);
369  }
370 }/*}}}*/

◆ Scale()

void PentaInput2::Scale ( IssmDouble  scalar)
virtual

Reimplemented from Input2.

Definition at line 385 of file PentaInput2.cpp.

385  {/*{{{*/
386 
387  for(int i=0;i<this->M*this->N;i++) this->values[i] = alpha*this->values[i];
388  for(int i=0;i<PentaRef::NumberofNodes(this->interpolation);i++) this->element_values[i] = alpha*this->element_values[i];
389 }

◆ Pow()

void PentaInput2::Pow ( IssmDouble  scalar)
virtual

Reimplemented from Input2.

Definition at line 391 of file PentaInput2.cpp.

391  {/*{{{*/
392 
393  for(int i=0;i<this->M*this->N;i++) this->values[i] = pow(this->values[i],alpha);
394  for(int i=0;i<PentaRef::NumberofNodes(this->interpolation);i++) this->element_values[i] = pow(this->element_values[i],alpha);
395 }

◆ AXPY()

void PentaInput2::AXPY ( Input2 xinput,
IssmDouble  scalar 
)
virtual

Reimplemented from Input2.

Definition at line 397 of file PentaInput2.cpp.

397  {/*{{{*/
398 
399  /*xinput is of the same type, so cast it: */
400  if(xinput->ObjectEnum()!=PentaInput2Enum) _error_("Operation not permitted because xinput is of type " << EnumToStringx(xinput->ObjectEnum()));
401  PentaInput2* xpentainput=xDynamicCast<PentaInput2*>(xinput);
402  if(xpentainput->GetInterpolation()!=this->interpolation) _error_("Operation not permitted because xinput is of type " << EnumToStringx(xinput->ObjectEnum()));
403 
404  /*Carry out the AXPY operation depending on type:*/
405  for(int i=0;i<this->M*this->N;i++) this->values[i] = alpha*xpentainput->values[i] + this->values[i];
406  for(int i=0;i<PentaRef::NumberofNodes(this->interpolation);i++) this->element_values[i] = alpha*xpentainput->element_values[i] + this->element_values[i];
407 }

◆ PointWiseMult()

void PentaInput2::PointWiseMult ( Input2 xinput)
virtual

Reimplemented from Input2.

Definition at line 409 of file PentaInput2.cpp.

409  {/*{{{*/
410 
411  /*xinput is of the same type, so cast it: */
412  if(xinput->ObjectEnum()!=PentaInput2Enum) _error_("Operation not permitted because xinput is of type " << EnumToStringx(xinput->ObjectEnum()));
413  PentaInput2* xpentainput=xDynamicCast<PentaInput2*>(xinput);
414  if(xpentainput->GetInterpolation()!=this->interpolation) _error_("Operation not permitted because xinput is of type " << EnumToStringx(xinput->ObjectEnum()));
415 
416  /* we need to check that the vector sizes are identical*/
417  if(xpentainput->M!=this->M||xpentainput->N!=this->N) _error_("Operation not permitted because the inputs have different sizes");
418 
419  /*Carry out the pointwise operation depending on type:*/
420  for(int i=0;i<this->M*this->N;i++) this->values[i] = xpentainput->values[i] * this->values[i];
421  for(int i=0;i<PentaRef::NumberofNodes(this->interpolation);i++) this->element_values[i] = xpentainput->element_values[i] * this->element_values[i];
422 }

◆ Serve() [1/2]

void PentaInput2::Serve ( int  numindices,
int *  indices 
)
virtual

Implements ElementInput2.

Definition at line 208 of file PentaInput2.cpp.

208  {/*{{{*/
209 
210  _assert_(this);
211  _assert_(this->N==1);
212 
213  for(int i=0;i<numindices;i++){
214  int row = indices[i];
215  _assert_(row>=0);
216  _assert_(row<this->M);
217  this->element_values[i] = this->values[row];
218  }
219 
220  /*Set input as served*/
221  this->isserved = true;
222  this->isserved_collapsed = 0;
223 }

◆ Serve() [2/2]

void PentaInput2::Serve ( int  row,
int  numindices 
)
virtual

Implements ElementInput2.

Definition at line 225 of file PentaInput2.cpp.

225  {/*{{{*/
226 
227  _assert_(this);
228  _assert_(this->N==numindices);
229  _assert_(row<this->M);
230  _assert_(row>=0);
231 
232  for(int i=0;i<numindices;i++){
233  this->element_values[i] = this->values[row*this->N+i];
234  }
235 
236  /*Set input as served*/
237  this->isserved = true;
238  this->isserved_collapsed = 0;
239 }/*}}}*/

◆ ServeCollapsed()

void PentaInput2::ServeCollapsed ( int  row,
int  state 
)

Definition at line 240 of file PentaInput2.cpp.

240  {/*{{{*/
241 
242  _assert_(this);
243  _assert_(this->N>=3);
244  _assert_(row<this->M);
245  _assert_(row>=0);
246 
247  if(state==1){
248  for(int i=0;i<3;i++) this->element_values[i] = this->values[row*this->N+i];
249  for(int i=3;i<6;i++) this->element_values[i] = 0.;
250  }
251  else if(state==2){
252  for(int i=0;i<3;i++) this->element_values[i] = this->values[row*this->N+3+i];
253  for(int i=3;i<6;i++) this->element_values[i] = 0.;
254  }
255  else{
256  _error_("not supported");
257  }
258 
259  /*Set input as served*/
260  this->isserved = true;
261  this->isserved_collapsed = state;
262 }/*}}}*/

◆ SetServeCollapsed()

void PentaInput2::SetServeCollapsed ( int  state)

Definition at line 263 of file PentaInput2.cpp.

263  {/*{{{*/
264  this->isserved_collapsed = state;
265 }/*}}}*/

◆ GetResultArraySize()

int PentaInput2::GetResultArraySize ( void  )
virtual

Implements ElementInput2.

Definition at line 371 of file PentaInput2.cpp.

371  {/*{{{*/
372  return 1;
373 }

◆ GetResultInterpolation()

int PentaInput2::GetResultInterpolation ( void  )
virtual

Implements ElementInput2.

Definition at line 375 of file PentaInput2.cpp.

375  {/*{{{*/
376  if(this->interpolation==P0Enum || this->interpolation==P0DGEnum){
377  return P0Enum;
378  }
379  return P1Enum;
380 }/*}}}*/

◆ GetResultNumberOfNodes()

int PentaInput2::GetResultNumberOfNodes ( void  )
virtual

Implements ElementInput2.

Definition at line 381 of file PentaInput2.cpp.

381  {/*{{{*/
382  return this->N;
383 }

◆ Reset()

void PentaInput2::Reset ( int  interp_in)

Definition at line 48 of file PentaInput2.cpp.

48  {/*{{{*/
49 
50  /*Clean up*/
51  if(this->values) xDelete<IssmDouble>(this->values);
52  if(this->element_values) xDelete<IssmDouble>(this->element_values);
53 
54  /*Set interpolation*/
55  this->interpolation = interp_in;
56 
57  /*Create Sizes*/
58  if(this->interpolation==P1Enum){
59  this->M = this->numberofvertices_local;
60  this->N = 1;
61  }
62  else{
63  this->M = this->numberofelements_local;
64  this->N = PentaRef::NumberofNodes(interp_in);
65  }
66 
67  /*Allocate Pointers*/
68  this->values = xNewZeroInit<IssmDouble>(this->M*this->N);
69  this->element_values = xNewZeroInit<IssmDouble>(PentaRef::NumberofNodes(interp_in));
70 }/*}}}*/

Field Documentation

◆ isserved_collapsed

int PentaInput2::isserved_collapsed
private

Definition at line 11 of file PentaInput2.h.


The documentation for this class was generated from the following files:
_assert_
#define _assert_(ignore)
Definition: exceptions.h:37
IssmDouble
double IssmDouble
Definition: types.h:37
PentaInput2::GetInterpolation
int GetInterpolation()
Definition: PentaInput2.cpp:266
_printf_
#define _printf_(StreamArgs)
Definition: Print.h:22
MARSHALLING_ENUM
#define MARSHALLING_ENUM(EN)
Definition: Marshalling.h:14
PentaInput2::Reset
void Reset(int interp_in)
Definition: PentaInput2.cpp:48
P0Enum
@ P0Enum
Definition: EnumDefinitions.h:661
ElementInput2::interpolation
int interpolation
Definition: ElementInput2.h:12
ElementInput2::numberofelements_local
int numberofelements_local
Definition: ElementInput2.h:10
P0DGEnum
@ P0DGEnum
Definition: EnumDefinitions.h:1214
MARSHALLING_DYNAMIC
#define MARSHALLING_DYNAMIC(FIELD, TYPE, SIZE)
Definition: Marshalling.h:61
P1Enum
@ P1Enum
Definition: EnumDefinitions.h:662
GaussTria
Definition: GaussTria.h:12
PentaRef::NumberofNodes
int NumberofNodes(int finiteelement)
Definition: PentaRef.cpp:1216
EnumToStringx
const char * EnumToStringx(int enum_in)
Definition: EnumToStringx.cpp:15
GaussPenta
Definition: GaussPenta.h:13
PentaInput2::isserved_collapsed
int isserved_collapsed
Definition: PentaInput2.h:11
alpha
IssmDouble alpha(IssmDouble x, IssmDouble y, IssmDouble z, int testid)
Definition: fsanalyticals.cpp:221
MARSHALLING
#define MARSHALLING(FIELD)
Definition: Marshalling.h:29
ElementInput2::values
IssmDouble * values
Definition: ElementInput2.h:15
Gauss::Enum
virtual int Enum(void)=0
PentaInput2
Definition: PentaInput2.h:8
TriaRef::GetInputDerivativeValue
void GetInputDerivativeValue(IssmDouble *pp, IssmDouble *plist, IssmDouble *xyz_list, Gauss *gauss, int finiteelement)
Definition: TriaRef.cpp:34
PentaRef::GetInputDerivativeValue
void GetInputDerivativeValue(IssmDouble *pvalues, IssmDouble *plist, IssmDouble *xyz_list, Gauss *gauss, int finiteelement)
Definition: PentaRef.cpp:131
Object::ObjectEnum
virtual int ObjectEnum()=0
MARSHALLING_BACKWARD
@ MARSHALLING_BACKWARD
Definition: Marshalling.h:10
PentaInput2Enum
@ PentaInput2Enum
Definition: EnumDefinitions.h:1125
_error_
#define _error_(StreamArgs)
Definition: exceptions.h:49
min
IssmDouble min(IssmDouble a, IssmDouble b)
Definition: extrema.cpp:14
ElementInput2::N
int N
Definition: ElementInput2.h:13
TriaRef::GetInputValue
void GetInputValue(IssmDouble *pp, IssmDouble *plist, Gauss *gauss, int finiteelement)
Definition: TriaRef.cpp:68
GaussTriaEnum
@ GaussTriaEnum
Definition: EnumDefinitions.h:1081
ElementInput2::element_values
IssmDouble * element_values
Definition: ElementInput2.h:18
TriaRef
Definition: TriaRef.h:11
ElementInput2::numberofvertices_local
int numberofvertices_local
Definition: ElementInput2.h:11
ElementInput2::M
int M
Definition: ElementInput2.h:13
max
IssmDouble max(IssmDouble a, IssmDouble b)
Definition: extrema.cpp:24
PentaRef::GetInputValue
void GetInputValue(IssmDouble *pvalue, IssmDouble *plist, Gauss *gauss, int finiteelement)
Definition: PentaRef.cpp:169
ElementInput2::isserved
bool isserved
Definition: ElementInput2.h:14
PentaInput2::PentaInput2
PentaInput2()
Definition: PentaInput2.cpp:16
GaussPentaEnum
@ GaussPentaEnum
Definition: EnumDefinitions.h:1078