Changeset 25836 for issm/trunk/src/c/analyses/Balancethickness2Analysis.cpp
- Timestamp:
- 12/08/20 08:45:53 (4 years ago)
- Location:
- issm/trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk
- Property svn:mergeinfo changed
-
issm/trunk/src
- Property svn:mergeinfo changed
-
issm/trunk/src/c
- Property svn:ignore
-
old new 23 23 issm_ocean 24 24 issm_dakota 25 issm_post
-
- Property svn:ignore
-
issm/trunk/src/c/analyses/Balancethickness2Analysis.cpp
r24686 r25836 23 23 return 1; 24 24 }/*}}}*/ 25 void Balancethickness2Analysis::UpdateElements(Elements* elements,Inputs 2* inputs2,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/25 void Balancethickness2Analysis::UpdateElements(Elements* elements,Inputs* inputs,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ 26 26 27 27 /*Finite element type*/ … … 29 29 30 30 /*Load variables in element*/ 31 iomodel->FetchDataToInput(inputs 2,elements,"md.geometry.thickness",ThicknessEnum);32 iomodel->FetchDataToInput(inputs 2,elements,"md.geometry.surface",SurfaceEnum);33 iomodel->FetchDataToInput(inputs 2,elements,"md.geometry.base",BaseEnum);34 iomodel->FetchDataToInput(inputs 2,elements,"md.slr.sealevel",SealevelEnum,0);35 iomodel->FetchDataToInput(inputs 2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);36 iomodel->FetchDataToInput(inputs 2,elements,"md.initialization.vx",VxEnum);37 iomodel->FetchDataToInput(inputs 2,elements,"md.initialization.vy",VyEnum);38 iomodel->FetchDataToInput(inputs 2,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum);39 iomodel->FetchDataToInput(inputs 2,elements,"md.smb.mass_balance",SmbMassBalanceEnum);40 iomodel->FetchDataToInput(inputs 2,elements,"md.balancethickness.thickening_rate",BalancethicknessThickeningRateEnum);31 iomodel->FetchDataToInput(inputs,elements,"md.geometry.thickness",ThicknessEnum); 32 iomodel->FetchDataToInput(inputs,elements,"md.geometry.surface",SurfaceEnum); 33 iomodel->FetchDataToInput(inputs,elements,"md.geometry.base",BaseEnum); 34 iomodel->FetchDataToInput(inputs,elements,"md.solidearth.initialsealevel",SealevelEnum,0); 35 iomodel->FetchDataToInput(inputs,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum); 36 iomodel->FetchDataToInput(inputs,elements,"md.initialization.vx",VxEnum); 37 iomodel->FetchDataToInput(inputs,elements,"md.initialization.vy",VyEnum); 38 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum); 39 iomodel->FetchDataToInput(inputs,elements,"md.smb.mass_balance",SmbMassBalanceEnum); 40 iomodel->FetchDataToInput(inputs,elements,"md.balancethickness.thickening_rate",BalancethicknessThickeningRateEnum); 41 41 42 42 /*Update elements: */ … … 45 45 if(iomodel->my_elements[i]){ 46 46 Element* element=(Element*)elements->GetObjectByOffset(counter); 47 element->Update(inputs 2,i,iomodel,analysis_counter,analysis_type,finiteelement);47 element->Update(inputs,i,iomodel,analysis_counter,analysis_type,finiteelement); 48 48 49 49 counter++; … … 82 82 /*Retrieve all inputs and parameters*/ 83 83 element->GetVerticesCoordinates(&xyz_list); 84 Input 2* vx_input = element->GetInput2(VxEnum); _assert_(vx_input);85 Input 2* vy_input = element->GetInput2(VyEnum); _assert_(vy_input);84 Input* vx_input = element->GetInput(VxEnum); _assert_(vx_input); 85 Input* vy_input = element->GetInput(VyEnum); _assert_(vy_input); 86 86 87 87 /*Get element characteristic length*/ … … 90 90 /* Start looping on the number of gaussian points: */ 91 91 Gauss* gauss=element->NewGauss(2); 92 for(int ig=gauss->begin();ig<gauss->end();ig++){ 93 gauss->GaussPoint(ig); 92 while(gauss->next()){ 94 93 element->NodalFunctionsDerivatives(dbasis,xyz_list,gauss); 95 94 element->JacobianDeterminant(&Jdet,xyz_list,gauss); … … 142 141 /*Retrieve all inputs and parameters*/ 143 142 element->GetVerticesCoordinates(&xyz_list); 144 Input 2* ms_input = element->GetInput2(SmbMassBalanceEnum); _assert_(ms_input);145 Input 2* mb_input = element->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(mb_input);146 Input 2* dhdt_input = element->GetInput2(BalancethicknessThickeningRateEnum); _assert_(dhdt_input);143 Input* ms_input = element->GetInput(SmbMassBalanceEnum); _assert_(ms_input); 144 Input* mb_input = element->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(mb_input); 145 Input* dhdt_input = element->GetInput(BalancethicknessThickeningRateEnum); _assert_(dhdt_input); 147 146 148 147 /* Start looping on the number of gaussian points: */ 149 148 Gauss* gauss=element->NewGauss(2); 150 for(int ig=gauss->begin();ig<gauss->end();ig++){ 151 gauss->GaussPoint(ig); 149 while(gauss->next()){ 152 150 153 151 element->JacobianDeterminant(&Jdet,xyz_list,gauss); … … 174 172 element->GetSolutionFromInputsOneDof(solution,ThicknessEnum); 175 173 }/*}}}*/ 176 void Balancethickness2Analysis::GradientJ(Vector<IssmDouble>* gradient,Element* element,int control_type,int control_index){/*{{{*/174 void Balancethickness2Analysis::GradientJ(Vector<IssmDouble>* gradient,Element* element,int control_type,int control_interp,int control_index){/*{{{*/ 177 175 _error_("Not implemented yet"); 178 176 }/*}}}*/
Note:
See TracChangeset
for help on using the changeset viewer.