ffc team mailing list archive
-
ffc team
-
Mailing list archive
-
Message #01913
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