Hi Antonio,
I am just preparing a new release and think that some of the umfpack related issues have been fixed already in the Git version - could you check that out? You use 2009.2, right?
You do not need Git to try it, just grab [1].
[1] http://git.sympy.org/?p=sfepy.git;a=snapshot;h=HEAD;sf=tgz
thanks for the bugreport! r. PS: 2009.3 is to be out before euroscipy, so it would be great to fix all those bugs before.
Antonio wrote:
Hi to the list,
I've installed sfepy on Ubuntu Jaunty 9.04. Using the distro supplied numpy and scipy (numpy 1.2.1 and scipy 0.7.0) I get one test failed: test_input_acoustics.py. Here it is the debug output:
$ ./runTests.py --debug tests/test_input_acoustics.py <<< tests/test_input_acoustics.py sfepy: left over: ['__builtins__', '_filename', '__file__', '__package__', 'TestInput', 'input_name', '__name__', 'output_name', '__doc__'] sfepy: left over: ['w', '__builtins__', 'rho', '__name__', 'v_n', 'c', '__doc__', '__package__', '_filename', '__file__']
test instance prepared (1 test(s)) /usr/lib/python2.6/dist-packages/scipy/linsolve/__init__.py:4: DeprecationWarning: scipy.linsolve has moved to scipy.sparse.linalg.dsolve warn('scipy.linsolve has moved to scipy.sparse.linalg.dsolve', DeprecationWarning) ... solving input/acoustics.py... sfepy: reading mesh (database/acoustics.mesh)... sfepy: ...done in 0.00 s sfepy: setting up domain edges... sfepy: ...done in 0.00 s sfepy: creating regions... sfepy: leaf Gamma_out region_Gamma_out__0 sfepy: leaf Omega region_Omega__1 sfepy: leaf Gamma_in region_Gamma_in__2 sfepy: ...done in 0.02 s sfepy: equation "Acoustic pressure": sfepy: 117649.0 * dw_laplace.ivol.Omega( one.one, q, p ) - 1000000.0 * dw_mass_scalar.ivol.Omega( q, p ) - 343000j * dw_surface_mass_scalar.isurf.Gamma_out( q, p ) = 182355950j * dw_surface_integrate.isurf.Gamma_in( q ) sfepy: setting up dof connectivities... sfepy: ...done in 0.00 s sfepy: describing geometries... sfepy: ...done in 0.00 s sfepy: using solvers: nls: newton ls: ls sfepy: matrix shape: (61, 61) sfepy: assembling matrix graph... sfepy: ...done in 0.00 s sfepy: matrix structural nonzeros: 445 (1.20e-01% fill) sfepy: updating materials... sfepy: one sfepy: ...done in 0.00 s sfepy: nls: iter: 0, residual: 1.116698e+07 (rel: 1.000000e+00) warning: singular matrix zeroing nan and inf entries... warning: (almost) singular matrix! (estimated cond. number: inf) sfepy: rezidual: 0.00 [s] sfepy: solve: 0.00 [s] sfepy: matrix: 0.00 [s] sfepy: linear system not solved! (err = 1.116698e+07) sfepy: nls: iter: 1, residual: 1.116698e+07 (rel: 1.000000e+00) ... input/acoustics.py solved --- test_input: failed! !!! 1 test failed 1 test file executed in 0.57 s, 1 failure(s) of 1 test(s)
I also installed numpy 1.3.0 and scipy 0.7.1 from sources in a local dir and but using them I get 23 test failed out of 39.
The problem with the newer versions seems due to the lack of the umfpack library which I don't find in ubuntu 9.04. For example the first test failing is test_quadrature.py and the debug output is:
test instance prepared (1 test(s)) sfepy: reading mesh (database/tests/triquad.mesh)... sfepy: ...done in 0.01 s sfepy: setting up domain edges... sfepy: ...done in 0.00 s sfepy: creating regions... sfepy: leaf Omega_2 region_Omega_2 sfepy: leaf Omega_1 region_Omega_1 sfepy: leaf Omega region_Omega sfepy: leaf Gamma_Top region_Gamma_Top sfepy: leaf Gamma_Bottom region_Gamma_Bottom sfepy: ...done in 0.02 s sfepy: equation "Temperature": sfepy: dw_laplace.i2.Omega( m.val, s, t ) = 0 sfepy: setting up dof connectivities... sfepy: ...done in 0.00 s sfepy: describing geometries... sfepy: ...done in 0.01 s sfepy: using solvers: nls: newton ls: ls sfepy: matrix shape: (1125, 1125) sfepy: assembling matrix graph... sfepy: ...done in 0.00 s sfepy: matrix structural nonzeros: 11843 (9.36e-03% fill) sfepy: updating materials... sfepy: m sfepy: ...done in 0.00 s sfepy: nls: iter: 0, residual: 9.531284e+01 (rel: 1.000000e+00)
Traceback (most recent call last): File "./runTests.py", line 219, in <module> main() File "./runTests.py", line 214, in main op.walk( options.test_dir, wrap_run_tests( options ), stats ) File "/usr/lib/python2.6/posixpath.py", line 224, in walk func(arg, top, names) File "./runTests.py", line 148, in run_tests n_fail, n_total, test_time = run_test( conf_name, options ) File "./runTests.py", line 111, in run_test ok, n_fail, n_total = test.run( options.debug ) File "/home/anto/src/sfepy-release-2009.2/sfepy/base/testing.py", <<< tests/test_quadratures.py sfepy: left over: ['__builtins__', 'ebc_sin', '__file__', '__name__', 'N', 'TestCommon', 'nm', '_filename', '__package__', '__doc__'] line 38, in run ret = test_method() File "tests/test_quadratures.py", line 152, in test_problem_creation problem, vec, data = solve_stationary( self.conf ) File "/home/anto/src/sfepy-release-2009.2/sfepy/solvers/generic.py", line 62, in solve_stationary state = problem.solve( nls_status = nls_status ) File "/home/anto/src/sfepy-release-2009.2/sfepy/fem/problemDef.py", line 580, in solve vec = solvers.nls( vec0 ) File "/home/anto/src/sfepy-release-2009.2/sfepy/solvers/nls.py", line 228, in __call__ vec_dx = lin_solver( vec_r, mtx = mtx_a ) File "/home/anto/src/sfepy-release-2009.2/sfepy/solvers/ls.py", line 44, in __call__ um.UmfpackContext( family = family ) ) File "/home/anto/src/python/lib/python2.6/site-packages/scipy/sparse/ linalg/dsolve/umfpack/umfpack.py", line 278, in __init__ self.control = np.zeros( (UMFPACK_CONTROL, ), dtype = np.double ) NameError: global name 'UMFPACK_CONTROL' is not defined
Any suggestion to solve this two issue would be appreciated.