Changeset 8592 for issm/trunk/src/c/objects/Elements/Tria.cpp
- Timestamp:
- 06/09/11 15:22:09 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk/src/c/objects/Elements/Tria.cpp ¶
r8567 r8592 1630 1630 thickness_input->GetParameterDerivativeValue(&dH[0],&xyz_list[0][0],gauss); 1631 1631 thicknessobs_input->GetParameterValue(&thicknessobs, gauss); 1632 weights_input->GetParameterValue(&weight, gauss );1632 weights_input->GetParameterValue(&weight, gauss,0); 1633 1633 1634 1634 for(i=0;i<numdof;i++) pe->values[i]+=(thicknessobs-thickness)*weight*Jdet*gauss->weight*l1l2l3[i]; … … 1677 1677 GetParameterListOnVertices(&vx_list[0],VxEnum); 1678 1678 GetParameterListOnVertices(&vy_list[0],VyEnum); 1679 GetParameterListOnVertices(&weights_list[0],WeightsEnum );1679 GetParameterListOnVertices(&weights_list[0],WeightsEnum,0,0); 1680 1680 inputs->GetParameterValue(&response,CmResponseEnum); 1681 1681 if(response==SurfaceAverageVelMisfitEnum){ … … 1857 1857 GetParameterListOnVertices(&vx_list[0],VxEnum); 1858 1858 GetParameterListOnVertices(&vy_list[0],VyEnum); 1859 GetParameterListOnVertices(&weights_list[0],WeightsEnum );1859 GetParameterListOnVertices(&weights_list[0],WeightsEnum,0,0); 1860 1860 inputs->GetParameterValue(&response,CmResponseEnum); 1861 1861 if(response==SurfaceAverageVelMisfitEnum){ … … 2184 2184 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 2185 2185 Input* surface_mass_balance_input=inputs->GetInput(SurfaceMassBalanceEnum); _assert_(surface_mass_balance_input); 2186 Input* basal_melting_input=inputs->GetInput(BasalMeltingRateEnum); 2187 Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input);2186 Input* basal_melting_input=inputs->GetInput(BasalMeltingRateEnum); _assert_(basal_melting_input); 2187 Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input); 2188 2188 2189 2189 /* Start looping on the number of gaussian points: */ … … 2558 2558 gauss->GaussVertex(iv); 2559 2559 input->GetParameterValue(&pvalue[iv],gauss); 2560 } 2561 } 2562 else{ 2563 for (int iv=0;iv<NUMVERTICES;iv++) pvalue[iv]=defaultvalue; 2564 } 2565 2566 /*clean-up*/ 2567 delete gauss; 2568 } 2569 /*}}}*/ 2570 /*FUNCTION Tria::GetParameterListOnVertices(double* pvalue,int enumtype,double defaultvalue,int index) TO BE REMOVED{{{1*/ 2571 void Tria::GetParameterListOnVertices(double* pvalue,int enumtype,double defaultvalue,int index){ 2572 2573 double value[NUMVERTICES]; 2574 GaussTria *gauss = NULL; 2575 Input *input = inputs->GetInput(enumtype); 2576 2577 /*Checks in debugging mode*/ 2578 _assert_(pvalue); 2579 2580 /* Start looping on the number of vertices: */ 2581 if (input){ 2582 gauss=new GaussTria(); 2583 for (int iv=0;iv<NUMVERTICES;iv++){ 2584 gauss->GaussVertex(iv); 2585 input->GetParameterValue(&pvalue[iv],gauss,index); 2560 2586 } 2561 2587 } … … 3518 3544 this->inputs->AddInput(new TriaVertexInput(VzObsEnum,nodeinputs)); 3519 3545 } 3520 if (iomodel->weights) { 3521 for(i=0;i<3;i++)nodeinputs[i]=iomodel->weights[tria_vertex_ids[i]-1]; 3522 this->inputs->AddInput(new TriaVertexInput(WeightsEnum,nodeinputs)); 3523 } 3546 3524 3547 if (iomodel->elementoniceshelf) this->inputs->AddInput(new BoolInput(ElementOnIceShelfEnum,(IssmBool)iomodel->elementoniceshelf[index])); 3525 3548 if (iomodel->elementonbed) this->inputs->AddInput(new BoolInput(ElementOnBedEnum,(IssmBool)iomodel->elementonbed[index])); … … 3570 3593 } 3571 3594 } 3595 3596 /*DatasetInputs*/ 3597 if (iomodel->weights) { 3598 3599 /*Create inputs and add to DataSetInput*/ 3600 DatasetInput* datasetinput=new DatasetInput(WeightsEnum); 3601 for(j=0;j<iomodel->num_cm_responses;j++){ 3602 for(i=0;i<3;i++)nodeinputs[i]=iomodel->weights[tria_vertex_ids[i]-1]; 3603 datasetinput->inputs->AddObject(new TriaVertexInput(WeightsEnum,nodeinputs)); 3604 } 3605 3606 /*Add datasetinput to element inputs*/ 3607 this->inputs->AddInput(datasetinput); 3608 } 3572 3609 } 3573 3610 /*}}}*/ … … 4831 4868 GetParameterListOnVertices(&vx_list[0],VxEnum); 4832 4869 GetParameterListOnVertices(&vy_list[0],VyEnum); 4833 GetParameterListOnVertices(&weights_list[0],WeightsEnum );4870 GetParameterListOnVertices(&weights_list[0],WeightsEnum,0,0); 4834 4871 4835 4872 /*retrieve some parameters: */ … … 4941 4978 GetParameterListOnVertices(&vx_list[0],VxEnum); 4942 4979 GetParameterListOnVertices(&vy_list[0],VyEnum); 4943 GetParameterListOnVertices(&weights_list[0],WeightsEnum );4980 GetParameterListOnVertices(&weights_list[0],WeightsEnum,0,0); 4944 4981 4945 4982 /*retrieve some parameters: */ … … 5021 5058 GetParameterListOnVertices(&vx_list[0],VxEnum); 5022 5059 GetParameterListOnVertices(&vy_list[0],VyEnum); 5023 GetParameterListOnVertices(&weights_list[0],WeightsEnum );5060 GetParameterListOnVertices(&weights_list[0],WeightsEnum,0,0); 5024 5061 5025 5062 /*retrieve some parameters: */ … … 5104 5141 GetParameterListOnVertices(&vx_list[0],VxEnum); 5105 5142 GetParameterListOnVertices(&vy_list[0],VyEnum); 5106 GetParameterListOnVertices(&weights_list[0],WeightsEnum );5143 GetParameterListOnVertices(&weights_list[0],WeightsEnum,0,0); 5107 5144 5108 5145 /*retrieve some parameters: */ … … 5206 5243 5207 5244 /* Recover input data: */ 5245 GetParameterListOnVertices(&weights_list[0],WeightsEnum,0,0); 5208 5246 GetParameterListOnVertices(&obs_vx_list[0],VxObsEnum); 5209 5247 GetParameterListOnVertices(&obs_vy_list[0],VyObsEnum); 5210 5248 GetParameterListOnVertices(&vx_list[0],VxEnum); 5211 5249 GetParameterListOnVertices(&vy_list[0],VyEnum); 5212 GetParameterListOnVertices(&weights_list[0],WeightsEnum);5213 5250 5214 5251 /*retrieve some parameters: */ … … 5304 5341 thickness_input->GetParameterDerivativeValue(&dH[0],&xyz_list[0][0],gauss); 5305 5342 thicknessobs_input->GetParameterValue(&thicknessobs,gauss); 5306 weights_input->GetParameterValue(&weight,gauss );5343 weights_input->GetParameterValue(&weight,gauss,0); 5307 5344 5308 5345 /*compute ThicknessAbsMisfit*/
Note:
See TracChangeset
for help on using the changeset viewer.