Hello ! Sorry on advance for the long email, I tried to be specific.
I need to use the cbc.block package for my python code (I need block-structure matrix), but I don't know how to apply my boundary condition (Dirichlet boundary conditions, basically non-slip conditions). Let me explain: I downloaded the last version of cbc.block from: https://bitbucket.org/fenics-apps/cbc.bloI ck/overview. I first tried to run some demo, mixedpoisson.py and biot.py for example. However, I have a problem with the block_symmetric_assemble and block_assemble functions. Here is the error I obtain : Traceback (most recent call last): File "mixedpoisson.py", line 97, in [a21, 0 ]], bcs=bcs) File "/usr/local/lib/python2.7/dist-packages/block/block_assemble.py", line 35, in block_symmetric_assemble symm[i,j], asymm[i,j] = _symmetric_assemble(forms[i,j], row_bcs=bcs[i], col_bcs=bcs[j]) File "/usr/local/lib/python2.7/dist-packages/block/block_assemble.py", line 79, in _symmetric_assemble from dolfin import symmetric_assemble ImportError: cannot import name symmetric_assemble I suspect an incompatibility between the versions of FEniCS/cbc.block (I have dolfin-1.2.0). I understood that "symmetric_assemble" does no longer exist in the Python interface, sp obviously it won't work. Consequently, I downloaded a previous version of cbc.block (1.0.1), where I can use bc = block_bc([...]) (with inside my boundary conditions defined with DirichletBC) and bc.apply(A, b) to apply my boundary conditions (block_bc is not available in the last version of cbc.block). I previously assemble my blocks and build my block matrix with: A = block_mat([...]) and the RHS: b = block_vec([...]). Obviously, it's not the best way to do it (some of the demo for example still don't work), but I don't know how to apply boundary conditions with the newest version of cbc.block. On top of that, I have an other error which I don't know how to solve: Calculated signs of diagonal blocks:[1, None, 1] Traceback (most recent call last): File "block_stokes_1.py", line 93, in bc.apply(A, b, save_A=True) File "/usr/local/lib/python2.7/dist-packages/block/block_bc.py", line 41, in apply self.apply_matvec(A, b, symmetric) File "/usr/local/lib/python2.7/dist-packages/block/block_bc.py", line 87, in apply_matvec bc.zero_columns(A[j,i], b[j]) TypeError: in method 'DirichletBC_zero_columns', argument 2 of type 'dolfin::GenericMatrix &' I had an idea from https://lists.launchpad.net/cbc.block/msg00018.html, but even with that, it still doesn't work.So now, I'm lost ! Anyone can help me with that ? Thanks in advance for your time (sorry again for the huge question...), Coraline PS: I install FEniCS via dorsal, so I have dolfin-1.2.0 Python 2.7.3
_______________________________________________ fenics mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics
