Changeset 15130
- Timestamp:
- 05/28/13 15:16:02 (12 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 45 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/DependentObject.cpp
r15104 r15130 94 94 } 95 95 96 femmodel->Responsex(poutput_value,this->name, false,0);96 femmodel->Responsex(poutput_value,this->name,0); 97 97 98 98 } -
issm/trunk-jpl/src/c/classes/Elements/Element.h
r15129 r15130 71 71 virtual void RequestedOutput(int output_enum,int step,IssmDouble time)=0; 72 72 73 virtual int NodalValue(IssmDouble* pvalue, int index, int natureofdataenum ,bool process_units)=0;73 virtual int NodalValue(IssmDouble* pvalue, int index, int natureofdataenum)=0; 74 74 virtual void InputScale(int enum_type,IssmDouble scale_factor)=0; 75 75 virtual void GetVectorFromInputs(Vector<IssmDouble>* vector, int name_enum)=0; … … 89 89 90 90 #ifdef _HAVE_RESPONSES_ 91 virtual void MinVel(IssmDouble* pminvel , bool process_units)=0;92 virtual void MaxVel(IssmDouble* pmaxvel , bool process_units)=0;93 virtual void MinVx(IssmDouble* pminvx , bool process_units)=0;94 virtual void MaxVx(IssmDouble* pmaxvx , bool process_units)=0;95 virtual void MaxAbsVx(IssmDouble* pmaxabsvx , bool process_units)=0;96 virtual void MinVy(IssmDouble* pminvy , bool process_units)=0;97 virtual void MaxVy(IssmDouble* pmaxvy , bool process_units)=0;98 virtual void MaxAbsVy(IssmDouble* pmaxabsvy , bool process_units)=0;99 virtual void MinVz(IssmDouble* pminvz , bool process_units)=0;100 virtual void MaxVz(IssmDouble* pmaxvz , bool process_units)=0;101 virtual void MaxAbsVz(IssmDouble* pmaxabsvz , bool process_units)=0;102 virtual IssmDouble MassFlux(IssmDouble* segment ,bool process_units)=0;91 virtual void MinVel(IssmDouble* pminvel)=0; 92 virtual void MaxVel(IssmDouble* pmaxvel)=0; 93 virtual void MinVx(IssmDouble* pminvx)=0; 94 virtual void MaxVx(IssmDouble* pmaxvx)=0; 95 virtual void MaxAbsVx(IssmDouble* pmaxabsvx)=0; 96 virtual void MinVy(IssmDouble* pminvy)=0; 97 virtual void MaxVy(IssmDouble* pmaxvy)=0; 98 virtual void MaxAbsVy(IssmDouble* pmaxabsvy)=0; 99 virtual void MinVz(IssmDouble* pminvz)=0; 100 virtual void MaxVz(IssmDouble* pmaxvz)=0; 101 virtual void MaxAbsVz(IssmDouble* pmaxabsvz)=0; 102 virtual IssmDouble MassFlux(IssmDouble* segment)=0; 103 103 virtual void ElementResponse(IssmDouble* presponse,int response_enum)=0; 104 104 virtual IssmDouble IceVolume(void)=0; … … 112 112 #ifdef _HAVE_CONTROL_ 113 113 virtual void Gradj(Vector<IssmDouble>* gradient,int control_type,int control_index)=0; 114 virtual IssmDouble ThicknessAbsMisfit( bool process_units ,int weight_index)=0;115 virtual IssmDouble SurfaceAbsVelMisfit( bool process_units ,int weight_index)=0;116 virtual IssmDouble SurfaceRelVelMisfit( bool process_units ,int weight_index)=0;117 virtual IssmDouble SurfaceLogVelMisfit( bool process_units ,int weight_index)=0;118 virtual IssmDouble SurfaceLogVxVyMisfit( bool process_units,int weight_index)=0;119 virtual IssmDouble SurfaceAverageVelMisfit( bool process_units,int weight_index)=0;120 virtual IssmDouble ThicknessAbsGradient( bool process_units,int weight_index)=0;121 virtual IssmDouble ThicknessAlongGradient( bool process_units,int weight_index)=0;122 virtual IssmDouble ThicknessAcrossGradient( bool process_units,int weight_index)=0;123 virtual IssmDouble BalancethicknessMisfit( bool process_units,int weight_index)=0;124 virtual IssmDouble RheologyBbarAbsGradient( bool process_units,int weight_index)=0;125 virtual IssmDouble DragCoefficientAbsGradient( bool process_units,int weight_index)=0;114 virtual IssmDouble ThicknessAbsMisfit(int weight_index)=0; 115 virtual IssmDouble SurfaceAbsVelMisfit(int weight_index)=0; 116 virtual IssmDouble SurfaceRelVelMisfit(int weight_index)=0; 117 virtual IssmDouble SurfaceLogVelMisfit(int weight_index)=0; 118 virtual IssmDouble SurfaceLogVxVyMisfit(int weight_index)=0; 119 virtual IssmDouble SurfaceAverageVelMisfit(int weight_index)=0; 120 virtual IssmDouble ThicknessAbsGradient(int weight_index)=0; 121 virtual IssmDouble ThicknessAlongGradient(int weight_index)=0; 122 virtual IssmDouble ThicknessAcrossGradient(int weight_index)=0; 123 virtual IssmDouble BalancethicknessMisfit(int weight_index)=0; 124 virtual IssmDouble RheologyBbarAbsGradient(int weight_index)=0; 125 virtual IssmDouble DragCoefficientAbsGradient(int weight_index)=0; 126 126 virtual void ControlInputGetGradient(Vector<IssmDouble>* gradient,int enum_type,int control_index)=0; 127 127 virtual void ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index)=0; -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r15129 r15130 2429 2429 /*}}}*/ 2430 2430 /*FUNCTION Penta::NodalValue {{{*/ 2431 int Penta::NodalValue(IssmDouble* pvalue, int index, int natureofdataenum ,bool process_units){2431 int Penta::NodalValue(IssmDouble* pvalue, int index, int natureofdataenum){ 2432 2432 2433 2433 int i; … … 2984 2984 2985 2985 /*Get for Vx and Vy, the max of abs value: */ 2986 this->MaxAbsVx(&maxabsvx ,false);2987 this->MaxAbsVy(&maxabsvy ,false);2988 this->MaxAbsVz(&maxabsvz ,false);2986 this->MaxAbsVx(&maxabsvx); 2987 this->MaxAbsVy(&maxabsvy); 2988 this->MaxAbsVz(&maxabsvz); 2989 2989 2990 2990 /* Get node coordinates and dof list: */ … … 3266 3266 /*}}}*/ 3267 3267 /*FUNCTION Penta::MinVel{{{*/ 3268 void Penta::MinVel(IssmDouble* pminvel , bool process_units){3268 void Penta::MinVel(IssmDouble* pminvel){ 3269 3269 3270 3270 /*Get minimum:*/ … … 3276 3276 /*}}}*/ 3277 3277 /*FUNCTION Penta::MinVx{{{*/ 3278 void Penta::MinVx(IssmDouble* pminvx , bool process_units){3278 void Penta::MinVx(IssmDouble* pminvx){ 3279 3279 3280 3280 /*Get minimum:*/ … … 3286 3286 /*}}}*/ 3287 3287 /*FUNCTION Penta::MinVy{{{*/ 3288 void Penta::MinVy(IssmDouble* pminvy , bool process_units){3288 void Penta::MinVy(IssmDouble* pminvy){ 3289 3289 3290 3290 /*Get minimum:*/ … … 3296 3296 /*}}}*/ 3297 3297 /*FUNCTION Penta::MinVz{{{*/ 3298 void Penta::MinVz(IssmDouble* pminvz , bool process_units){3298 void Penta::MinVz(IssmDouble* pminvz){ 3299 3299 3300 3300 /*Get minimum:*/ … … 3306 3306 /*}}}*/ 3307 3307 /*FUNCTION Penta::MassFlux {{{*/ 3308 IssmDouble Penta::MassFlux( IssmDouble* segment ,bool process_units){3308 IssmDouble Penta::MassFlux( IssmDouble* segment){ 3309 3309 3310 3310 IssmDouble mass_flux=0; … … 3318 3318 /*Spawn Tria element from the base of the Penta: */ 3319 3319 Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria. 3320 mass_flux=tria->MassFlux(segment ,process_units);3320 mass_flux=tria->MassFlux(segment); 3321 3321 delete tria->material; delete tria; 3322 3322 … … 3330 3330 /*}}}*/ 3331 3331 /*FUNCTION Penta::MaxAbsVx{{{*/ 3332 void Penta::MaxAbsVx(IssmDouble* pmaxabsvx , bool process_units){3332 void Penta::MaxAbsVx(IssmDouble* pmaxabsvx){ 3333 3333 3334 3334 /*Get maximum:*/ … … 3340 3340 /*}}}*/ 3341 3341 /*FUNCTION Penta::MaxAbsVy{{{*/ 3342 void Penta::MaxAbsVy(IssmDouble* pmaxabsvy , bool process_units){3342 void Penta::MaxAbsVy(IssmDouble* pmaxabsvy){ 3343 3343 3344 3344 /*Get maximum:*/ … … 3350 3350 /*}}}*/ 3351 3351 /*FUNCTION Penta::MaxAbsVz{{{*/ 3352 void Penta::MaxAbsVz(IssmDouble* pmaxabsvz , bool process_units){3352 void Penta::MaxAbsVz(IssmDouble* pmaxabsvz){ 3353 3353 3354 3354 /*Get maximum:*/ … … 3360 3360 /*}}}*/ 3361 3361 /*FUNCTION Penta::MaxVel{{{*/ 3362 void Penta::MaxVel(IssmDouble* pmaxvel , bool process_units){3362 void Penta::MaxVel(IssmDouble* pmaxvel){ 3363 3363 3364 3364 /*Get maximum:*/ … … 3371 3371 /*}}}*/ 3372 3372 /*FUNCTION Penta::MaxVx{{{*/ 3373 void Penta::MaxVx(IssmDouble* pmaxvx , bool process_units){3373 void Penta::MaxVx(IssmDouble* pmaxvx){ 3374 3374 3375 3375 /*Get maximum:*/ … … 3381 3381 /*}}}*/ 3382 3382 /*FUNCTION Penta::MaxVy{{{*/ 3383 void Penta::MaxVy(IssmDouble* pmaxvy , bool process_units){3383 void Penta::MaxVy(IssmDouble* pmaxvy){ 3384 3384 3385 3385 /*Get maximum:*/ … … 3391 3391 /*}}}*/ 3392 3392 /*FUNCTION Penta::MaxVz{{{*/ 3393 void Penta::MaxVz(IssmDouble* pmaxvz , bool process_units){3393 void Penta::MaxVz(IssmDouble* pmaxvz){ 3394 3394 3395 3395 /*Get maximum:*/ … … 5415 5415 /*}}}*/ 5416 5416 /*FUNCTION Penta::SurfaceAverageVelMisfit {{{*/ 5417 IssmDouble Penta::SurfaceAverageVelMisfit( bool process_units,int weight_index){5417 IssmDouble Penta::SurfaceAverageVelMisfit(int weight_index){ 5418 5418 5419 5419 int approximation; … … 5438 5438 * and compute SurfaceAverageVelMisfit*/ 5439 5439 tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face). 5440 J=tria->SurfaceAverageVelMisfit( process_units,weight_index);5440 J=tria->SurfaceAverageVelMisfit(weight_index); 5441 5441 delete tria->material; delete tria; 5442 5442 return J; … … 5445 5445 5446 5446 tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face). 5447 J=tria->SurfaceAverageVelMisfit( process_units,weight_index);5447 J=tria->SurfaceAverageVelMisfit(weight_index); 5448 5448 delete tria->material; delete tria; 5449 5449 return J; … … 5452 5452 /*}}}*/ 5453 5453 /*FUNCTION Penta::SurfaceAbsVelMisfit {{{*/ 5454 IssmDouble Penta::SurfaceAbsVelMisfit( bool process_units,int weight_index){5454 IssmDouble Penta::SurfaceAbsVelMisfit(int weight_index){ 5455 5455 5456 5456 int approximation; … … 5475 5475 * and compute SurfaceAbsVelMisfit*/ 5476 5476 tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face). 5477 J=tria->SurfaceAbsVelMisfit( process_units,weight_index);5477 J=tria->SurfaceAbsVelMisfit(weight_index); 5478 5478 delete tria->material; delete tria; 5479 5479 return J; … … 5482 5482 5483 5483 tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face). 5484 J=tria->SurfaceAbsVelMisfit( process_units,weight_index);5484 J=tria->SurfaceAbsVelMisfit(weight_index); 5485 5485 delete tria->material; delete tria; 5486 5486 return J; … … 5489 5489 /*}}}*/ 5490 5490 /*FUNCTION Penta::SurfaceLogVelMisfit {{{*/ 5491 IssmDouble Penta::SurfaceLogVelMisfit( bool process_units,int weight_index){5491 IssmDouble Penta::SurfaceLogVelMisfit(int weight_index){ 5492 5492 5493 5493 int approximation; … … 5512 5512 * and compute SurfaceLogVelMisfit*/ 5513 5513 tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face). 5514 J=tria->SurfaceLogVelMisfit( process_units,weight_index);5514 J=tria->SurfaceLogVelMisfit(weight_index); 5515 5515 delete tria->material; delete tria; 5516 5516 return J; … … 5519 5519 5520 5520 tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face). 5521 J=tria->SurfaceLogVelMisfit( process_units,weight_index);5521 J=tria->SurfaceLogVelMisfit(weight_index); 5522 5522 delete tria->material; delete tria; 5523 5523 return J; … … 5526 5526 /*}}}*/ 5527 5527 /*FUNCTION Penta::SurfaceLogVxVyMisfit {{{*/ 5528 IssmDouble Penta::SurfaceLogVxVyMisfit( bool process_units,int weight_index){5528 IssmDouble Penta::SurfaceLogVxVyMisfit(int weight_index){ 5529 5529 5530 5530 IssmDouble J; … … 5551 5551 * and compute SurfaceLogVxVyMisfit*/ 5552 5552 tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face). 5553 J=tria->SurfaceLogVxVyMisfit( process_units,weight_index);5553 J=tria->SurfaceLogVxVyMisfit(weight_index); 5554 5554 delete tria->material; delete tria; 5555 5555 return J; … … 5558 5558 5559 5559 tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face). 5560 J=tria->SurfaceLogVxVyMisfit( process_units,weight_index);5560 J=tria->SurfaceLogVxVyMisfit(weight_index); 5561 5561 delete tria->material; delete tria; 5562 5562 return J; … … 5565 5565 /*}}}*/ 5566 5566 /*FUNCTION Penta::SurfaceRelVelMisfit {{{*/ 5567 IssmDouble Penta::SurfaceRelVelMisfit( bool process_units,int weight_index){5567 IssmDouble Penta::SurfaceRelVelMisfit(int weight_index){ 5568 5568 5569 5569 int approximation; … … 5588 5588 * and compute SurfaceRelVelMisfit*/ 5589 5589 tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face). 5590 J=tria->SurfaceRelVelMisfit( process_units,weight_index);5590 J=tria->SurfaceRelVelMisfit(weight_index); 5591 5591 delete tria->material; delete tria; 5592 5592 return J; … … 5595 5595 5596 5596 tria=(Tria*)SpawnTria(3,4,5); //nodes 3, 4 and 5 make the new tria (upper face). 5597 J=tria->SurfaceRelVelMisfit( process_units,weight_index);5597 J=tria->SurfaceRelVelMisfit(weight_index); 5598 5598 delete tria->material; delete tria; 5599 5599 return J; … … 5602 5602 /*}}}*/ 5603 5603 /*FUNCTION Penta::ThicknessAbsGradient{{{*/ 5604 IssmDouble Penta::ThicknessAbsGradient( bool process_units,int weight_index){5604 IssmDouble Penta::ThicknessAbsGradient(int weight_index){ 5605 5605 5606 5606 _error_("Not implemented yet"); … … 5608 5608 /*}}}*/ 5609 5609 /*FUNCTION Penta::ThicknessAbsMisfit {{{*/ 5610 IssmDouble Penta::ThicknessAbsMisfit( bool process_units,int weight_index){5610 IssmDouble Penta::ThicknessAbsMisfit(int weight_index){ 5611 5611 5612 5612 int approximation; … … 5622 5622 5623 5623 tria=(Tria*)SpawnTria(0,1,2); 5624 J=tria->ThicknessAbsMisfit( process_units,weight_index);5624 J=tria->ThicknessAbsMisfit(weight_index); 5625 5625 delete tria->material; delete tria; 5626 5626 return J; … … 5628 5628 /*}}}*/ 5629 5629 /*FUNCTION Penta::DragCoefficientAbsGradient{{{*/ 5630 IssmDouble Penta::DragCoefficientAbsGradient( bool process_units,int weight_index){5630 IssmDouble Penta::DragCoefficientAbsGradient(int weight_index){ 5631 5631 5632 5632 IssmDouble J; … … 5637 5637 5638 5638 tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria 5639 J=tria->DragCoefficientAbsGradient( process_units,weight_index);5639 J=tria->DragCoefficientAbsGradient(weight_index); 5640 5640 delete tria->material; delete tria; 5641 5641 return J; … … 5643 5643 /*}}}*/ 5644 5644 /*FUNCTION Penta::RheologyBbarAbsGradient{{{*/ 5645 IssmDouble Penta::RheologyBbarAbsGradient( bool process_units,int weight_index){5645 IssmDouble Penta::RheologyBbarAbsGradient(int weight_index){ 5646 5646 5647 5647 IssmDouble J; … … 5652 5652 5653 5653 tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria 5654 J=tria->RheologyBbarAbsGradient( process_units,weight_index);5654 J=tria->RheologyBbarAbsGradient(weight_index); 5655 5655 delete tria->material; delete tria; 5656 5656 return J; -
issm/trunk-jpl/src/c/classes/Elements/Penta.h
r15129 r15130 118 118 void Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type); 119 119 int UpdatePotentialUngrounding(IssmDouble* potential_sheet_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf); 120 int NodalValue(IssmDouble* pvalue, int index, int natureofdataenum ,bool process_units);120 int NodalValue(IssmDouble* pvalue, int index, int natureofdataenum); 121 121 IssmDouble TimeAdapt(); 122 122 int* GetHorizontalNeighboorSids(void); … … 127 127 IssmDouble IceVolume(void); 128 128 IssmDouble TotalSmb(void); 129 void MinVel(IssmDouble* pminvel , bool process_units);130 void MinVx(IssmDouble* pminvx , bool process_units);131 void MinVy(IssmDouble* pminvy , bool process_units);132 void MinVz(IssmDouble* pminvz , bool process_units);133 IssmDouble MassFlux(IssmDouble* segment ,bool process_units);134 void MaxAbsVx(IssmDouble* pmaxabsvx , bool process_units);135 void MaxAbsVy(IssmDouble* pmaxabsvy , bool process_units);136 void MaxAbsVz(IssmDouble* pmaxabsvz , bool process_units);137 void MaxVel(IssmDouble* pmaxvel , bool process_units);129 void MinVel(IssmDouble* pminvel); 130 void MinVx(IssmDouble* pminvx); 131 void MinVy(IssmDouble* pminvy); 132 void MinVz(IssmDouble* pminvz); 133 IssmDouble MassFlux(IssmDouble* segment); 134 void MaxAbsVx(IssmDouble* pmaxabsvx); 135 void MaxAbsVy(IssmDouble* pmaxabsvy); 136 void MaxAbsVz(IssmDouble* pmaxabsvz); 137 void MaxVel(IssmDouble* pmaxvel); 138 138 void ElementResponse(IssmDouble* presponse,int response_enum); 139 void MaxVx(IssmDouble* pmaxvx , bool process_units);140 void MaxVy(IssmDouble* pmaxvy , bool process_units);141 void MaxVz(IssmDouble* pmaxvz , bool process_units);139 void MaxVx(IssmDouble* pmaxvx); 140 void MaxVy(IssmDouble* pmaxvy); 141 void MaxVz(IssmDouble* pmaxvz); 142 142 #endif 143 143 … … 147 147 148 148 #ifdef _HAVE_CONTROL_ 149 IssmDouble DragCoefficientAbsGradient( bool process_units,int weight_index);149 IssmDouble DragCoefficientAbsGradient(int weight_index); 150 150 void GradientIndexing(int* indexing,int control_index); 151 151 void Gradj(Vector<IssmDouble>* gradient,int control_type,int control_index); … … 161 161 void ControlInputScaleGradient(int enum_type,IssmDouble scale); 162 162 void ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index); 163 IssmDouble RheologyBbarAbsGradient( bool process_units,int weight_index);164 IssmDouble ThicknessAbsMisfit( bool process_units,int weight_index);165 IssmDouble SurfaceAbsVelMisfit( bool process_units,int weight_index);166 IssmDouble SurfaceRelVelMisfit( bool process_units,int weight_index);167 IssmDouble SurfaceLogVelMisfit( bool process_units,int weight_index);168 IssmDouble SurfaceLogVxVyMisfit( bool process_units,int weight_index);169 IssmDouble SurfaceAverageVelMisfit( bool process_units,int weight_index);170 IssmDouble ThicknessAbsGradient( bool process_units,int weight_index);171 IssmDouble ThicknessAlongGradient( bool process_units,int weight_index){_error_("not supported");};172 IssmDouble ThicknessAcrossGradient( bool process_units,int weight_index){_error_("not supported");};173 IssmDouble BalancethicknessMisfit( bool process_units,int weight_index){_error_("not supported");};163 IssmDouble RheologyBbarAbsGradient(int weight_index); 164 IssmDouble ThicknessAbsMisfit( int weight_index); 165 IssmDouble SurfaceAbsVelMisfit( int weight_index); 166 IssmDouble SurfaceRelVelMisfit( int weight_index); 167 IssmDouble SurfaceLogVelMisfit( int weight_index); 168 IssmDouble SurfaceLogVxVyMisfit( int weight_index); 169 IssmDouble SurfaceAverageVelMisfit(int weight_index); 170 IssmDouble ThicknessAbsGradient(int weight_index); 171 IssmDouble ThicknessAlongGradient( int weight_index){_error_("not supported");}; 172 IssmDouble ThicknessAcrossGradient(int weight_index){_error_("not supported");}; 173 IssmDouble BalancethicknessMisfit(int weight_index){_error_("not supported");}; 174 174 void InputControlUpdate(IssmDouble scalar,bool save_parameter); 175 175 #endif -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r15129 r15130 2357 2357 /*}}}*/ 2358 2358 /*FUNCTION Tria::NodalValue {{{*/ 2359 int Tria::NodalValue(IssmDouble* pvalue, int index, int natureofdataenum ,bool process_units){2359 int Tria::NodalValue(IssmDouble* pvalue, int index, int natureofdataenum){ 2360 2360 2361 2361 int found = 0; … … 2688 2688 /*Get for Vx and Vy, the max of abs value: */ 2689 2689 #ifdef _HAVE_RESPONSES_ 2690 this->MaxAbsVx(&maxabsvx ,false);2691 this->MaxAbsVy(&maxabsvy ,false);2690 this->MaxAbsVx(&maxabsvx); 2691 this->MaxAbsVy(&maxabsvy); 2692 2692 #else 2693 2693 _error_("ISSM was not compiled with responses compiled in, exiting!"); … … 2866 2866 /*}}}*/ 2867 2867 /*FUNCTION Tria::MassFlux {{{*/ 2868 IssmDouble Tria::MassFlux( IssmDouble* segment ,bool process_units){2868 IssmDouble Tria::MassFlux( IssmDouble* segment){ 2869 2869 2870 2870 const int numdofs=2; … … 2934 2934 /*}}}*/ 2935 2935 /*FUNCTION Tria::MaxAbsVx{{{*/ 2936 void Tria::MaxAbsVx(IssmDouble* pmaxabsvx , bool process_units){2936 void Tria::MaxAbsVx(IssmDouble* pmaxabsvx){ 2937 2937 2938 2938 /*Get maximum:*/ … … 2944 2944 /*}}}*/ 2945 2945 /*FUNCTION Tria::MaxAbsVy{{{*/ 2946 void Tria::MaxAbsVy(IssmDouble* pmaxabsvy , bool process_units){2946 void Tria::MaxAbsVy(IssmDouble* pmaxabsvy){ 2947 2947 2948 2948 /*Get maximum:*/ … … 2954 2954 /*}}}*/ 2955 2955 /*FUNCTION Tria::MaxAbsVz{{{*/ 2956 void Tria::MaxAbsVz(IssmDouble* pmaxabsvz , bool process_units){2956 void Tria::MaxAbsVz(IssmDouble* pmaxabsvz){ 2957 2957 2958 2958 /*Get maximum:*/ … … 2964 2964 /*}}}*/ 2965 2965 /*FUNCTION Tria::MaxVel{{{*/ 2966 void Tria::MaxVel(IssmDouble* pmaxvel , bool process_units){2966 void Tria::MaxVel(IssmDouble* pmaxvel){ 2967 2967 2968 2968 /*Get maximum:*/ … … 2974 2974 /*}}}*/ 2975 2975 /*FUNCTION Tria::MaxVx{{{*/ 2976 void Tria::MaxVx(IssmDouble* pmaxvx , bool process_units){2976 void Tria::MaxVx(IssmDouble* pmaxvx){ 2977 2977 2978 2978 /*Get maximum:*/ … … 2984 2984 /*}}}*/ 2985 2985 /*FUNCTION Tria::MaxVy{{{*/ 2986 void Tria::MaxVy(IssmDouble* pmaxvy , bool process_units){2986 void Tria::MaxVy(IssmDouble* pmaxvy){ 2987 2987 2988 2988 /*Get maximum:*/ … … 2995 2995 /*}}}*/ 2996 2996 /*FUNCTION Tria::MaxVz{{{*/ 2997 void Tria::MaxVz(IssmDouble* pmaxvz , bool process_units){2997 void Tria::MaxVz(IssmDouble* pmaxvz){ 2998 2998 2999 2999 /*Get maximum:*/ … … 3005 3005 /*}}}*/ 3006 3006 /*FUNCTION Tria::MinVel{{{*/ 3007 void Tria::MinVel(IssmDouble* pminvel , bool process_units){3007 void Tria::MinVel(IssmDouble* pminvel){ 3008 3008 3009 3009 /*Get minimum:*/ … … 3015 3015 /*}}}*/ 3016 3016 /*FUNCTION Tria::MinVx{{{*/ 3017 void Tria::MinVx(IssmDouble* pminvx , bool process_units){3017 void Tria::MinVx(IssmDouble* pminvx){ 3018 3018 3019 3019 /*Get minimum:*/ … … 3025 3025 /*}}}*/ 3026 3026 /*FUNCTION Tria::MinVy{{{*/ 3027 void Tria::MinVy(IssmDouble* pminvy , bool process_units){3027 void Tria::MinVy(IssmDouble* pminvy){ 3028 3028 3029 3029 /*Get minimum:*/ … … 3035 3035 /*}}}*/ 3036 3036 /*FUNCTION Tria::MinVz{{{*/ 3037 void Tria::MinVz(IssmDouble* pminvz , bool process_units){3037 void Tria::MinVz(IssmDouble* pminvz){ 3038 3038 3039 3039 /*Get minimum:*/ … … 3793 3793 #ifdef _HAVE_CONTROL_ 3794 3794 /*FUNCTION Tria::BalancethicknessMisfit{{{*/ 3795 IssmDouble Tria::BalancethicknessMisfit( bool process_units,int weight_index){3795 IssmDouble Tria::BalancethicknessMisfit(int weight_index){ 3796 3796 3797 3797 /* Intermediaries */ … … 4563 4563 /*}}}*/ 4564 4564 /*FUNCTION Tria::RheologyBbarAbsGradient{{{*/ 4565 IssmDouble Tria::RheologyBbarAbsGradient( bool process_units,int weight_index){4565 IssmDouble Tria::RheologyBbarAbsGradient(int weight_index){ 4566 4566 4567 4567 /* Intermediaries */ … … 4606 4606 /*}}}*/ 4607 4607 /*FUNCTION Tria::SurfaceAverageVelMisfit {{{*/ 4608 IssmDouble Tria::SurfaceAverageVelMisfit( bool process_units,int weight_index){4608 IssmDouble Tria::SurfaceAverageVelMisfit(int weight_index){ 4609 4609 4610 4610 IssmDouble Jelem=0,S,Jdet; … … 4662 4662 /*}}}*/ 4663 4663 /*FUNCTION Tria::SurfaceLogVelMisfit {{{*/ 4664 IssmDouble Tria::SurfaceLogVelMisfit( bool process_units,int weight_index){4664 IssmDouble Tria::SurfaceLogVelMisfit(int weight_index){ 4665 4665 4666 4666 IssmDouble Jelem=0; … … 4722 4722 /*}}}*/ 4723 4723 /*FUNCTION Tria::SurfaceLogVxVyMisfit {{{*/ 4724 IssmDouble Tria::SurfaceLogVxVyMisfit( bool process_units,int weight_index){4724 IssmDouble Tria::SurfaceLogVxVyMisfit(int weight_index){ 4725 4725 4726 4726 int fit=-1; … … 4784 4784 /*}}}*/ 4785 4785 /*FUNCTION Tria::SurfaceAbsVelMisfit {{{*/ 4786 IssmDouble Tria::SurfaceAbsVelMisfit( bool process_units,int weight_index){4786 IssmDouble Tria::SurfaceAbsVelMisfit(int weight_index){ 4787 4787 4788 4788 IssmDouble Jelem=0; … … 4840 4840 /*}}}*/ 4841 4841 /*FUNCTION Tria::SurfaceRelVelMisfit {{{*/ 4842 IssmDouble Tria::SurfaceRelVelMisfit( bool process_units,int weight_index){4842 IssmDouble Tria::SurfaceRelVelMisfit(int weight_index){ 4843 4843 4844 4844 IssmDouble Jelem=0; … … 4901 4901 /*}}}*/ 4902 4902 /*FUNCTION Tria::ThicknessAbsGradient{{{*/ 4903 IssmDouble Tria::ThicknessAbsGradient( bool process_units,int weight_index){4903 IssmDouble Tria::ThicknessAbsGradient(int weight_index){ 4904 4904 4905 4905 /* Intermediaries */ … … 4944 4944 /*}}}*/ 4945 4945 /*FUNCTION Tria::ThicknessAlongGradient{{{*/ 4946 IssmDouble Tria::ThicknessAlongGradient( bool process_units,int weight_index){4946 IssmDouble Tria::ThicknessAlongGradient(int weight_index){ 4947 4947 4948 4948 /* Intermediaries */ … … 4995 4995 /*}}}*/ 4996 4996 /*FUNCTION Tria::ThicknessAcrossGradient{{{*/ 4997 IssmDouble Tria::ThicknessAcrossGradient( bool process_units,int weight_index){4997 IssmDouble Tria::ThicknessAcrossGradient(int weight_index){ 4998 4998 4999 4999 /* Intermediaries */ … … 5046 5046 /*}}}*/ 5047 5047 /*FUNCTION Tria::ThicknessAbsMisfit {{{*/ 5048 IssmDouble Tria::ThicknessAbsMisfit( bool process_units,int weight_index){5048 IssmDouble Tria::ThicknessAbsMisfit(int weight_index){ 5049 5049 5050 5050 /*Intermediaries*/ … … 5545 5545 /*}}}*/ 5546 5546 /*FUNCTION Tria::DragCoefficientAbsGradient{{{*/ 5547 IssmDouble Tria::DragCoefficientAbsGradient( bool process_units,int weight_index){5547 IssmDouble Tria::DragCoefficientAbsGradient(int weight_index){ 5548 5548 5549 5549 /* Intermediaries */ -
issm/trunk-jpl/src/c/classes/Elements/Tria.h
r15129 r15130 106 106 void MaterialUpdateFromTemperature(void){_error_("not implemented yet");}; 107 107 void MigrateGroundingLine(IssmDouble* oldfloating,IssmDouble* sheet_ungrounding); 108 int NodalValue(IssmDouble* pvalue, int index, int natureofdataenum ,bool process_units);108 int NodalValue(IssmDouble* pvalue, int index, int natureofdataenum); 109 109 void PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding); 110 110 void PositiveDegreeDay(IssmDouble* pdds,IssmDouble* pds,IssmDouble signorm); … … 125 125 IssmDouble IceVolume(void); 126 126 IssmDouble TotalSmb(void); 127 void MinVel(IssmDouble* pminvel , bool process_units);128 void MinVx(IssmDouble* pminvx , bool process_units);129 void MinVy(IssmDouble* pminvy , bool process_units);130 void MinVz(IssmDouble* pminvz , bool process_units);131 IssmDouble MassFlux(IssmDouble* segment ,bool process_units);132 void MaxAbsVx(IssmDouble* pmaxabsvx , bool process_units);133 void MaxAbsVy(IssmDouble* pmaxabsvy , bool process_units);134 void MaxAbsVz(IssmDouble* pmaxabsvz , bool process_units);127 void MinVel(IssmDouble* pminvel); 128 void MinVx(IssmDouble* pminvx); 129 void MinVy(IssmDouble* pminvy); 130 void MinVz(IssmDouble* pminvz); 131 IssmDouble MassFlux(IssmDouble* segment); 132 void MaxAbsVx(IssmDouble* pmaxabsvx); 133 void MaxAbsVy(IssmDouble* pmaxabsvy); 134 void MaxAbsVz(IssmDouble* pmaxabsvz); 135 135 void ElementResponse(IssmDouble* presponse,int response_enum); 136 void MaxVel(IssmDouble* pmaxvel , bool process_units);137 void MaxVx(IssmDouble* pmaxvx , bool process_units);138 void MaxVy(IssmDouble* pmaxvy , bool process_units);139 void MaxVz(IssmDouble* pmaxvz , bool process_units);136 void MaxVel(IssmDouble* pmaxvel); 137 void MaxVx(IssmDouble* pmaxvx); 138 void MaxVy(IssmDouble* pmaxvy); 139 void MaxVz(IssmDouble* pmaxvz); 140 140 #endif 141 141 … … 145 145 146 146 #ifdef _HAVE_CONTROL_ 147 IssmDouble DragCoefficientAbsGradient( bool process_units,int weight_index);147 IssmDouble DragCoefficientAbsGradient(int weight_index); 148 148 void GradientIndexing(int* indexing,int control_index); 149 149 void Gradj(Vector<IssmDouble>* gradient,int control_type,int control_index); … … 164 164 void ControlInputScaleGradient(int enum_type,IssmDouble scale); 165 165 void ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index); 166 IssmDouble RheologyBbarAbsGradient( bool process_units,int weight_index);167 IssmDouble ThicknessAbsMisfit( bool process_units,int weight_index);168 IssmDouble SurfaceAbsVelMisfit( bool process_units,int weight_index);169 IssmDouble ThicknessAbsGradient( bool process_units,int weight_index);170 IssmDouble ThicknessAlongGradient( bool process_units,int weight_index);171 IssmDouble ThicknessAcrossGradient( bool process_units,int weight_index);172 IssmDouble BalancethicknessMisfit( bool process_units,int weight_index);173 IssmDouble SurfaceRelVelMisfit( bool process_units,int weight_index);174 IssmDouble SurfaceLogVelMisfit( bool process_units,int weight_index);175 IssmDouble SurfaceLogVxVyMisfit( bool process_units,int weight_index);176 IssmDouble SurfaceAverageVelMisfit( bool process_units,int weight_index);166 IssmDouble RheologyBbarAbsGradient(int weight_index); 167 IssmDouble ThicknessAbsMisfit( int weight_index); 168 IssmDouble SurfaceAbsVelMisfit( int weight_index); 169 IssmDouble ThicknessAbsGradient( int weight_index); 170 IssmDouble ThicknessAlongGradient( int weight_index); 171 IssmDouble ThicknessAcrossGradient(int weight_index); 172 IssmDouble BalancethicknessMisfit( int weight_index); 173 IssmDouble SurfaceRelVelMisfit( int weight_index); 174 IssmDouble SurfaceLogVelMisfit( int weight_index); 175 IssmDouble SurfaceLogVxVyMisfit( int weight_index); 176 IssmDouble SurfaceAverageVelMisfit(int weight_index); 177 177 void InputControlUpdate(IssmDouble scalar,bool save_parameter); 178 178 #endif -
issm/trunk-jpl/src/c/classes/FemModel.cpp
r15129 r15130 686 686 } 687 687 /*}}}*/ 688 void FemModel::Responsex(IssmDouble* responses,const char* response_descriptor, bool process_units,int weight_index){/*{{{*/688 void FemModel::Responsex(IssmDouble* responses,const char* response_descriptor,int weight_index){/*{{{*/ 689 689 690 690 int response_descriptor_enum=StringToEnumx(response_descriptor); 691 this->Responsex(responses, response_descriptor_enum, process_units,weight_index);692 693 } 694 /*}}}*/ 695 void FemModel::Responsex(IssmDouble* responses,int response_descriptor_enum, bool process_units,int weight_index){/*{{{*/691 this->Responsex(responses, response_descriptor_enum,weight_index); 692 693 } 694 /*}}}*/ 695 void FemModel::Responsex(IssmDouble* responses,int response_descriptor_enum,int weight_index){/*{{{*/ 696 696 697 697 switch (response_descriptor_enum){ 698 698 699 699 #ifdef _HAVE_RESPONSES_ 700 case IceVolumeEnum: this->IceVolumex(responses ,process_units); break;701 case MinVelEnum: this->MinVelx(responses ,process_units); break;702 case MaxVelEnum: this->MaxVelx( responses ,process_units); break;703 case MinVxEnum: this->MinVxx(responses ,process_units); break;704 case MaxVxEnum: this->MaxVxx( responses ,process_units); break;705 case MaxAbsVxEnum: this->MaxAbsVxx( responses ,process_units); break;706 case MinVyEnum: this->MinVyx(responses ,process_units); break;707 case MaxVyEnum: this->MaxVyx( responses ,process_units); break;708 case MaxAbsVyEnum: this->MaxAbsVyx( responses ,process_units); break;709 case MinVzEnum: this->MinVzx(responses ,process_units); break;710 case MaxVzEnum: this->MaxVzx( responses ,process_units); break;711 case MaxAbsVzEnum: this->MaxAbsVzx( responses ,process_units); break;712 case MassFluxEnum: this->MassFluxx( responses ,process_units); break;700 case IceVolumeEnum: this->IceVolumex(responses); break; 701 case MinVelEnum: this->MinVelx(responses); break; 702 case MaxVelEnum: this->MaxVelx( responses); break; 703 case MinVxEnum: this->MinVxx(responses); break; 704 case MaxVxEnum: this->MaxVxx( responses); break; 705 case MaxAbsVxEnum: this->MaxAbsVxx( responses); break; 706 case MinVyEnum: this->MinVyx(responses); break; 707 case MaxVyEnum: this->MaxVyx( responses); break; 708 case MaxAbsVyEnum: this->MaxAbsVyx( responses); break; 709 case MinVzEnum: this->MinVzx(responses); break; 710 case MaxVzEnum: this->MaxVzx( responses); break; 711 case MaxAbsVzEnum: this->MaxAbsVzx( responses); break; 712 case MassFluxEnum: this->MassFluxx( responses); break; 713 713 #ifdef _HAVE_CONTROL_ 714 case SurfaceAbsVelMisfitEnum: SurfaceAbsVelMisfitx(responses, elements,nodes, vertices, loads, materials, parameters, process_units,weight_index); break;715 case SurfaceRelVelMisfitEnum: SurfaceRelVelMisfitx(responses, elements,nodes, vertices, loads, materials, parameters, process_units,weight_index); break;716 case SurfaceLogVelMisfitEnum: SurfaceLogVelMisfitx(responses, elements,nodes, vertices, loads, materials, parameters, process_units,weight_index); break;717 case SurfaceLogVxVyMisfitEnum: SurfaceLogVxVyMisfitx(responses, elements,nodes, vertices, loads, materials, parameters, process_units,weight_index); break;718 case SurfaceAverageVelMisfitEnum:SurfaceAverageVelMisfitx( responses, elements,nodes, vertices, loads, materials, parameters, process_units,weight_index); break;719 case ThicknessAbsMisfitEnum: ThicknessAbsMisfitx(responses, elements,nodes, vertices, loads, materials, parameters, process_units,weight_index); break;720 case ThicknessAbsGradientEnum: this->ThicknessAbsGradientx(responses, process_units,weight_index); break;721 case ThicknessAlongGradientEnum: ThicknessAlongGradientx(responses, elements,nodes, vertices, loads, materials, parameters, process_units,weight_index); break;722 case ThicknessAcrossGradientEnum:ThicknessAcrossGradientx(responses, elements,nodes, vertices, loads, materials, parameters, process_units,weight_index); break;723 case RheologyBbarAbsGradientEnum:RheologyBbarAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters, process_units,weight_index); break;724 case DragCoefficientAbsGradientEnum:DragCoefficientAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters, process_units,weight_index); break;725 case BalancethicknessMisfitEnum:BalancethicknessMisfitx(responses, process_units,weight_index); break;714 case SurfaceAbsVelMisfitEnum: SurfaceAbsVelMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break; 715 case SurfaceRelVelMisfitEnum: SurfaceRelVelMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break; 716 case SurfaceLogVelMisfitEnum: SurfaceLogVelMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break; 717 case SurfaceLogVxVyMisfitEnum: SurfaceLogVxVyMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break; 718 case SurfaceAverageVelMisfitEnum:SurfaceAverageVelMisfitx( responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break; 719 case ThicknessAbsMisfitEnum: ThicknessAbsMisfitx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break; 720 case ThicknessAbsGradientEnum: this->ThicknessAbsGradientx(responses,weight_index); break; 721 case ThicknessAlongGradientEnum: ThicknessAlongGradientx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break; 722 case ThicknessAcrossGradientEnum:ThicknessAcrossGradientx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break; 723 case RheologyBbarAbsGradientEnum:RheologyBbarAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break; 724 case DragCoefficientAbsGradientEnum:DragCoefficientAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters,weight_index); break; 725 case BalancethicknessMisfitEnum:BalancethicknessMisfitx(responses,weight_index); break; 726 726 #endif 727 case TotalSmbEnum: this->TotalSmbx(responses ,process_units); break;728 case MaterialsRheologyBbarEnum: this->ElementResponsex(responses,MaterialsRheologyBbarEnum ,process_units); break;729 case VelEnum: this->ElementResponsex(responses,VelEnum ,process_units); break;730 case FrictionCoefficientEnum:NodalValuex(responses, FrictionCoefficientEnum,elements,nodes, vertices, loads, materials, parameters ,process_units); break;727 case TotalSmbEnum: this->TotalSmbx(responses); break; 728 case MaterialsRheologyBbarEnum: this->ElementResponsex(responses,MaterialsRheologyBbarEnum); break; 729 case VelEnum: this->ElementResponsex(responses,VelEnum); break; 730 case FrictionCoefficientEnum:NodalValuex(responses, FrictionCoefficientEnum,elements,nodes, vertices, loads, materials, parameters); break; 731 731 default: _error_("response descriptor \"" << EnumToStringx(response_descriptor_enum) << "\" not supported yet!"); break; 732 732 #else … … 757 757 758 758 case IceVolumeEnum: 759 Responsex(&output_value,"IceVolume", false,0);759 Responsex(&output_value,"IceVolume",0); 760 760 results->AddObject(new GenericExternalResult<double>(results->Size()+1,IceVolumeEnum,reCast<IssmPDouble>(output_value),step,time)); 761 761 break; 762 762 case TotalSmbEnum: 763 Responsex(&output_value,"TotalSmb", false,0);763 Responsex(&output_value,"TotalSmb",0); 764 764 results->AddObject(new GenericExternalResult<double>(results->Size()+1,TotalSmbEnum,reCast<IssmPDouble>(output_value),step,time)); 765 765 break; 766 766 case MaxVelEnum: 767 Responsex(&output_value,"MaxVel", false,0);767 Responsex(&output_value,"MaxVel",0); 768 768 results->AddObject(new GenericExternalResult<double>(results->Size()+1,MaxVelEnum,reCast<IssmPDouble>(output_value),step,time)); 769 769 break; … … 951 951 /*}}}*/ 952 952 #ifdef _HAVE_RESPONSES_ 953 void FemModel::MassFluxx(IssmDouble* pmass_flux ,bool process_units){/*{{{*/953 void FemModel::MassFluxx(IssmDouble* pmass_flux){/*{{{*/ 954 954 955 955 int i,j; … … 987 987 if (element->Id()==element_id){ 988 988 /*We found the element which owns this segment, use it to compute the mass flux: */ 989 mass_flux+=element->MassFlux(segments+5*i+0 ,process_units);989 mass_flux+=element->MassFlux(segments+5*i+0); 990 990 break; 991 991 } … … 1011 1011 1012 1012 }/*}}}*/ 1013 void FemModel::MaxAbsVxx(IssmDouble* pmaxabsvx ,bool process_units){/*{{{*/1013 void FemModel::MaxAbsVxx(IssmDouble* pmaxabsvx){/*{{{*/ 1014 1014 1015 1015 int i; … … 1022 1022 for(i=0;i<this->elements->Size();i++){ 1023 1023 Element* element=(Element*)this->elements->GetObjectByOffset(i); 1024 element->MaxAbsVx(&element_maxabsvx ,process_units);1024 element->MaxAbsVx(&element_maxabsvx); 1025 1025 if(element_maxabsvx>maxabsvx) maxabsvx=element_maxabsvx; 1026 1026 } … … 1037 1037 1038 1038 }/*}}}*/ 1039 void FemModel::MaxAbsVyx(IssmDouble* pmaxabsvy ,bool process_units){/*{{{*/1039 void FemModel::MaxAbsVyx(IssmDouble* pmaxabsvy){/*{{{*/ 1040 1040 1041 1041 int i; … … 1048 1048 for(i=0;i<this->elements->Size();i++){ 1049 1049 Element* element=(Element*)this->elements->GetObjectByOffset(i); 1050 element->MaxAbsVy(&element_maxabsvy ,process_units);1050 element->MaxAbsVy(&element_maxabsvy); 1051 1051 if(element_maxabsvy>maxabsvy) maxabsvy=element_maxabsvy; 1052 1052 } … … 1063 1063 1064 1064 }/*}}}*/ 1065 void FemModel::MaxAbsVzx(IssmDouble* pmaxabsvz ,bool process_units){/*{{{*/1065 void FemModel::MaxAbsVzx(IssmDouble* pmaxabsvz){/*{{{*/ 1066 1066 1067 1067 int i; … … 1074 1074 for(i=0;i<this->elements->Size();i++){ 1075 1075 Element* element=(Element*)this->elements->GetObjectByOffset(i); 1076 element->MaxAbsVz(&element_maxabsvz ,process_units);1076 element->MaxAbsVz(&element_maxabsvz); 1077 1077 if(element_maxabsvz>maxabsvz) maxabsvz=element_maxabsvz; 1078 1078 } … … 1089 1089 1090 1090 }/*}}}*/ 1091 void FemModel::MaxVelx(IssmDouble* pmaxvel ,bool process_units){/*{{{*/1091 void FemModel::MaxVelx(IssmDouble* pmaxvel){/*{{{*/ 1092 1092 1093 1093 int i; … … 1100 1100 for(i=0;i<this->elements->Size();i++){ 1101 1101 Element* element=(Element*)this->elements->GetObjectByOffset(i); 1102 element->MaxVel(&element_maxvel ,process_units);1102 element->MaxVel(&element_maxvel); 1103 1103 if(element_maxvel>maxvel) maxvel=element_maxvel; 1104 1104 } … … 1115 1115 1116 1116 }/*}}}*/ 1117 void FemModel::MaxVxx(IssmDouble* pmaxvx ,bool process_units){/*{{{*/1117 void FemModel::MaxVxx(IssmDouble* pmaxvx){/*{{{*/ 1118 1118 1119 1119 int i; … … 1126 1126 for(i=0;i<this->elements->Size();i++){ 1127 1127 Element* element=(Element*)this->elements->GetObjectByOffset(i); 1128 element->MaxVx(&element_maxvx ,process_units);1128 element->MaxVx(&element_maxvx); 1129 1129 if(element_maxvx>maxvx) maxvx=element_maxvx; 1130 1130 } … … 1141 1141 1142 1142 }/*}}}*/ 1143 void FemModel::MaxVyx(IssmDouble* pmaxvy ,bool process_units){/*{{{*/1143 void FemModel::MaxVyx(IssmDouble* pmaxvy){/*{{{*/ 1144 1144 1145 1145 int i; … … 1152 1152 for(i=0;i<this->elements->Size();i++){ 1153 1153 Element* element=(Element*)this->elements->GetObjectByOffset(i); 1154 element->MaxVy(&element_maxvy ,process_units);1154 element->MaxVy(&element_maxvy); 1155 1155 if(element_maxvy>maxvy) maxvy=element_maxvy; 1156 1156 } … … 1167 1167 1168 1168 }/*}}}*/ 1169 void FemModel::MaxVzx(IssmDouble* pmaxvz ,bool process_units){/*{{{*/1169 void FemModel::MaxVzx(IssmDouble* pmaxvz){/*{{{*/ 1170 1170 1171 1171 int i; … … 1178 1178 for(i=0;i<this->elements->Size();i++){ 1179 1179 Element* element=(Element*)this->elements->GetObjectByOffset(i); 1180 element->MaxVz(&element_maxvz ,process_units);1180 element->MaxVz(&element_maxvz); 1181 1181 if(element_maxvz>maxvz) maxvz=element_maxvz; 1182 1182 } … … 1193 1193 1194 1194 }/*}}}*/ 1195 void FemModel::MinVelx(IssmDouble* pminvel ,bool process_units){/*{{{*/1195 void FemModel::MinVelx(IssmDouble* pminvel){/*{{{*/ 1196 1196 1197 1197 int i; … … 1204 1204 for(i=0;i<this->elements->Size();i++){ 1205 1205 Element* element=(Element*)this->elements->GetObjectByOffset(i); 1206 element->MinVel(&element_minvel ,process_units);1206 element->MinVel(&element_minvel); 1207 1207 if(element_minvel<minvel) minvel=element_minvel; 1208 1208 } … … 1219 1219 1220 1220 }/*}}}*/ 1221 void FemModel::MinVxx(IssmDouble* pminvx ,bool process_units){/*{{{*/1221 void FemModel::MinVxx(IssmDouble* pminvx){/*{{{*/ 1222 1222 1223 1223 int i; … … 1230 1230 for(i=0;i<this->elements->Size();i++){ 1231 1231 Element* element=(Element*)this->elements->GetObjectByOffset(i); 1232 element->MinVx(&element_minvx ,process_units);1232 element->MinVx(&element_minvx); 1233 1233 if(element_minvx<minvx) minvx=element_minvx; 1234 1234 } … … 1245 1245 1246 1246 }/*}}}*/ 1247 void FemModel::MinVyx(IssmDouble* pminvy ,bool process_units){/*{{{*/1247 void FemModel::MinVyx(IssmDouble* pminvy){/*{{{*/ 1248 1248 1249 1249 int i; … … 1256 1256 for(i=0;i<this->elements->Size();i++){ 1257 1257 Element* element=(Element*)this->elements->GetObjectByOffset(i); 1258 element->MinVy(&element_minvy ,process_units);1258 element->MinVy(&element_minvy); 1259 1259 if(element_minvy<minvy) minvy=element_minvy; 1260 1260 } … … 1271 1271 1272 1272 }/*}}}*/ 1273 void FemModel::MinVzx(IssmDouble* pminvz ,bool process_units){/*{{{*/1273 void FemModel::MinVzx(IssmDouble* pminvz){/*{{{*/ 1274 1274 1275 1275 int i; … … 1282 1282 for(i=0;i<this->elements->Size();i++){ 1283 1283 Element* element=(Element*)this->elements->GetObjectByOffset(i); 1284 element->MinVz(&element_minvz ,process_units);1284 element->MinVz(&element_minvz); 1285 1285 if(element_minvz<minvz) minvz=element_minvz; 1286 1286 } … … 1297 1297 1298 1298 }/*}}}*/ 1299 void FemModel::TotalSmbx(IssmDouble* pSmb ,bool process_units){/*{{{*/1299 void FemModel::TotalSmbx(IssmDouble* pSmb){/*{{{*/ 1300 1300 1301 1301 IssmDouble local_smb = 0; … … 1317 1317 1318 1318 }/*}}}*/ 1319 void FemModel::IceVolumex(IssmDouble* pV ,bool process_units){/*{{{*/1319 void FemModel::IceVolumex(IssmDouble* pV){/*{{{*/ 1320 1320 1321 1321 IssmDouble local_ice_volume = 0; … … 1337 1337 1338 1338 }/*}}}*/ 1339 void FemModel::ElementResponsex(IssmDouble* presponse,int response_enum ,bool process_units){/*{{{*/1339 void FemModel::ElementResponsex(IssmDouble* presponse,int response_enum){/*{{{*/ 1340 1340 1341 1341 int found=0; … … 1383 1383 #endif 1384 1384 #ifdef _HAVE_CONTROL_ 1385 void FemModel::BalancethicknessMisfitx(IssmDouble* presponse, bool process_units,int weight_index){/*{{{*/1385 void FemModel::BalancethicknessMisfitx(IssmDouble* presponse,int weight_index){/*{{{*/ 1386 1386 1387 1387 IssmDouble J = 0; … … 1390 1390 for(int i=0;i<this->elements->Size();i++){ 1391 1391 Element* element=dynamic_cast<Element*>(this->elements->GetObjectByOffset(i)); 1392 J+=element->BalancethicknessMisfit( process_units,weight_index);1392 J+=element->BalancethicknessMisfit(weight_index); 1393 1393 } 1394 1394 #ifdef _HAVE_MPI_ … … 1402 1402 1403 1403 }/*}}}*/ 1404 void FemModel::ThicknessAbsGradientx( IssmDouble* pJ, bool process_units,int weight_index){/*{{{*/1404 void FemModel::ThicknessAbsGradientx( IssmDouble* pJ, int weight_index){/*{{{*/ 1405 1405 1406 1406 /*Intermediary*/ … … 1415 1415 for (i=0;i<elements->Size();i++){ 1416 1416 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 1417 J+=element->ThicknessAbsGradient( process_units,weight_index);1417 J+=element->ThicknessAbsGradient(weight_index); 1418 1418 } 1419 1419 … … 1446 1446 J=0; 1447 1447 for(int i=0;i<num_responses;i++){ 1448 this->Responsex(&Jplus,EnumToStringx(responses[i]), false,i); //False means DO NOT process units1448 this->Responsex(&Jplus,EnumToStringx(responses[i]),i); 1449 1449 J+=Jplus; 1450 1450 } … … 1461 1461 int i,j; 1462 1462 int my_rank; 1463 bool process_units = true;1464 1463 1465 1464 /*intermediary: */ … … 1514 1513 parameters->SetParam(index,IndexEnum); 1515 1514 1516 this->Responsex(&femmodel_response,root, process_units,0);//0 is the index for weights1515 this->Responsex(&femmodel_response,root,0);//0 is the index for weights 1517 1516 1518 1517 if(my_rank==0){ … … 1533 1532 1534 1533 /*perfectly normal response function: */ 1535 this->Responsex(&femmodel_response,root, process_units,0);//0 is the weight index1534 this->Responsex(&femmodel_response,root,0);//0 is the weight index 1536 1535 1537 1536 if(my_rank==0){ -
issm/trunk-jpl/src/c/classes/FemModel.h
r15067 r15130 64 64 /*Modules*/ 65 65 #ifdef _HAVE_RESPONSES_ 66 void MassFluxx(IssmDouble* presponse ,bool process_units);67 void MaxAbsVxx(IssmDouble* presponse ,bool process_units);68 void MaxAbsVyx(IssmDouble* presponse ,bool process_units);69 void MaxAbsVzx(IssmDouble* presponse ,bool process_units);70 void MaxVelx(IssmDouble* presponse ,bool process_units);71 void MaxVxx(IssmDouble* presponse ,bool process_units);72 void MaxVyx(IssmDouble* presponse ,bool process_units);73 void MaxVzx(IssmDouble* presponse ,bool process_units);74 void MinVelx(IssmDouble* presponse ,bool process_units);75 void MinVxx(IssmDouble* presponse ,bool process_units);76 void MinVyx(IssmDouble* presponse ,bool process_units);77 void MinVzx(IssmDouble* presponse ,bool process_units);78 void TotalSmbx(IssmDouble* pSmb ,bool process_units);79 void IceVolumex(IssmDouble* pV ,bool process_units);80 void ElementResponsex(IssmDouble* presponse,int response_enum ,bool process_units);81 void BalancethicknessMisfitx(IssmDouble* pV, bool process_units,int weight_index);66 void MassFluxx(IssmDouble* presponse); 67 void MaxAbsVxx(IssmDouble* presponse); 68 void MaxAbsVyx(IssmDouble* presponse); 69 void MaxAbsVzx(IssmDouble* presponse); 70 void MaxVelx(IssmDouble* presponse); 71 void MaxVxx(IssmDouble* presponse); 72 void MaxVyx(IssmDouble* presponse); 73 void MaxVzx(IssmDouble* presponse); 74 void MinVelx(IssmDouble* presponse); 75 void MinVxx(IssmDouble* presponse); 76 void MinVyx(IssmDouble* presponse); 77 void MinVzx(IssmDouble* presponse); 78 void TotalSmbx(IssmDouble* pSmb); 79 void IceVolumex(IssmDouble* pV); 80 void ElementResponsex(IssmDouble* presponse,int response_enum); 81 void BalancethicknessMisfitx(IssmDouble* pV,int weight_index); 82 82 #endif 83 83 #ifdef _HAVE_DAKOTA_ … … 86 86 void RequestedOutputsx(int* requested_outputs, int numoutputs); 87 87 void RequestedDependentsx(void); 88 void Responsex(IssmDouble* presponse,int response_descriptor_enum, bool process_units,int weight_index);89 void Responsex(IssmDouble* presponse,const char* response_descriptor, bool process_units,int weight_index);88 void Responsex(IssmDouble* presponse,int response_descriptor_enum,int weight_index); 89 void Responsex(IssmDouble* presponse,const char* response_descriptor,int weight_index); 90 90 #ifdef _HAVE_CONTROL_ 91 91 void CostFunctionx( IssmDouble* pJ); 92 void ThicknessAbsGradientx( IssmDouble* pJ, bool process_units,int weight_index);92 void ThicknessAbsGradientx( IssmDouble* pJ,int weight_index); 93 93 #endif 94 94 #ifdef _HAVE_GIA_ -
issm/trunk-jpl/src/c/classes/Inputs/BoolInput.cpp
r15104 r15130 124 124 /*}}}*/ 125 125 /*FUNCTION BoolInput::SquareMin{{{*/ 126 void BoolInput::SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){126 void BoolInput::SquareMin(IssmDouble* psquaremin,Parameters* parameters){ 127 127 /*square of a bool is the bool itself: */ 128 128 *psquaremin=value; -
issm/trunk-jpl/src/c/classes/Inputs/BoolInput.h
r15082 r15130 65 65 void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");}; 66 66 void ChangeEnum(int newenumtype); 67 void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);67 void SquareMin(IssmDouble* psquaremin, Parameters* parameters); 68 68 void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");}; 69 69 IssmDouble InfinityNorm(void){_error_("InfinityNorm not implemented for booleans");}; -
issm/trunk-jpl/src/c/classes/Inputs/ControlInput.h
r15082 r15130 70 70 void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");}; 71 71 void ChangeEnum(int newenumtype){_error_("not implemented yet");}; 72 void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){_error_("not implemented yet");};72 void SquareMin(IssmDouble* psquaremin,Parameters* parameters){_error_("not implemented yet");}; 73 73 void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");}; 74 74 void Scale(IssmDouble scale_factor){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/Inputs/DatasetInput.h
r15082 r15130 64 64 void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");}; 65 65 void ChangeEnum(int newenumtype){_error_("not implemented yet");}; 66 void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){_error_("not implemented yet");};66 void SquareMin(IssmDouble* psquaremin,Parameters* parameters){_error_("not implemented yet");}; 67 67 void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");}; 68 68 void Scale(IssmDouble scale_factor){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp
r15104 r15130 174 174 /*}}}*/ 175 175 /*FUNCTION DoubleInput::SquareMin{{{*/ 176 void DoubleInput::SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){176 void DoubleInput::SquareMin(IssmDouble* psquaremin,Parameters* parameters){ 177 177 178 178 /*square min of a IssmDouble is the square of the IssmDouble itself: */ -
issm/trunk-jpl/src/c/classes/Inputs/DoubleInput.h
r15082 r15130 64 64 void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss); 65 65 void ChangeEnum(int newenumtype); 66 void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);66 void SquareMin(IssmDouble* psquaremin,Parameters* parameters); 67 67 void ConstrainMin(IssmDouble minimum); 68 68 void Scale(IssmDouble scale_factor); -
issm/trunk-jpl/src/c/classes/Inputs/Input.h
r15082 r15130 49 49 virtual void Configure(Parameters* parameters)=0; 50 50 51 virtual void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters)=0;51 virtual void SquareMin(IssmDouble* psquaremin,Parameters* parameters)=0; 52 52 virtual void ConstrainMin(IssmDouble minimum)=0; 53 53 virtual IssmDouble InfinityNorm(void)=0; -
issm/trunk-jpl/src/c/classes/Inputs/IntInput.cpp
r15104 r15130 125 125 /*}}}*/ 126 126 /*FUNCTION IntInput::SquareMin{{{*/ 127 void IntInput::SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){127 void IntInput::SquareMin(IssmDouble* psquaremin,Parameters* parameters){ 128 128 129 129 /*square min of an integer is the square of the integer itself: */ -
issm/trunk-jpl/src/c/classes/Inputs/IntInput.h
r15082 r15130 66 66 void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");}; 67 67 void ChangeEnum(int newenumtype); 68 void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);68 void SquareMin(IssmDouble* psquaremin,Parameters* parameters); 69 69 void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");}; 70 70 void Scale(IssmDouble scale_factor); -
issm/trunk-jpl/src/c/classes/Inputs/PentaP1Input.cpp
r15128 r15130 328 328 /*Intermediary*/ 329 329 /*FUNCTION PentaP1Input::SquareMin{{{*/ 330 void PentaP1Input::SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){330 void PentaP1Input::SquareMin(IssmDouble* psquaremin,Parameters* parameters){ 331 331 332 332 int i; -
issm/trunk-jpl/src/c/classes/Inputs/PentaP1Input.h
r15082 r15130 68 68 void ChangeEnum(int newenumtype); 69 69 70 void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);70 void SquareMin(IssmDouble* psquaremin,Parameters* parameters); 71 71 void ConstrainMin(IssmDouble minimum); 72 72 void Scale(IssmDouble scale_factor); -
issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp
r15104 r15130 348 348 /*}}}*/ 349 349 /*FUNCTION TransientInput::SquareMin{{{*/ 350 void TransientInput::SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){350 void TransientInput::SquareMin(IssmDouble* psquaremin,Parameters* parameters){ 351 351 352 352 IssmDouble time; … … 359 359 360 360 /*Call input function*/ 361 input->SquareMin(psquaremin,p rocess_units,parameters);361 input->SquareMin(psquaremin,parameters); 362 362 363 363 delete input; -
issm/trunk-jpl/src/c/classes/Inputs/TransientInput.h
r15082 r15130 69 69 void ChangeEnum(int newenumtype); 70 70 71 void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);71 void SquareMin(IssmDouble* psquaremin,Parameters* parameters); 72 72 void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");}; 73 73 void Scale(IssmDouble scale_factor){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/Inputs/TriaP1Input.cpp
r15128 r15130 219 219 /*Intermediary*/ 220 220 /*FUNCTION TriaP1Input::SquareMin{{{*/ 221 void TriaP1Input::SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters){221 void TriaP1Input::SquareMin(IssmDouble* psquaremin,Parameters* parameters){ 222 222 223 223 int i; -
issm/trunk-jpl/src/c/classes/Inputs/TriaP1Input.h
r15082 r15130 67 67 void ChangeEnum(int newenumtype); 68 68 69 void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);69 void SquareMin(IssmDouble* psquaremin,Parameters* parameters); 70 70 void ConstrainMin(IssmDouble minimum); 71 71 void Scale(IssmDouble scale_factor); -
issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.cpp
r14999 r15130 8 8 #include "../../toolkits/toolkits.h" 9 9 10 void DragCoefficientAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, bool process_units,int weight_index){10 void DragCoefficientAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){ 11 11 12 12 /*Intermediary*/ … … 21 21 for (i=0;i<elements->Size();i++){ 22 22 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 23 J+=element->DragCoefficientAbsGradient( process_units,weight_index);23 J+=element->DragCoefficientAbsGradient(weight_index); 24 24 } 25 25 -
issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.h
r15000 r15130 9 9 10 10 /* local prototypes: */ 11 void DragCoefficientAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, bool process_units,int weight_index);11 void DragCoefficientAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index); 12 12 13 13 #endif -
issm/trunk-jpl/src/c/modules/NodalValuex/NodalValuex.cpp
r14999 r15130 8 8 #include "../../toolkits/toolkits.h" 9 9 10 void NodalValuex( IssmDouble* pnodalvalue, int natureofdataenum,Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters ,bool process_units){10 void NodalValuex( IssmDouble* pnodalvalue, int natureofdataenum,Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters){ 11 11 12 12 int my_rank; … … 29 29 for(i=0;i<elements->Size();i++){ 30 30 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 31 found=element->NodalValue(&value,index,natureofdataenum ,process_units);31 found=element->NodalValue(&value,index,natureofdataenum); 32 32 if (found){ 33 33 cpu_found=my_rank; -
issm/trunk-jpl/src/c/modules/NodalValuex/NodalValuex.h
r15000 r15130 9 9 10 10 /* local prototypes: */ 11 void NodalValuex( IssmDouble* pnodalvalue, int natureofdataenum,Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters ,bool process_units);11 void NodalValuex( IssmDouble* pnodalvalue, int natureofdataenum,Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters); 12 12 13 13 #endif /* _NODALVALUEX_H */ -
issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.cpp
r14999 r15130 8 8 #include "../../toolkits/toolkits.h" 9 9 10 void RheologyBbarAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, bool process_units,int weight_index){10 void RheologyBbarAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, int weight_index){ 11 11 12 12 /*Intermediary*/ … … 21 21 for (i=0;i<elements->Size();i++){ 22 22 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 23 J+=element->RheologyBbarAbsGradient( process_units,weight_index);23 J+=element->RheologyBbarAbsGradient(weight_index); 24 24 } 25 25 -
issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.h
r15000 r15130 9 9 10 10 /* local prototypes: */ 11 void RheologyBbarAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, bool process_units,int weight_index);11 void RheologyBbarAbsGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index); 12 12 13 13 #endif -
issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp
r14999 r15130 8 8 #include "../../toolkits/toolkits.h" 9 9 10 void SurfaceAbsVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, bool process_units,int weight_index){10 void SurfaceAbsVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){ 11 11 12 12 /*Intermediary*/ … … 21 21 for (i=0;i<elements->Size();i++){ 22 22 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 23 J+=element->SurfaceAbsVelMisfit( process_units,weight_index);23 J+=element->SurfaceAbsVelMisfit(weight_index); 24 24 } 25 25 -
issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.h
r15000 r15130 9 9 10 10 /* local prototypes: */ 11 void SurfaceAbsVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, bool process_units,int weight_index);11 void SurfaceAbsVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index); 12 12 13 13 #endif -
issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp
r14999 r15130 9 9 #include "../SurfaceAreax/SurfaceAreax.h" 10 10 11 void SurfaceAverageVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, bool process_units,int weight_index){11 void SurfaceAverageVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){ 12 12 13 13 /*Intermediary*/ … … 25 25 for (i=0;i<elements->Size();i++){ 26 26 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 27 J+=element->SurfaceAverageVelMisfit( process_units,weight_index);27 J+=element->SurfaceAverageVelMisfit(weight_index); 28 28 } 29 29 -
issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.h
r15000 r15130 9 9 10 10 /* local prototypes: */ 11 void SurfaceAverageVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, bool process_units,int weight_index);11 void SurfaceAverageVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index); 12 12 13 13 #endif -
issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp
r14999 r15130 8 8 #include "../../toolkits/toolkits.h" 9 9 10 void SurfaceLogVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, bool process_units,int weight_index){10 void SurfaceLogVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){ 11 11 12 12 /*Intermediary*/ … … 21 21 for (i=0;i<elements->Size();i++){ 22 22 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 23 J+=element->SurfaceLogVelMisfit( process_units,weight_index);23 J+=element->SurfaceLogVelMisfit(weight_index); 24 24 } 25 25 -
issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.h
r15000 r15130 9 9 10 10 /* local prototypes: */ 11 void SurfaceLogVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, bool process_units,int weight_index);11 void SurfaceLogVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index); 12 12 13 13 #endif -
issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp
r14999 r15130 8 8 #include "../../toolkits/toolkits.h" 9 9 10 void SurfaceLogVxVyMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, bool process_units,int weight_index){10 void SurfaceLogVxVyMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){ 11 11 12 12 /*Intermediary*/ … … 21 21 for (i=0;i<elements->Size();i++){ 22 22 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 23 J+=element->SurfaceLogVxVyMisfit( process_units,weight_index);23 J+=element->SurfaceLogVxVyMisfit(weight_index); 24 24 } 25 25 -
issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.h
r15000 r15130 9 9 10 10 /* local prototypes: */ 11 void SurfaceLogVxVyMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, bool process_units,int weight_index);11 void SurfaceLogVxVyMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index); 12 12 13 13 #endif -
issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp
r14999 r15130 8 8 #include "../../toolkits/toolkits.h" 9 9 10 void SurfaceRelVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, bool process_units,int weight_index){10 void SurfaceRelVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){ 11 11 12 12 /*Intermediary*/ … … 21 21 for (i=0;i<elements->Size();i++){ 22 22 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 23 J+=element->SurfaceRelVelMisfit( process_units,weight_index);23 J+=element->SurfaceRelVelMisfit(weight_index); 24 24 } 25 25 -
issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.h
r15000 r15130 9 9 10 10 /* local prototypes: */ 11 void SurfaceRelVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, bool process_units,int weight_index);11 void SurfaceRelVelMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index); 12 12 13 13 #endif -
issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.cpp
r14999 r15130 8 8 #include "../../toolkits/toolkits.h" 9 9 10 void ThicknessAbsMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, bool process_units,int weight_index){10 void ThicknessAbsMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, int weight_index){ 11 11 12 12 /*Intermediary*/ … … 21 21 for (i=0;i<elements->Size();i++){ 22 22 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 23 J+=element->ThicknessAbsMisfit( process_units,weight_index);23 J+=element->ThicknessAbsMisfit(weight_index); 24 24 } 25 25 -
issm/trunk-jpl/src/c/modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.h
r15000 r15130 9 9 10 10 /* local prototypes: */ 11 void ThicknessAbsMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, bool process_units,int weight_index);11 void ThicknessAbsMisfitx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index); 12 12 13 13 #endif -
issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.cpp
r14999 r15130 8 8 #include "../../toolkits/toolkits.h" 9 9 10 void ThicknessAcrossGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, bool process_units,int weight_index){10 void ThicknessAcrossGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){ 11 11 12 12 /*Intermediary*/ … … 21 21 for (i=0;i<elements->Size();i++){ 22 22 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 23 J+=element->ThicknessAcrossGradient( process_units,weight_index);23 J+=element->ThicknessAcrossGradient(weight_index); 24 24 } 25 25 -
issm/trunk-jpl/src/c/modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.h
r15000 r15130 9 9 10 10 /* local prototypes: */ 11 void ThicknessAcrossGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, bool process_units,int weight_index);11 void ThicknessAcrossGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index); 12 12 13 13 #endif -
issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.cpp
r14999 r15130 8 8 #include "../../toolkits/toolkits.h" 9 9 10 void ThicknessAlongGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters, bool process_units,int weight_index){10 void ThicknessAlongGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials,Parameters* parameters,int weight_index){ 11 11 12 12 /*Intermediary*/ … … 21 21 for (i=0;i<elements->Size();i++){ 22 22 element=dynamic_cast<Element*>(elements->GetObjectByOffset(i)); 23 J+=element->ThicknessAlongGradient( process_units,weight_index);23 J+=element->ThicknessAlongGradient(weight_index); 24 24 } 25 25 -
issm/trunk-jpl/src/c/modules/ThicknessAlongGradientx/ThicknessAlongGradientx.h
r15000 r15130 9 9 10 10 /* local prototypes: */ 11 void ThicknessAlongGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters, bool process_units,int weight_index);11 void ThicknessAlongGradientx( IssmDouble* pJ, Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int weight_index); 12 12 13 13 #endif
Note:
See TracChangeset
for help on using the changeset viewer.