← Back to team overview

dolfin team mailing list archive

Re: trouble with FeNiCS

 

I think we added a

PETSC_CFLAGS="$PETSC_CFLAGS -DPETSC_USE_EXTERN_CXX"

just below the definition of PETSC_CFLAGS in configure.ac.  You need
to add this, then run scripts/preconfigure and then ./configure again.

We get PETSC_CFLAGS by

PETSC_CFLAGS=`make -s -C $PETSC_DIR getincludedirs PETSC_DIR=$PETSC_DIR BOPT=$BOPT`

which I think should be enough. I don't know why the extra
-DPETSC_USE_EXTERN_CXX helps on some systems or why it's not included
with getincludedirs.

/Anders

On Tue, Jun 14, 2005 at 01:38:05PM -0500, Andy Ray Terrel wrote:
> Sorry to bother you again.  But when I tried to run some things with 
> dolfin I just got a PETSc Error.  So I tried to rebuild but remembered 
> that when I built the first time I had to add some linker to PETSc 
> somewhere.  Well I have forgotten what it was we added to get PETSc to 
> link.  Do you remember?
> 
> Andy
> 
> Anders Logg wrote:
> 
> >You need to do A and B separately, as two different forms in two
> >different files.
> >
> >In the first file, do something like
> >
> >   vector = FiniteElement("Vector Lagrange", "triangle", 1)
> >
> >   v = BasisFunction(vector)
> >   u = BasisFunction(vector)
> >
> >   a = v.dx(i)*u.dx(i)*dx
> >
> >In the second file, do something like
> >
> >   vector = FiniteElement("Vector Lagrange", "triangle", 1)
> >   scalar = FiniteElement("Lagrange", "triangle", 1)
> >   
> >   q = BasisFunction(scalar)
> >   u = BasisFunction(vector)
> >
> >   a = q*u[i].dx(i)*dx
> >
> >Compile each form and then assemble separately in DOLFIN to get A and B.
> >You can then either combine A and B to get the full matrix, or you can
> >do fixed-point iteration, or you can create something called a
> >"VirtualMatrix" in DOLFIN which implements the matrix-vector product
> >for the full matrix in terms of A and B.
> >
> >Hope this helps. Ask me again when you need more help.
> >
> >/Anders
> >
> >On Tue, Jun 14, 2005 at 09:48:43AM -0500, Andy Terrel wrote:
> > 
> >
> >>Hey Anders,
> >>
> >>I am having some trouble figuring out how to write some stokes equations 
> >>up for my project.  So I have the forms:
> >>
> >>a = v.dx(j) *u.dy(j)
> >>b= q*r*dx
> >>
> >>and I want to construct the matrix C s.t.
> >>   [ A   B^t  ]
> >>C=[ B    0     ]
> >>
> >>This is so I can call some mixed methods for the solving of the problem 
> >>to get the benchmarking results.
> >>
> >>If you have time can you help me?
> >>
> >>Andy
> >>
> >>PS This is to solve (grad(u), grad(v)) - (p, div(v)) = 0,
> >>                           (div(u), w) = 0.
> >>
> >>   
> >>
> >
> > 
> >
> 

-- 
Anders Logg
Research Assistant Professor
Toyota Technological Institute at Chicago
http://www.tti-c.org/logg/



Follow ups