 |
Ice Sheet System Model
4.18
Code documentation
|
Go to the documentation of this file.
7 #include "../../shared/shared.h"
8 #include "../../toolkits/toolkits.h"
9 #include "../../classes/Inputs2/DatasetInput2.h"
34 int domaintype,numcomponents;
54 default:
_error_(
"not supported yet");
68 Input2* vyobs_input = NULL;
76 for(
int ig=gauss->
begin();ig<gauss->end();ig++){
100 if(numcomponents==1){
101 misfit=0.5*meanvel*meanvel*pow(log((fabs(vx)+epsvel)/(fabs(vxobs)+epsvel)),2);
104 misfit=0.5*meanvel*meanvel*(
105 pow(log((fabs(vx)+epsvel)/(fabs(vxobs)+epsvel)),2) +
106 pow(log((fabs(vy)+epsvel)/(fabs(vyobs)+epsvel)),2) );
110 Jelem+=misfit*weight*Jdet*gauss->
weight;
115 xDelete<IssmDouble>(xyz_list);
Declaration of Vertices class.
Declaration of Nodes class.
void FindParam(bool *pvalue, int paramenum)
header file for inverse methods misfit computation
@ InversionCostFunctionsCoefficientsEnum
Declaration of Parameters class.
static ISSM_MPI_Comm GetComm(void)
Declaration of Elements class.
@ SurfaceLogVxVyMisfitEnum
void SurfaceLogVxVyMisfitx(IssmDouble *pJ, Elements *elements, Nodes *nodes, Vertices *vertices, Loads *loads, Materials *materials, Parameters *parameters)
virtual Input2 * GetInput2(int inputenum)=0
void DeleteMaterials(void)
virtual DatasetInput2 * GetDatasetInput2(int inputenum)
Declaration of Materials class.
virtual Gauss * NewGauss(void)=0
void GetVerticesCoordinates(IssmDouble **xyz_list)
int ISSM_MPI_Bcast(void *buffer, int count, ISSM_MPI_Datatype datatype, int root, ISSM_MPI_Comm comm)
Declaration of Loads class.
#define _error_(StreamArgs)
virtual Element * SpawnTopElement(void)=0
virtual int begin(void)=0
Object * GetObjectByOffset(int offset)
virtual void JacobianDeterminant(IssmDouble *Jdet, IssmDouble *xyz_list, Gauss *gauss)=0
virtual void GaussPoint(int ig)=0
IssmDouble SurfaceLogVxVyMisfit(Element *element)
int ISSM_MPI_Reduce(void *sendbuf, void *recvbuf, int count, ISSM_MPI_Datatype datatype, ISSM_MPI_Op op, int root, ISSM_MPI_Comm comm)