I don't know if Nedelec elements have been tested with FFC. Start with something simpler.
Garth Evan Lezar wrote: > Hi there > > I have implemented a simple test case and have attached it. In writing > it, I made a discovery. The vector that is passed as a list of > coefficients to the function constructor (h_e in the example) needs to > be a multidimensional array with the first dimension 1. If one swaps > the dimensions (1, num_dofs) on line 26, then the test crashes when > field.eval is called. > > However, according to me, the eval function does not work as expected. > Since the list of coefficients is zero and the function should be > evaluated as the weighted sum of the basis functions using the > coefficients as weights, this means that the function value returned for > any position within the mesh should be zero. However, the first > component (let us say x) of H is always -1 and the second component is > not changed and retains the value that was assigned to it before the > call to evaluate. > > I will see about getting a C++ test up and running to test the same thing. > > Please let me know if there are any other questions. > Evan > > On Thu, Aug 21, 2008 at 6:06 PM, Evan Lezar <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > > > On Thu, Aug 21, 2008 at 5:49 PM, Ola Skavhaug <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > Evan Lezar skrev den 21/08-2008 følgende: > > Thanks for the speedy replies from all of you. > > > > Firstly platform information > > > > I am running ubuntu hardy, gcc version 4.2.3, swig 1.3.33, > python 2.5 with > > release versions of numpy and scipy. I am building dolfin > directly from > > source with mpi, but have not enabled petsc or any of the > other optional > > packages. > > > > What other information do you require? > > > > In terms of my specific problem, see the following code snippet: > > > > from dolfin import * > > import numpy as N > > > > mesh = UnitSquare(4,4) > > element = FiniteElement("Nedelec", "triangle", 0) > > > > ### Code to assemble system matrices and solve an eigenvalue > problem > > > > # h_e is an array of coefficients associated with the degrees > of freedom in > > the system obtained from the eigenvectors V > > h_e = V[:,sorted_index[first_index]] > > > > # setup a function to evaluate - the solution of the magnetic > field > > field = Function(element, self.mesh, h_e) > > > > # arbitrary point to evaluate the field > > points = N.array((0.5,0.25)) > > # array to store the field value at a point > > H = N.array((0.0,0.0)) > > > > print "pre_eval" > > > > #evaluate the function > > field.eval(H, points) > > > > # Ouput the field at the point > > print "H", > > print H > > > > > > When I run this code, I get the following output: > > > > pre_eval > > [labby:25160] *** Process received signal *** > > [labby:25160] Signal: Segmentation fault (11) > > [labby:25160] Signal code: Address not mapped (1) > > [labby:25160] Failing at address: 0xde8f58ec > > [labby:25160] [ 0] [0xb7f81440] > > [labby:25160] [ 1] /usr/bin/python(PyEval_EvalCodeEx+0x6e7) > [0x80cb0d7] > > [labby:25160] [ 2] /usr/bin/python(PyEval_EvalFrameEx+0x565e) > [0x80c92de] > > [labby:25160] [ 3] /usr/bin/python(PyEval_EvalCodeEx+0x6e7) > [0x80cb0d7] > > [labby:25160] [ 4] /usr/bin/python(PyEval_EvalFrameEx+0x565e) > [0x80c92de] > > [labby:25160] [ 5] /usr/bin/python(PyEval_EvalCodeEx+0x6e7) > [0x80cb0d7] > > [labby:25160] [ 6] /usr/bin/python(PyEval_EvalCode+0x57) > [0x80cb227] > > [labby:25160] [ 7] /usr/bin/python(PyRun_FileExFlags+0xf8) > [0x80ea6d8] > > [labby:25160] [ 8] /usr/bin/python(PyRun_SimpleFileExFlags+0x199) > > [0x80ea979] > > [labby:25160] [ 9] /usr/bin/python(Py_Main+0xa35) [0x8059335] > > [labby:25160] [10] /usr/bin/python(main+0x22) [0x80587f2] > > [labby:25160] [11] > /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0) > > [0xb7de8450] > > [labby:25160] [12] /usr/bin/python [0x8058761] > > [labby:25160] *** End of error message *** > > > > With a previous build I have gotten different output and was > able to > > actually display the contents of H, but it would shill crash > once the method > > where the code was being run was terminated. I logged a bug > against it at > > http://www.fenics.org/cgi-bin/bugzilla/show_bug.cgi?id=55 > > > > As I said in my mail, I see myself using fenics in the long > run and would > > like to get involved as much as possible, but some pointers > as to where to > > start would be much apprciated. > > Have you implemented the C++ version as well, such that you know > that what you > do is correct? > > > Clearly, we are not catching what's going wrong here (missing > check of some > sort). > > My guess is that the error occurs in > site-packages/dolfin/function.py, when > the Function is initialized. Can you boil down the example to a > shorter script > and post it to this list? I'll have a look at it. > > Ola > > > Hi > > I have not implemented a C++ version, but I will look into it - I am > a little more comfortable with python at the moment, but I suppose I > need to jump into the deep end :) > > I will write a simple example script and then attach that. > > Evan > > > > ------------------------------------------------------------------------ > > _______________________________________________ > DOLFIN-dev mailing list > [email protected] > http://www.fenics.org/mailman/listinfo/dolfin-dev _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
