Changeset 4780
- Timestamp:
- 07/23/10 15:30:29 (15 years ago)
- Location:
- issm/trunk/src/c
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/modules/InputConvergencex/InputConvergencex.cpp
r4778 r4780 11 11 12 12 /*intermediary:*/ 13 int i; 14 int converged = 1; 15 int node_converged=1; 16 double *eps = NULL; 13 17 extern int my_rank; 14 int i; 15 bool converged = true; 16 bool node_converged = true; 17 double *eps = NULL; 18 int rank_allowed; 19 Element *element = NULL; 20 int verbose = 0; 18 int rank_allowed; 19 Element* element=NULL; 20 int verbose=0; 21 21 22 22 /*retrieve parameters: */ … … 57 57 58 58 /*return: */ 59 return converged; 59 if (converged){ 60 return true;} 61 else{ 62 return false;} 60 63 } -
issm/trunk/src/c/objects/Elements/Beam.cpp
r4778 r4780 405 405 /*}}}*/ 406 406 /*FUNCTION Beam::InputConvergence{{{1*/ 407 void Beam::InputConvergence( bool* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums){407 void Beam::InputConvergence(int* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums){ 408 408 409 409 int i; 410 410 Input** new_inputs=NULL; 411 411 Input** old_inputs=NULL; 412 bool converged=true;412 int converged=1; 413 413 414 414 new_inputs=(Input**)xmalloc(num_enums/2*sizeof(Input*)); //half the enums are for the new inputs … … 425 425 for(i=0;i<num_criterionenums;i++){ 426 426 IsInputConverged(eps+i,new_inputs,old_inputs,num_enums/2,criterionenums[i]); 427 if(eps[i]>criterionvalues[i]) converged=false; 428 } 427 if(eps[i]>criterionvalues[i]) converged=0; 428 } 429 430 /*clean up*/ 431 xfree((void**)&new_inputs); 432 xfree((void**)&old_inputs); 429 433 430 434 /*Assign output pointers:*/ -
issm/trunk/src/c/objects/Elements/Beam.h
r4778 r4780 84 84 void InputAXPY(int YEnum, double scalar, int XEnum); 85 85 void InputControlConstrain(int control_type,double cm_min, double cm_max); 86 void InputConvergence( bool* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums);86 void InputConvergence(int* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums); 87 87 void InputDepthAverageAtBase(int enum_type,int average_enum_type){ISSMERROR("not implemented yet");} 88 88 void InputDuplicate(int original_enum,int new_enum); -
issm/trunk/src/c/objects/Elements/Element.h
r4778 r4780 72 72 virtual void InputAXPY(int YEnum, double scalar, int XEnum)=0; 73 73 virtual void InputControlConstrain(int control_type,double cm_min, double cm_max)=0; 74 virtual void InputConvergence( bool* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums)=0;74 virtual void InputConvergence(int* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums)=0; 75 75 76 76 /*Implementation: */ -
issm/trunk/src/c/objects/Elements/Penta.cpp
r4778 r4780 1074 1074 /*}}}*/ 1075 1075 /*FUNCTION Penta::InputConvergence{{{1*/ 1076 void Penta::InputConvergence( bool* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums){1076 void Penta::InputConvergence(int* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums){ 1077 1077 1078 1078 int i; 1079 1079 Input** new_inputs=NULL; 1080 1080 Input** old_inputs=NULL; 1081 bool converged=true;1081 int converged=1; 1082 1082 1083 1083 new_inputs=(Input**)xmalloc(num_enums/2*sizeof(Input*)); //half the enums are for the new inputs … … 1094 1094 for(i=0;i<num_criterionenums;i++){ 1095 1095 IsInputConverged(eps+i,new_inputs,old_inputs,num_enums/2,criterionenums[i]); 1096 if(eps[i]>criterionvalues[i]) converged=false; 1097 } 1096 if(eps[i]>criterionvalues[i]) converged=0; 1097 } 1098 1099 /*clean up*/ 1100 xfree((void**)&new_inputs); 1101 xfree((void**)&old_inputs); 1098 1102 1099 1103 /*Assign output pointers:*/ -
issm/trunk/src/c/objects/Elements/Penta.h
r4778 r4780 87 87 void InputAXPY(int YEnum, double scalar, int XEnum); 88 88 void InputControlConstrain(int control_type,double cm_min, double cm_max); 89 void InputConvergence( bool* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums);89 void InputConvergence(int* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums); 90 90 void InputDepthAverageAtBase(int enum_type,int average_enum_type); 91 91 void InputDuplicate(int original_enum,int new_enum); -
issm/trunk/src/c/objects/Elements/Sing.cpp
r4778 r4780 374 374 /*}}}*/ 375 375 /*FUNCTION Sing::InputConvergence{{{1*/ 376 void Sing::InputConvergence( bool* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums){376 void Sing::InputConvergence(int* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums){ 377 377 378 378 int i; 379 379 Input** new_inputs=NULL; 380 380 Input** old_inputs=NULL; 381 bool converged=true;381 int converged=1; 382 382 383 383 new_inputs=(Input**)xmalloc(num_enums/2*sizeof(Input*)); //half the enums are for the new inputs … … 394 394 for(i=0;i<num_criterionenums;i++){ 395 395 IsInputConverged(eps+i,new_inputs,old_inputs,num_enums/2,criterionenums[i]); 396 if(eps[i]>criterionvalues[i]) converged=false; 397 } 396 if(eps[i]>criterionvalues[i]) converged=0; 397 } 398 399 /*clean up*/ 400 xfree((void**)&new_inputs); 401 xfree((void**)&old_inputs); 398 402 399 403 /*Assign output pointers:*/ -
issm/trunk/src/c/objects/Elements/Sing.h
r4778 r4780 84 84 void InputAXPY(int YEnum, double scalar, int XEnum); 85 85 void InputControlConstrain(int control_type,double cm_min, double cm_max); 86 void InputConvergence( bool* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums);86 void InputConvergence(int* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums); 87 87 void InputDepthAverageAtBase(int enum_type,int average_enum_type){ISSMERROR("not implemented yet");} 88 88 void InputDuplicate(int original_enum,int new_enum); -
issm/trunk/src/c/objects/Elements/Tria.cpp
r4778 r4780 1453 1453 /*}}}*/ 1454 1454 /*FUNCTION Tria::InputConvergence{{{1*/ 1455 void Tria::InputConvergence( bool* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums){1455 void Tria::InputConvergence(int* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums){ 1456 1456 1457 1457 int i; 1458 1458 Input** new_inputs=NULL; 1459 1459 Input** old_inputs=NULL; 1460 bool converged=true;1460 int converged=1; 1461 1461 1462 1462 new_inputs=(Input**)xmalloc(num_enums/2*sizeof(Input*)); //half the enums are for the new inputs … … 1473 1473 for(i=0;i<num_criterionenums;i++){ 1474 1474 IsInputConverged(eps+i,new_inputs,old_inputs,num_enums/2,criterionenums[i]); 1475 if(eps[i]>criterionvalues[i]) converged=false; 1476 } 1475 if(eps[i]>criterionvalues[i]) converged=0; 1476 } 1477 1478 /*clean up*/ 1479 xfree((void**)&new_inputs); 1480 xfree((void**)&old_inputs); 1477 1481 1478 1482 /*Assign output pointers:*/ -
issm/trunk/src/c/objects/Elements/Tria.h
r4778 r4780 84 84 void InputAXPY(int YEnum, double scalar, int XEnum); 85 85 void InputControlConstrain(int control_type,double cm_min, double cm_max); 86 void InputConvergence( bool* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums);86 void InputConvergence(int* pconverged,double* eps, int* enums,int num_enums,int* criterionenums,double* criterionvalues,int num_criterionenums); 87 87 void InputDepthAverageAtBase(int enum_type,int average_enum_type); 88 88 void InputDuplicate(int original_enum,int new_enum);
Note:
See TracChangeset
for help on using the changeset viewer.