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

Reply via email to