Hello,

Thank you for the time you've put into this project.

I've been solving a particular elliptic PDE by running SfePy on a short problem description file with: python simple.py problem_desc.py. Now, since I'd like to do this many times, with different parameters in the problem description file each time, I'd like to construct the problem directly, by creating a ProblemDefinition instance, as is done in the linear_elasticity.py example.

(I'm working with the latest version of SfePy.) I've attempted the conversion, but clearly something is wrong, as I get a very large residual:

> python direct.py
sfepy: reading mesh [line2, tri3, quad4, tetra4, hexa8] (../rectangle_fine_quad_r.vtk)...
sfepy: ...done in 0.72 s
sfepy: setting up dof connectivities...
sfepy: ...done in 0.00 s
sfepy: updating variables...
sfepy: ...done
sfepy: matrix shape: (40602, 40602)
sfepy: assembling matrix graph...
sfepy: ...done in 0.09 s
sfepy: matrix structural nonzeros: 723604 (4.39e-04% fill)
sfepy: updating materials...
sfepy:     mat_diffusion
sfepy: ...done in 0.06 s
sfepy: nls: iter: 0, residual: 5.209283e+08 (rel: 1.000000e+00)
fish: Job 1, “python direct.py ” terminated by signal SIGTERM (Polite quit request)

, whereas, using the problem description file:

> python ../../sfepy/simple.py problem_desc.py
sfepy: left over: ['verbose', '__builtins__', 'pdb', '__doc__', '__name__', 'sys', 'data_dir', '__package__', 'refine_mesh', '_filename', 'np', '__file__', 'math']
sfepy: reading mesh [line2, tri3, quad4, tetra4, hexa8] (../rectangle_fine_quad_r.vtk)...
sfepy: ...done in 0.69 s
sfepy: creating regions...
sfepy:     Omega
sfepy:     Expiry
sfepy: ...done in 0.06 s
sfepy: equation "Price":
sfepy:  dw_diffusion.2.Omega(mat_diffusion.f, s, p)
                  = 0
sfepy: setting up dof connectivities...
sfepy: ...done in 0.00 s
sfepy: using solvers:
                ts: no ts
               nls: newton
                ls: ls
sfepy: updating variables...
sfepy: ...done
sfepy: matrix shape: (20200, 20200)
sfepy: assembling matrix graph...
sfepy: ...done in 0.02 s
sfepy: matrix structural nonzeros: 179998 (4.41e-04% fill)
sfepy: updating materials...
sfepy:     mat_diffusion
sfepy: ...done in 0.06 s
sfepy: nls: iter: 0, residual: 0.000000e+00 (rel: 0.000000e+00)


I've pared my problem description file and direct approach file down to the bare minimum. Would you mind having a quick look to see if you can spot the problem? Otherwise, is there some documentation that would help with the transition?

Many thanks,
Ben