Subject: [FEniCS-users] Preserving Symmetry in applying boundary conditions in Dolfin

From: Jehanzeb Hameed <[email-masked]>
Date: Mon, 28 Sep 2009 12:44:39 -0500

Hello,

I have a simple question. I want to apply Dirichlet boundary
conditions and mantain the symmetry of the matrix. Previously I was
using "assemble_system" which does this. Now I have a situation, in
which I need to assemble a symmetric matrix A separately from vector
b. If I use DirichletBC::apply(A,b), I loose the symmetry in A. Can
someone tell me what to use in this case?

Thanks,
-Jehanzeb

---

From: "Riesen Patrick" <[email-masked]>
Date: Mon, 28 Sep 2009 23:06:15 +0200

Hi, yesterday i had the full dolfin0.9.3 suite running without problems on my mac 10.5.8, but just using umfpack and hypre.
today i made another pull, and tried to configure petsc with mumps this time.

i used 
--with-debugging=0 --with-clanguage=cxx
--with-shared=1 --download-hypre=1 --download-parmetis=1 --download-scalapack=1
--download-blacs=1 --download-mumps=1 --prefix=${INSTALL_PATH}

installing and compiling is no problem, but when using viper, i get this error:
Traceback (most recent call last):
  File "/Users/priesen/Work/FEniCS/build/bin/viper", line 210, in <module>
    _newmain()
  File "/Users/priesen/Work/FEniCS/build/bin/viper", line 205, in _newmain
    p = __main(infile, lutfile, mode, title)
  File "/Users/priesen/Work/FEniCS/build/bin/viper", line 137, in __main
    return _plot_mesh(infile, lutfile, mode, title)
  File "/Users/priesen/Work/FEniCS/build/bin/viper", line 101, in _plot_mesh
    import dolfin
  File "/Users/priesen/Work/FEniCS/build/lib/python2.5/site-packages/dolfin/__init__.py", line 11, in <module>
    import cpp
  File "/Users/priesen/Work/FEniCS/build/lib/python2.5/site-packages/dolfin/cpp.py", line 6, in <module>
    import _cpp
ImportError: dlopen(/Users/priesen/Work/FEniCS/build/lib/python2.5/site-packages/dolfin/_cpp.so, 2): Symbol not found: _blacs_gridexit_
  Referenced from: /Users/priesen/Work/FEniCS/build/lib/libpetscmat.dylib
  Expected in: dynamic lookup

thank you for the help,
patrick

---

From: Anders Logg <[email-masked]>
Date: Mon, 28 Sep 2009 23:13:57 +0200

>   Expected in: dynamic lookup

Did you rebuild DOLFIN and your application after rebuilding PETSc?

If you're running dynamically in Python, perhaps instant-clean might help.

--
Anders

---

From: Harish Narayanan <[email-masked]>
Date: Mon, 28 Sep 2009 23:39:29 +0200

>   Expected in: dynamic lookup

I can confirm that the exact same thing happens on my machine. The same
Mac OS version, and the same symptoms.

I will see if something more can be added to petsc's pkgconfig file
(something like -lblacs) to make this go away.

Harish

---

From: Anders Logg <[email-masked]>
Date: Mon, 28 Sep 2009 23:42:50 +0200

> someone tell me what to use in this case?

I don't think there's an easy way to do that. Kent or Garth might know
more.

--
Anders

---

From: "Garth N. Wells" <[email-masked]>
Date: Mon, 28 Sep 2009 22:44:32 +0100

> I don't think there's an easy way to do that. Kent or Garth might know

You could send in a dummy vector to SystemAssembler.

Garth

> --
> Anders
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> FEniCS-users mailing list
> [email-masked]
> http://fenics.org/mailman/listinfo/fenics-users

---

From: Anders Logg <[email-masked]>
Date: Mon, 28 Sep 2009 23:51:49 +0200

> You could send in a dummy vector to SystemAssembler.

Or rather send in a zero vector and then add that to the vector b?

--
Anders

---

From: Patrick Riesen <[email-masked]>
Date: Tue, 29 Sep 2009 08:57:20 +0200

> If you're running dynamically in Python, perhaps instant-clean might help.

yes i rebuilt everything and had no problems. it occured when i run the 
poisson demo, but it was the same with every other demo i tried.
i put it petsc back to the previous configuration without mumps and that 
works fine for me.
hopefully harish may find a solution :-)
many thanks,
patrick