Hope it works!
- Shawn On Wed, 15 Oct 2008, Anders Logg wrote:
Yes, see if that works. Try changing to dolfin::pow() everywhere where you get an error. If that works, submit a patch. -- Anders On Tue, Oct 14, 2008 at 06:05:24PM -0400, Shawn Walker wrote:I've got version 4.1.2 20071124. I guess that is it. It looks like the error has to do with specifying which pow to use. Is it possible to force the dolfin::pow? - Shawn On Tue, 14 Oct 2008, Anders Logg wrote:This is all caused by the pow() functions in real.h which have been added since GMP types do not work with std::pow(). This does not give me any problems (g++ 4.2.3) so it's difficult for me to debug. Let me know which compiler you are using so I can reproduce the bug. (Or even better help me fix it...) On Tue, Oct 14, 2008 at 04:03:18PM -0400, Shawn Walker wrote:I now get a new bug with an ODE demo. Should I just disable the ODE demos? /usr/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -lc c++ -o demo/ode/courtemanche/cpp/main.o -c -Wall -pipe -ansi -Werror -DDEBUG -g -DNDEBUG -O2 -DPACKAGE_VERSION=\"0.8.0\" -DHAS_PETSC=1 -DHAS_SLEPC=1 -DHAS_UMFPACK=1 -DHAS_GTS=1 -DHAS_CHOLMOD=1 -fno-strict-aliasing -I. -I. -Idolfin -I/home/walker/build/include -I/usr/include/boost -I/usr/include/libxml2 -I/home/walker/src/petsc-2.3.3-p13/bmake/linux-gnu-cxx-debug -I/home/walker/src/petsc-2.3.3-p13/include -I/home/walker/build/include -I/home/walker/build/lib -Idemo -I/home/walker/src/slepc-2.3.3 -I/home/walker/src/slepc-2.3.3/include -I/home/walker/src/petsc-2.3.3-p13/bmake/linux-gnu-cxx-debug -I/home/walker/src/petsc-2.3.3-p13/include -I/home/walker/build/include -I/home/walker/build/lib -Idemo -I/usr/include/suitesparse -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/home/walker/build/include -I/usr/include/suitesparse demo/ode/courtemanche/cpp/main.cpp demo/ode/courtemanche/cpp/main.cpp: In member function oid Courtemanche::computeCurrents(const double*) demo/ode/courtemanche/cpp/main.cpp:170: error: call of overloaded ow(double, double)is ambiguous /usr/include/bits/mathcalls.h:154: note: candidates are: double pow(double, double) ./dolfin/common/real.h:71: note: dolfin::real dolfin::pow(dolfin::real, dolfin::real) ./dolfin/common/real.h:59: note: dolfin::real dolfin::pow(dolfin::real, dolfin::uint) demo/ode/courtemanche/cpp/main.cpp: In member function oid Courtemanche::computeGateCoefficients(const double*) demo/ode/courtemanche/cpp/main.cpp:255: error: call of overloaded ow(double, double)is ambiguous /usr/include/bits/mathcalls.h:154: note: candidates are: double pow(double, double) ./dolfin/common/real.h:71: note: dolfin::real dolfin::pow(dolfin::real, dolfin::real) ./dolfin/common/real.h:59: note: dolfin::real dolfin::pow(dolfin::real, dolfin::uint) scons: *** [demo/ode/courtemanche/cpp/main.o] Error 1 scons: building terminated because of errors. - Shawn On Tue, 14 Oct 2008, Anders Logg wrote:I guess it's the same bug as Nuno David Lopes reported earlier. It works fine for me, but I just pushed an attempt to fix this. See if it helps. On Tue, Oct 14, 2008 at 03:34:43PM -0400, Shawn Walker wrote:I will definitely look at it. I think it is a good idea. However, I recently tried to compile, and I got an error with file used for dG. I can reproduce it if you want. - Shawn On Tue, 14 Oct 2008, Anders Logg wrote:I've finished up the new implementation of the Function class. It's untested, but I'm pretty sure it works... :-) I'm very happy with the way it turned out. Anyway, it would be good if anyone interested would review the design and implementation (in detail, including function names etc). The Function class is central so it would be good if we could agree on a design and keep it stable for some time (like we've managed with the linear algebra interfaces). The main changes compared to the old/current design are as follows: 1. Introduction of a FunctionSpace class. A FunctionSpace is defined by a Mesh, a FiniteElement and a DofMap. 2. Removal of the class hierarchy. Only one class Function remains. This acts dynamically either as a user-defined function (if the vector of coefficients is null) or as the old DiscreteFunction. 3. The proliferation of constructors has been removed. There is essentially only one constructor, namely v = Function(V) An additional class named Constant should be added to handle constant functions, overloading eval() and providing a bunch of constructors (scalar, vector, tensor). When we've settled on the design/implementation of Function and FunctionSpace, we need to do a round of editing of the DofMap class.
dolfin-walker-2008-10-14.hg
Description: Binary data
_______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
