On Wed, 20 Jan 2016, hu.b...@xemail.me wrote: > I am trying to write a programme using infinite elements. Since I am > new to libmesh, please forgive me dumb questions
These are not dumb questions. Please forgive my dumb answers. AFAIK, there are literally zero libMesh developers currently using infinite elements, there haven't been any for several years, and all our infinite element test coverage predates when we started to get serious about regression testing, so the maintenance on infinite element code has been no better than "make sure that it still compiles after its dependencies have been changed". So although it's theoretically *possible* that you're doing something wrong, it's much more likely that our infinite element support is currently broken. > which, in my point of view, is due to an error in inf_elem_builder.C > (see patch in supplement; it seems to solve this problem) Thanks! Our mailing lists tend to strip long (and medium, and insufficiently short) attachments, so I don't see the patch. Would you send me a copy directly? Alternatively you could set up a pull request on Github; this would be a little more work for you but it would make the patch easier to review for us. Plus, if you do the "git commit" yourself then you don't have to rely on us remembering "--author='hu.b...@xemail.me'" to credit you properly. > However, running the code than, gave me several errors: First, the > exodus-output broke down with the message > > "Error: Exodus requires all elements with a given subdomain ID to be the same > type. > Can't write both INFHEX8 and HEX8 in the same block!" Hmm... that's a limitation of our ExodusII output; we use one block per subdomain id, and Exodus doesn't allow more than one element type per block. Perhaps we were originally using GMV in that example, didn't notice when InfElemBuilder regressed, and then that regression masked the problem when we switched from GMV to ExodusII? In any case, the short-term workaround would be to loop over elements and set a new subdomain ID on the infinite ones. In the long term we might want to just add an optional subdomain id argument to InfElemBuilder::build(). > and commenting this line leads to the error > > "Second derivatives for Infinite elements are not yet implemented!" That's actually a warning, not an error, I believe. When an FE object is used without pre-requesting data, it tries to calculate all the data it can, including second derivatives, even though (in miscellaneous_ex11, and in most H1 problem formulations) the second derivatives won't be used later. > however, reinstalling libmesh with the option '--disable-second' > leads to several errors due to inconsistencies (variables are > defined in areas that are excluded but used outside of it We did have a regression there but AFAIK it's been fixed in both master and 0.9.4-rc2. What git revision or release version are you running? Thanks for the helpful bug reports, and for your patience. Send me another copy of your patch and I'll try to get to it by tonight. --- Roy ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users