 |
Ice Sheet System Model
4.18
Code documentation
|
Go to the documentation of this file.
8 #error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
11 #include "../classes.h"
12 #include "../../shared/shared.h"
40 this->
Reset(interp_in);
67 this->
values = xNewZeroInit<IssmDouble>(this->
M*this->
N);
76 xMemCpy<IssmDouble>(output->
values,this->values,this->M*this->N);
148 this->
values[row] = value_in;
157 for(
int i=0;i<numindices;i++){
158 int row = indices[i];
161 this->
values[row] = values_in[i];
166 for(
int i=0;i<numindices;i++){
167 int row = indices[i];
170 this->
values[row] = values_in[i];
174 this->
Reset(interp_in);
175 for(
int i=0;i<numindices;i++){
176 int row = indices[i];
179 this->
values[row] = values_in[i];
195 this->
Reset(interp_in);
198 for(
int i=0;i<numindices;i++) this->
values[row*this->
N+i] = values_in[i];
207 for(
int i=0;i<numindices;i++){
208 int row = indices[i];
226 for(
int i=0;i<numindices;i++){
262 IssmDouble numnodesd = reCast<int,IssmDouble>(numnodes);
266 value = value/numnodesd;
278 for(
int i=1;i<numnodes;i++){
291 for(
int i=1;i<numnodes;i++){
304 for(
int i=1;i<numnodes;i++){
316 derivativevalues[0] = 0.;
376 TriaInput2* xtriainput=xDynamicCast<TriaInput2*>(xinput);
380 for(
int i=0;i<this->
M*this->
N;i++) this->
values[i] =
alpha*xtriainput->
values[i] + this->values[i];
388 TriaInput2* xtriainput=xDynamicCast<TriaInput2*>(xinput);
392 if(xtriainput->
M!=this->M||xtriainput->
N!=this->N)
_error_(
"Operation not permitted because the inputs have different sizes");
395 for(
int i=0;i<this->
M*this->
N;i++) this->
values[i] = xtriainput->
values[i] * this->values[i];
#define _printf_(StreamArgs)
#define MARSHALLING_ENUM(EN)
void GetInputValue(IssmDouble *p, IssmDouble *plist, GaussSeg *gauss, int finiteelement)
#define MARSHALLING_DYNAMIC(FIELD, TYPE, SIZE)
const char * EnumToStringx(int enum_in)
IssmDouble alpha(IssmDouble x, IssmDouble y, IssmDouble z, int testid)
#define MARSHALLING(FIELD)
void GetInputDerivativeValue(IssmDouble *pp, IssmDouble *plist, IssmDouble *xyz_list, Gauss *gauss, int finiteelement)
void GetInputDerivativeValue(IssmDouble *p, IssmDouble *plist, IssmDouble *xyz_list, GaussSeg *gauss, int finiteelement)
virtual int ObjectEnum()=0
#define _error_(StreamArgs)
void printarray(IssmPDouble *array, int lines, int cols=1)
IssmDouble min(IssmDouble a, IssmDouble b)
void GetInputValue(IssmDouble *pp, IssmDouble *plist, Gauss *gauss, int finiteelement)
int NumberofNodes(int finiteelement)
IssmDouble max(IssmDouble a, IssmDouble b)