seg faults associated to stokes weak form details
Dear Firedrake -- My smooth progress with this awesome tool has hit a first barrier. The attached linear stokes code works as is with the "VERSION 1" weak form. Run simply as "python3 ./linflowstep.py". The attached mesh file is read by default. But with "grad()" replaced by "epsilon()", as recommended in the UFL manual*, which is VERSION 2, I get seg fault. Slight modifications do or do not work according to mere value of the constant (see VERSION 3/4 ... weird). Can you reproduce? Any ideas? I seek to use the strain rate tensor (= epsilon(u)) in a nonnewtonian stokes job, but this is blocking. Thanks, Ed PS* https://media.readthedocs.org/pdf/fenics-ufl/stable/fenics-ufl.pdf page 23 PPS Any advice for using a debugger on firedrake codes? I am used to debugging PETSc C codes using gdb, but that is not working for me yet. -- Ed Bueler Dept of Math and Stat and Geophysical Institute University of Alaska Fairbanks Fairbanks, AK 99775-6660 301C Chapman
Hi Ed,
On 23 Apr 2018, at 23:31, Ed Bueler <elbueler@alaska.edu> wrote:
Dear Firedrake --
My smooth progress with this awesome tool has hit a first barrier.
The attached linear stokes code works as is with the "VERSION 1" weak form. Run simply as "python3 ./linflowstep.py". The attached mesh file is read by default.
But with "grad()" replaced by "epsilon()", as recommended in the UFL manual*, which is VERSION 2, I get seg fault. Slight modifications do or do not work according to mere value of the constant (see VERSION 3/4 ... weird).
Can you reproduce? Any ideas?
I tried. But all four versions work for me. Can you post the output of: firedrake-status? If you built your own PETSc, can you say what commit you used? As far as debugging goes, valgrind is normally a struggle due to the way python handles memory pools. But you can debug with gdb: gdb --args python myscript.py By default the jit compiled code is built with O3. You can turn that down to O0 with: export PYOP2_DEBUG=1 Before running. Thanks, Lawrence
participants (2)
- 
                
                Ed Bueler
- 
                
                Lawrence Mitchell