On Tue, Mar 05, 2013 at 12:19:50PM -0600, Roy Stogner wrote: > > On Tue, 5 Mar 2013, Robert wrote: > > > I am currently catching errors due to element inversion (det F < 0) > > during assembly. If such an error occurs I want to reduce the timestep > > and try again. > > This works well for a single process. When trying to run the whole > > thing in parallel I am running into trouble, because usually just one of > > the processes has an inverted element and the whole thing deadlocks. > > Does anyone know how to handle this situations? > > Very very carefully. ;-) > > Basically you need to make sure there's no parallel communication > inside your try block (easy enough for typical loops over elements), > then have your catch block set a "caught_exception" flag from false to > true, then CommWorld.max(caught_exception) before testing it in your > time stepping heuristic.
That was the solution which also came to my mind after thinking about it a bit. Too bad that there isn't anything nicer. > We do the exact same thing (to handle potentially singular variable > transformations rather than potentially singular element mappings) in > an application code here, but I'm afraid I don't have any open source > examples to share. > > Curious: what exception specification are you catching? In hindsight > I realize that the mapping routines should be throwing a runtime_error > subclass rather than a logic_error subclass, but it's probably too > late to change that without breaking codes like yours. I am testing for detF<0 in the element_time_derivative as I have to calculate F there for the material law. If there is something wrong I raise an ConvergenceError, simply because I started implementing my timestepping for failures of the newtonsolver. Robert ------------------------------------------------------------------------------ Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the endpoint security space. For insight on selecting the right partner to tackle endpoint security challenges, access the full report. http://p.sf.net/sfu/symantec-dev2dev _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
