← Back to team overview

ffc team mailing list archive

quadrature switch doesn't compile

 

It takes more than 40 minutes to compile my form file using the default "tensor" switch, so I tried the "quadrature" switch
$ ffc -r quadrature Elastomer2d.form 

It compiled much faster, and successfully generated the header file Elastomer2d.h.

However, when I tried to compile the main.cpp using this header file, I got the following errors:
$ scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
mpic++ -o main.o -c -Wall -pipe -ansi -g -O2 -fno-strict-aliasing -pthread -DDEBUG -DNDEBUG -DHAS_MPI=1 -DMPICH_IGNORE_CXX_SEEK -DPACKAGE_VERSION=0.8.1 -DHAS_PETSC=1 -DHAS_UMFPACK=1 -DHAS_GTS=1 -DHAS_CHOLMOD=1 -I/tmp/buildd/dolfin-0.8.1/debian/tmp/include -I/usr/lib/python2.5/site-packages/numpy/core/include -I/usr/include/suitesparse -I/usr/include/python2.5 -I/usr/lib/petsc/bmake/linux-gnu-c-opt -I/usr/lib/petsc/include -I/usr/lib/openmpi/include -I/usr/lib/openmpi/lib -I. -I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include main.cpp
main.cpp: In constructor ‘MyNonlinearProblem::MyNonlinearProblem(dolfin::Mesh&, dolfin::SubDomain&, dolfin::Function&, dolfin::Function&, dolfin::Function&, dolfin::Function&, dolfin::Function&, dolfin::Function&, dolfin::Function&)’:
main.cpp:88: error: no matching function for call to ‘Elastomer2dBilinearForm::Elastomer2dBilinearForm(dolfin::Function&, dolfin::Function&, dolfin::Function&, dolfin::Function&)’
Elastomer2d.h:32923: note: candidates are: Elastomer2dBilinearForm::Elastomer2dBilinearForm()
Elastomer2d.h:32919: note:                 Elastomer2dBilinearForm::Elastomer2dBilinearForm(const Elastomer2dBilinearForm&)
main.cpp:89: error: no matching function for call to ‘Elastomer2dLinearForm::Elastomer2dLinearForm(dolfin::Function&, dolfin::Function&, dolfin::Function&, dolfin::Function&, dolfin::Function&)’
Elastomer2d.h:58050: note: candidates are: Elastomer2dLinearForm::Elastomer2dLinearForm()
Elastomer2d.h:58046: note:                 Elastomer2dLinearForm::Elastomer2dLinearForm(const Elastomer2dLinearForm&)
scons: *** [main.o] Error 1
scons: building terminated because of errors.

The corresponding line 88 and line 89 of the main.cpp are
87       // Create forms
88      a = new Elastomer2dBilinearForm(u, c10, alpha, beta);
89      L = new Elastomer2dLinearForm(u, g, c10, alpha, beta);

Could you please help me with this?

Thank you!

Best,
Chong Luo


      

Follow ups