Changeset 13874
- Timestamp:
- 11/05/12 13:00:00 (12 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 4 deleted
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/Makefile.am
r13855 r13874 482 482 #}}} 483 483 #Responses sources {{{ 484 responses_sources = ./modules/MinVelx/MinVelx.h\ 485 ./modules/MinVelx/MinVelx.cpp\ 486 ./modules/MinVxx/MinVxx.h\ 487 ./modules/MinVxx/MinVxx.cpp\ 488 ./modules/MinVyx/MinVyx.h\ 489 ./modules/MinVyx/MinVyx.cpp\ 490 ./modules/MinVzx/MinVzx.h\ 491 ./modules/MinVzx/MinVzx.cpp\ 492 ./modules/TotalSmbx/TotalSmbx.h\ 484 responses_sources = ./modules/TotalSmbx/TotalSmbx.h\ 493 485 ./modules/TotalSmbx/TotalSmbx.cpp\ 494 486 ./modules/IceVolumex/IceVolumex.h\ -
issm/trunk-jpl/src/c/classes/FemModel.cpp
r13855 r13874 405 405 #ifdef _HAVE_RESPONSES_ 406 406 case IceVolumeEnum: IceVolumex( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break; 407 case MinVelEnum: MinVelx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;407 case MinVelEnum: this->MinVelx(responses,process_units); break; 408 408 case MaxVelEnum: this->MaxVelx( responses,process_units); break; 409 case MinVxEnum: MinVxx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;409 case MinVxEnum: this->MinVxx(responses,process_units); break; 410 410 case MaxVxEnum: this->MaxVxx( responses,process_units); break; 411 411 case MaxAbsVxEnum: this->MaxAbsVxx( responses,process_units); break; 412 case MinVyEnum: MinVyx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;412 case MinVyEnum: this->MinVyx(responses,process_units); break; 413 413 case MaxVyEnum: this->MaxVyx( responses,process_units); break; 414 414 case MaxAbsVyEnum: this->MaxAbsVyx( responses,process_units); break; 415 case MinVzEnum: MinVzx( responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;415 case MinVzEnum: this->MinVzx(responses,process_units); break; 416 416 case MaxVzEnum: this->MaxVzx( responses,process_units); break; 417 417 case MaxAbsVzEnum: this->MaxAbsVzx( responses,process_units); break; … … 793 793 794 794 }/*}}}*/ 795 void FemModel::MinVelx(IssmDouble* pminvel,bool process_units){/*{{{*/ 796 797 int i; 798 IssmDouble minvel; 799 IssmDouble node_minvel; 800 IssmDouble element_minvel; 801 802 /*Go through elements, and request velocity: */ 803 minvel=INFINITY; 804 for(i=0;i<this->elements->Size();i++){ 805 Element* element=(Element*)this->elements->GetObjectByOffset(i); 806 element->MinVel(&element_minvel,process_units); 807 if(element_minvel<minvel) minvel=element_minvel; 808 } 809 810 /*Figure out minimum across the cluster: */ 811 #ifdef _HAVE_MPI_ 812 MPI_Reduce(&minvel,&node_minvel,1,MPI_DOUBLE,MPI_MAX,0,IssmComm::GetComm() ); 813 MPI_Bcast(&node_minvel,1,MPI_DOUBLE,0,IssmComm::GetComm()); 814 minvel=node_minvel; 815 #endif 816 817 /*Assign output pointers:*/ 818 *pminvel=minvel; 819 820 }/*}}}*/ 821 void FemModel::MinVxx(IssmDouble* pminvx,bool process_units){/*{{{*/ 822 823 int i; 824 IssmDouble minvx; 825 IssmDouble node_minvx; 826 IssmDouble element_minvx; 827 828 /*Go through elements, and request velocity: */ 829 minvx=INFINITY; 830 for(i=0;i<this->elements->Size();i++){ 831 Element* element=(Element*)this->elements->GetObjectByOffset(i); 832 element->MinVx(&element_minvx,process_units); 833 if(element_minvx<minvx) minvx=element_minvx; 834 } 835 836 /*Figure out minimum across the cluster: */ 837 #ifdef _HAVE_MPI_ 838 MPI_Reduce(&minvx,&node_minvx,1,MPI_DOUBLE,MPI_MAX,0,IssmComm::GetComm() ); 839 MPI_Bcast(&node_minvx,1,MPI_DOUBLE,0,IssmComm::GetComm()); 840 minvx=node_minvx; 841 #endif 842 843 /*Assign output pointers:*/ 844 *pminvx=minvx; 845 846 }/*}}}*/ 847 void FemModel::MinVyx(IssmDouble* pminvy,bool process_units){/*{{{*/ 848 849 int i; 850 IssmDouble minvy; 851 IssmDouble node_minvy; 852 IssmDouble element_minvy; 853 854 /*Go through elements, and request velocity: */ 855 minvy=INFINITY; 856 for(i=0;i<this->elements->Size();i++){ 857 Element* element=(Element*)this->elements->GetObjectByOffset(i); 858 element->MinVy(&element_minvy,process_units); 859 if(element_minvy<minvy) minvy=element_minvy; 860 } 861 862 /*Figure out minimum across the cluster: */ 863 #ifdef _HAVE_MPI_ 864 MPI_Reduce(&minvy,&node_minvy,1,MPI_DOUBLE,MPI_MAX,0,IssmComm::GetComm() ); 865 MPI_Bcast(&node_minvy,1,MPI_DOUBLE,0,IssmComm::GetComm()); 866 minvy=node_minvy; 867 #endif 868 869 /*Assign output pointers:*/ 870 *pminvy=minvy; 871 872 }/*}}}*/ 873 void FemModel::MinVzx(IssmDouble* pminvz,bool process_units){/*{{{*/ 874 875 int i; 876 IssmDouble minvz; 877 IssmDouble node_minvz; 878 IssmDouble element_minvz; 879 880 /*Go through elements, and request velocity: */ 881 minvz=INFINITY; 882 for(i=0;i<this->elements->Size();i++){ 883 Element* element=(Element*)this->elements->GetObjectByOffset(i); 884 element->MinVz(&element_minvz,process_units); 885 if(element_minvz<minvz) minvz=element_minvz; 886 } 887 888 /*Figure out minimum across the cluster: */ 889 #ifdef _HAVE_MPI_ 890 MPI_Reduce(&minvz,&node_minvz,1,MPI_DOUBLE,MPI_MAX,0,IssmComm::GetComm() ); 891 MPI_Bcast(&node_minvz,1,MPI_DOUBLE,0,IssmComm::GetComm()); 892 minvz=node_minvz; 893 #endif 894 895 /*Assign output pointers:*/ 896 *pminvz=minvz; 897 898 }/*}}}*/ 795 899 #endif 796 900 #ifdef _HAVE_CONTROL_ -
issm/trunk-jpl/src/c/classes/FemModel.h
r13722 r13874 70 70 void MaxVyx(IssmDouble* presponse,bool process_units); 71 71 void MaxVzx(IssmDouble* presponse,bool process_units); 72 void MinVelx(IssmDouble* presponse,bool process_units); 73 void MinVxx(IssmDouble* presponse,bool process_units); 74 void MinVyx(IssmDouble* presponse,bool process_units); 75 void MinVzx(IssmDouble* presponse,bool process_units); 72 76 #endif 73 77 #ifdef _HAVE_DAKOTA_ -
issm/trunk-jpl/src/c/modules/modules.h
r13722 r13874 67 67 #include "./MeshPartitionx/MeshPartitionx.h" 68 68 #include "./MeshProfileIntersectionx/MeshProfileIntersectionx.h" 69 #include "./MinVelx/MinVelx.h"70 #include "./MinVxx/MinVxx.h"71 #include "./MinVyx/MinVyx.h"72 #include "./MinVzx/MinVzx.h"73 69 #include "./SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.h" 74 70 #include "./SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.h"
Note:
See TracChangeset
for help on using the changeset viewer.