Changeset 35051f
- Timestamp:
- May 24, 2008, 12:46:00 PM (17 years ago)
- Children:
- cd028d
- Parents:
- 2f6525
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pcp/src/gramsch.c
r2f6525 r35051f 713 713 } 714 714 715 #define max_GramSch_iter 3715 #define max_GramSch_iter 1 716 716 717 717 /** Test Gram-Schmidt-Orthogonalization. … … 731 731 int NotOk; // counts pairs that are not orthogonal 732 732 int iter = 0; 733 double MaxNotOk = 0.; 733 734 fftw_complex *LPsiDatA, *LPsiDatB; 734 735 735 736 do { 736 737 NotOk = 0; 738 MaxNotOk = 0.; 737 739 //fprintf(stderr,"(%i) Testing Orthogonality ... \n", P->Par.me); 738 740 for (i=0; i < Psi->MaxPsiOfType+P->Par.Max_me_comm_ST_PsiT; i++) { // go through all wave functions (plus the extra one for each process) … … 781 783 if (i == LOnePsiB->MyGlobalNo && LOnePsiB->PsiGramSchStatus == (int)IsOrthonormal) { 782 784 if (fabs(PsiSP -1.0) >= MYEPSILON) { 783 fprintf(stderr,"(%i)(%i,%i) = %g ?= 1.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,OnePsiA->MyGlobalNo,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP -1.0), MYEPSILON); 785 //fprintf(stderr,"(%i)(%i,%i) = %g ?= 1.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,OnePsiA->MyGlobalNo,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP -1.0), MYEPSILON); 786 MaxNotOk = (fabs(PsiSP -1.0) > MaxNotOk) ? fabs(PsiSP -1.0) : MaxNotOk; 784 787 NotOk++; 785 788 } 786 789 } else { 787 790 if (fabs(PsiSP) >= MYEPSILON && (LOnePsiB != OnePsiA && LOnePsiB->PsiType > UnOccupied)) { 788 fprintf(stderr,"(%i)(%i,%i) = %g ?= 0.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,OnePsiA->MyGlobalNo,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP), MYEPSILON); 791 //fprintf(stderr,"(%i)(%i,%i) = %g ?= 0.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,OnePsiA->MyGlobalNo,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP), MYEPSILON); 792 MaxNotOk = (fabs(PsiSP) > MaxNotOk) ? fabs(PsiSP) : MaxNotOk; 789 793 NotOk++; 790 794 } … … 797 801 if (i == LOnePsiB->MyGlobalNo && LOnePsiB->PsiGramSchStatus == (int)IsOrthonormal) { 798 802 if (fabs(PsiSP -1.0) >= MYEPSILON) { 799 fprintf(stderr,"(%i)(%i,%i) = %g != 1.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,i,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP -1.0), MYEPSILON); 803 //fprintf(stderr,"(%i)(%i,%i) = %g != 1.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,i,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP -1.0), MYEPSILON); 804 MaxNotOk = (fabs(PsiSP -1.0) > MaxNotOk) ? fabs(PsiSP -1.0) : MaxNotOk; 800 805 NotOk++; 801 806 } else { … … 804 809 } else { 805 810 if (fabs(PsiSP) >= MYEPSILON) { 806 fprintf(stderr,"(%i)(%i,%i) = %g != 0.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,i,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP), MYEPSILON); 811 //fprintf(stderr,"(%i)(%i,%i) = %g != 0.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,i,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP), MYEPSILON); 812 MaxNotOk = (fabs(PsiSP) > MaxNotOk) ? fabs(PsiSP) : MaxNotOk; 807 813 NotOk++; 808 814 } else { … … 823 829 if (i == LOnePsiB->MyGlobalNo && LOnePsiB->PsiGramSchStatus == (int)IsOrthonormal) { 824 830 if (fabs(PsiSP -1.0) >= MYEPSILON) { 825 fprintf(stderr,"(%i)(%i,%i) = %g != 1.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,OnePsiA->MyGlobalNo,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP -1.0), MYEPSILON); 831 //fprintf(stderr,"(%i)(%i,%i) = %g != 1.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,OnePsiA->MyGlobalNo,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP -1.0), MYEPSILON); 832 MaxNotOk = (fabs(PsiSP -1.0) > MaxNotOk) ? fabs(PsiSP -1.0) : MaxNotOk; 826 833 NotOk++; 827 834 } 828 835 } else { 829 836 if (fabs(PsiSP) >= MYEPSILON && (LOnePsiB->MyGlobalNo != OnePsiA->MyGlobalNo)) { 830 fprintf(stderr,"(%i)(%i,%i) = %g != 0.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,OnePsiA->MyGlobalNo,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP), MYEPSILON); 837 //fprintf(stderr,"(%i)(%i,%i) = %g != 0.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,OnePsiA->MyGlobalNo,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP), MYEPSILON); 838 MaxNotOk = (fabs(PsiSP) > MaxNotOk) ? fabs(PsiSP) : MaxNotOk; 831 839 NotOk++; 832 840 } … … 838 846 if (i == LOnePsiB->MyGlobalNo && LOnePsiB->PsiGramSchStatus == (int)IsOrthonormal) { 839 847 if (fabs(PsiSP -1.0) >= MYEPSILON) { 840 fprintf(stderr,"(%i)(%i,%i) = %g != 1.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,OnePsiA->MyGlobalNo,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP -1.0), MYEPSILON); 848 //fprintf(stderr,"(%i)(%i,%i) = %g != 1.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,OnePsiA->MyGlobalNo,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP -1.0), MYEPSILON); 849 MaxNotOk = (fabs(PsiSP -1.0) > MaxNotOk) ? fabs(PsiSP -1.0) : MaxNotOk; 841 850 NotOk++; 842 851 } 843 852 } else { 844 853 if (fabs(PsiSP) >= MYEPSILON) { 845 fprintf(stderr,"(%i)(%i,%i) = %g != 0.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,OnePsiA->MyGlobalNo,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP), MYEPSILON); 854 //fprintf(stderr,"(%i)(%i,%i) = %g != 0.0 eps(%g >= %g)\n",P->Par.my_color_comm_ST,OnePsiA->MyGlobalNo,LOnePsiB->MyGlobalNo,PsiSP, fabs(PsiSP), MYEPSILON); 855 MaxNotOk = (fabs(PsiSP) > MaxNotOk) ? fabs(PsiSP) : MaxNotOk; 846 856 NotOk++; 847 857 } … … 854 864 } 855 865 } 856 /*if (NotOk != 0) {857 fprintf(stderr,"(%i) NotOk %i ... re-orthogonalizing type %i for the %ith time\n",P->Par.me, NotOk, Type2test, ++iter);866 if (NotOk != 0) { 867 fprintf(stderr,"(%i) NotOk %i with max %lg ... re-orthogonalizing type %i for the %ith time\n",P->Par.me, NotOk, MaxNotOk, Type2test, iter); 858 868 ResetGramSchTagType(P, Psi, Type2test, NotOrthogonal); 859 869 GramSch(P,Lev,Psi,Orthonormalize); 860 }*/ 870 } 871 ++iter; 861 872 } while ((NotOk != 0) && (iter < max_GramSch_iter)); 862 873 if (P->Call.out[StepLeaderOut]) { // final check if there have been any un-orthogonal pairs
Note:
See TracChangeset
for help on using the changeset viewer.