## [Libmesh-devel] New eigenvalue example

 [Libmesh-devel] New eigenvalue example From: David Knezevic - 2012-02-28 05:42:23 ```I just checked in eigenvalue_ex3. It's an example I made last semester when I was teaching about eigenvalue problems, and I thought it'd make a good libMesh example. We compute eigenvalues of two "isospectral drums": they have different shapes, but their entire spectrum is exactly the same (so, in principle, these two drums would sound the same). This is a well-known result, e.g. http://en.wikipedia.org/wiki/Hearing_the_shape_of_a_drum Also, it's a good benchmark problem, because the eigenvalues have been tabulated to high precision in the literature (as indicated in the example comments). Dave ```

 [Libmesh-devel] New eigenvalue example From: David Knezevic - 2012-02-28 05:42:23 ```I just checked in eigenvalue_ex3. It's an example I made last semester when I was teaching about eigenvalue problems, and I thought it'd make a good libMesh example. We compute eigenvalues of two "isospectral drums": they have different shapes, but their entire spectrum is exactly the same (so, in principle, these two drums would sound the same). This is a well-known result, e.g. http://en.wikipedia.org/wiki/Hearing_the_shape_of_a_drum Also, it's a good benchmark problem, because the eigenvalues have been tabulated to high precision in the literature (as indicated in the example comments). Dave ```
 Re: [Libmesh-devel] New eigenvalue example From: Roy Stogner - 2012-02-29 03:56:18 ```On Tue, 28 Feb 2012, David Knezevic wrote: > I just checked in eigenvalue_ex3. It's an example I made last semester > when I was teaching about eigenvalue problems, and I thought it'd make a > good libMesh example. It's a great example, when SLEPc's enabled. It's a compilation failure otherwise. ;-) You need #ifdef LIBMESH_ENABLE_SLEPC wrappers around every use of EigenSystem, not just the ones in main(). > Also, it's a good benchmark problem, because the eigenvalues have been > tabulated to high precision in the literature (as indicated in the > example comments). If a benchmark fails in the forest of examples, and nobody's there to evaluate error, does it make a sound? ;-) We really need some benchmarks that get run and tested for excessive error levels as part of the basic open source libMesh suite. "Secret apps that INL runs" plus "Secret apps that UT runs" plus etcetera is much better than nothing, but in light of the recent system-specific (one compiler-specific!) failures of doxygen and xdr on libmesh-users, it would be nice to have a "make check" target that catches numerical errors rather than just logic errors. --- Roy ```
 Re: [Libmesh-devel] New eigenvalue example From: Paul T. Bauman - 2012-02-29 04:02:17 Attachments: Message as HTML ```On Tue, Feb 28, 2012 at 9:56 PM, Roy Stogner wrote: > We really need some benchmarks that get run and tested for excessive > error levels as part of the basic open source libMesh suite. "Secret > apps that INL runs" plus "Secret apps that UT runs" plus etcetera is > much better than nothing, but in light of the recent system-specific > (one compiler-specific!) failures of doxygen and xdr on libmesh-users, > it would be nice to have a "make check" target that catches numerical > errors rather than just logic errors. I'd propose we setup a test directory and start tossing stuff in there and have it run during make check, having the test be responsible for deciding if it passes or fails and return 0 for pass and 1 for not. I'm hacking on the examples right now anyway so if you (or anyone else...) wants to send me a couple of benchmark problems, I'll setup the infrastructure for it, with some detailed instructions on adding more tests. ```
 Re: [Libmesh-devel] New eigenvalue example From: David Knezevic - 2012-02-29 16:33:45 ```On 02/28/2012 10:56 PM, Roy Stogner wrote: > > On Tue, 28 Feb 2012, David Knezevic wrote: > >> I just checked in eigenvalue_ex3. It's an example I made last semester >> when I was teaching about eigenvalue problems, and I thought it'd make a >> good libMesh example. > > It's a great example, when SLEPc's enabled. It's a compilation > failure otherwise. ;-) You need #ifdef LIBMESH_ENABLE_SLEPC wrappers > around every use of EigenSystem, not just the ones in main(). Thanks, it's fixed now. I forgot to try the example with my --disable-slepc build before checking in... I also added in the "reference" values for the first 5 eigenvalues into the comments. Dave ```