Steven G. Johnson <stevenj.mit@...> writes: > > > On Jul 24, 2012, at 9:07 AM, Brahmanand Jogai wrote: > > I am trying to compile meep 1.2 for 64-bit Fedora version 17. > > > > It compiles, but "make check" fails with the PML part. The other > > tests seemed > > to pass. I am concerned about this error, since I am working on a > > 3D photonic > > crystal waveguide where the PML layer is important. > > > > I would appreciate any suggestions. Attached below is the test- > > suite.log file. > > > > [....] > > > > Checking thickness convergence of 1d PML... > > refl1d:, 2, 0.235034 > > meep: pml doesn't scale properly with length. > > This is weird...it doesn't just look like a difference in roundoff > errors or similar, since on my machine (64-bit Debian with gcc version > 4.4.5) the corresponding output line is > > Checking thickness convergence of 1d PML... > refl1d:, 2, 5.39147e-10 > refl1d:, 4, 8.42461e-12 > .... > > What version of gcc are you using? (run "g++ --version"). Can you > try recompiling Meep with > > make distclean > ./configure --enable-debug > make > > and then re-run the PML test > > cd tests > make pml > ./pml > > ? I want to check whether this is a compiler-optimization bug, and > turning off optimization usually helps check for that. > > --SGJ >
Prof Johnson, Thank you for responding. Here is the outcome: g++ (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5) Below is pasted the outcome of compiling with --enable-debug. Below the cut line is pasted the result with optimization enabled. So now I have got to figure out why the optimized binary is faulty. -- B. Jogai $ ./pml Running PML tests... Checking resolution convergence of 1d PML... refl1d:, 10, 2.33627e-07 refl1d:, 20, 7.12962e-10 refl1d:, 30, 2.63914e-11 refl1d:, 40, 2.56472e-12 refl1d:, 50, 4.18772e-13 refl1d:, 60, 9.47246e-14 refl1d:, 70, 2.67206e-14 refl1d:, 80, 8.82313e-15 passed 1d PML check. Checking resolution convergence of 1d PML... ...with conductivity 10... refl1d:, 10, 1.4397e-07 refl1d:, 20, 4.91496e-10 refl1d:, 30, 1.86466e-11 refl1d:, 40, 1.84813e-12 refl1d:, 50, 3.08618e-13 refl1d:, 60, 7.15917e-14 refl1d:, 70, 2.08266e-14 refl1d:, 80, 7.14905e-15 passed 1d PML check. Checking resolution convergence of 2d TM PML... refl2d:, 10, 4.64795e-08 refl2d:, 16, 7.32927e-10 refl2d:, 22, 5.07258e-11 refl2d:, 28, 6.93418e-12 passed 2d TM PML check. Checking resolution convergence of 2d TE PML... ...with conductivity 1... refl2d:, 10, 3.44784e-08 refl2d:, 16, 6.69015e-10 refl2d:, 22, 4.94277e-11 refl2d:, 28, 7.02398e-12 passed 2d TE PML check. Checking resolution convergence of 2d TE PML... ...with dispersion refl2d:, 10, 2.98824e-08 refl2d:, 16, 7.77707e-10 refl2d:, 22, 5.94018e-11 refl2d:, 28, 8.70977e-12 passed 2d TE PML check. Checking resolution convergence of 2d TM PML... ...with offdiag 0.5... refl2d:, 10, 3.23832e-08 refl2d:, 16, 3.2712e-10 refl2d:, 22, 2.65229e-11 refl2d:, 28, 5.56608e-12 passed 2d TM PML check. Checking resolution convergence of 2d TE PML... ...with offdiag 0.5... refl2d:, 10, 2.90326e-08 refl2d:, 16, 9.9335e-11 refl2d:, 22, 2.02097e-12 refl2d:, 28, 4.18807e-13 passed 2d TE PML check. Checking thickness convergence of 1d PML... refl1d:, 2, 5.39147e-10 refl1d:, 4, 8.42461e-12 ratio R(4)/R(2) * 2^6 = 1.00005 refl1d:, 8, 1.31527e-13 ratio R(8)/R(4) * 2^6 = 0.999181 refl1d:, 16, 2.07313e-15 ratio R(16)/R(8) * 2^6 = 1.00877 refl1d:, 32, 3.32749e-17 ratio R(32)/R(16) * 2^6 = 1.02724 refl1d:, 64, 3.4307e-19 ratio R(64)/R(32) * 2^6 = 0.659852 pml scales correctly with length. Checking thickness convergence of cylindrical PML for m=0... reflcyl:, 2, 8.57365e-07 reflcyl:, 4, 6.79407e-09 ratio R(4)/R(2) * 2^6 = 0.507159 pml scales correctly with length. Checking thickness convergence of cylindrical PML for m=1... reflcyl:, 2, 4.91647e-06 reflcyl:, 4, 3.36343e-09 ratio R(4)/R(2) * 2^6 = 0.0437834 pml scales correctly with length. Checking thickness convergence of cylindrical PML for m=2... reflcyl:, 2, 2.13039e-06 reflcyl:, 4, 1.27117e-09 ratio R(4)/R(2) * 2^6 = 0.0381878 pml scales correctly with length. ------------------------------cut line------------------------------ $ ./pml Running PML tests... Checking resolution convergence of 1d PML... refl1d:, 10, 2.33627e-07 refl1d:, 20, 7.12962e-10 refl1d:, 30, 2.63914e-11 refl1d:, 40, 2.56472e-12 refl1d:, 50, 4.18772e-13 refl1d:, 60, 9.47246e-14 refl1d:, 70, 2.67206e-14 refl1d:, 80, 8.82313e-15 passed 1d PML check. Checking resolution convergence of 1d PML... ...with conductivity 10... refl1d:, 10, 1.4397e-07 refl1d:, 20, 4.91496e-10 refl1d:, 30, 1.86466e-11 refl1d:, 40, 1.84813e-12 refl1d:, 50, 3.08618e-13 refl1d:, 60, 7.15917e-14 refl1d:, 70, 2.08266e-14 refl1d:, 80, 7.14905e-15 passed 1d PML check. Checking resolution convergence of 2d TM PML... refl2d:, 10, 4.64795e-08 refl2d:, 16, 7.32927e-10 refl2d:, 22, 5.07258e-11 refl2d:, 28, 6.93418e-12 passed 2d TM PML check. Checking resolution convergence of 2d TE PML... ...with conductivity 1... refl2d:, 10, 3.44784e-08 refl2d:, 16, 6.69015e-10 refl2d:, 22, 4.94277e-11 refl2d:, 28, 7.02398e-12 passed 2d TE PML check. Checking resolution convergence of 2d TE PML... ...with dispersion refl2d:, 10, 2.98824e-08 refl2d:, 16, 7.77707e-10 refl2d:, 22, 5.94018e-11 refl2d:, 28, 8.70977e-12 passed 2d TE PML check. Checking resolution convergence of 2d TM PML... ...with offdiag 0.5... refl2d:, 10, 3.23832e-08 refl2d:, 16, 3.2712e-10 refl2d:, 22, 2.65229e-11 refl2d:, 28, 5.56608e-12 passed 2d TM PML check. Checking resolution convergence of 2d TE PML... ...with offdiag 0.5... refl2d:, 10, 2.90326e-08 refl2d:, 16, 9.9335e-11 refl2d:, 22, 2.02097e-12 refl2d:, 28, 4.18807e-13 passed 2d TE PML check. Checking thickness convergence of 1d PML... refl1d:, 2, 0.235034 meep: pml doesn't scale properly with length. _______________________________________________ meep-discuss mailing list meep-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss