Hi R,

I looked the changes you made.
But, the modified code you sent is still not working and throwing errors:
convdiff: left over: ['os', '__builtins__', '__doc__', '__name__', '__package__', 'verbose', 'sys', 'data_dir', 'cwd', '_filename', 'main', '__file__']
convdiff: reading mesh (/usr/local/lib/python2.7/dist-packages/sfepy/meshes/2d/rectangle_fine_quad.mesh)...
convdiff: ...done in 0.02 s
convdiff: creating regions...
convdiff:     Wall
convdiff:     Top
convdiff:     Surface
convdiff:     Driven
convdiff:     Entry
convdiff:     Omega
convdiff: ...done in 0.03 s
convdiff: using solvers:
                ts: no ts
               nls: newton
                ls: ls
convdiff: equation "balance":
convdiff: + dw_div_grad.5.Omega(m.viscosity, v, u)
       + dw_convect.5.Omega(v, u)
       - dw_stokes.5.Omega(v, p) = 0
convdiff: equation "incompressibility":
convdiff: dw_stokes.5.Omega(u, q) = 0
convdiff: setting up dof connectivities...
convdiff: ...done in 0.01 s
convdiff: updating variables...
convdiff: ...done
convdiff: matrix shape: (44949, 44949)
convdiff: assembling matrix graph...
convdiff: ...done in 0.14 s
convdiff: matrix structural nonzeros: 1747752 (8.65e-04% fill)
convdiff: updating materials...
convdiff:     m
convdiff: ...done in 0.00 s
convdiff: nls: iter: 0, residual: 2.002082e-02 (rel: 1.000000e+00)
convect_build_vtg(): ERR_Switch
Traceback (most recent call last):
  File "examples/phase_change/convective_diffusive/convective_diffusive_R.py", line 131, in <module>
    main()
  File "examples/phase_change/convective_diffusive/convective_diffusive_R.py", line 113, in main
    flow = problem.solve()
  File "/usr/local/lib/python2.7/dist-packages/sfepy/fem/problemDef.py", line 933, in solve
    vec = solvers.nls(vec0)
  File "/usr/local/lib/python2.7/dist-packages/sfepy/solvers/nls.py", line 345, in __call__
    mtx_a = fun_grad(vec_x)
  File "/usr/local/lib/python2.7/dist-packages/sfepy/fem/evaluate.py", line 66, in eval_tangent_matrix
    mtx = pb.equations.eval_tangent_matrices(vec, mtx)
  File "/usr/local/lib/python2.7/dist-packages/sfepy/fem/equations.py", line 640, in eval_tangent_matrices
    self.evaluate(mode='weak', dw_mode='matrix', asm_obj=tangent_matrix)
  File "/usr/local/lib/python2.7/dist-packages/sfepy/fem/equations.py", line 526, in evaluate
    asm_obj=asm_obj)
  File "/usr/local/lib/python2.7/dist-packages/sfepy/fem/equations.py", line 766, in evaluate
    ret_status=True)
  File "/usr/local/lib/python2.7/dist-packages/sfepy/terms/terms.py", line 1474, in evaluate
    vals.append(self.sign * val)
RuntimeError: ccore error (see above)

On Friday, 26 July 2013 14:17:51 UTC+5:30, Robert Cimrman wrote:
Hi Ankit,

you have to call problem.time_update() (= apply EBCs, update/compute material
parameters) always after setting equations/before calling problem.solve().

The attached version works, make a diff to see what other (minor) changes
needed to be done. Notably, results of both sub-problems are saved into a
single file.

Cheers,
r.

On 07/25/2013 11:21 PM, Ankit Mahato wrote:
> Hi R,
>
> I tried out modifying the thermo electric example, but I was getting
>
> convdiff: left over: ['verbose', '__builtins__', 'n_step', '__file__',
> '__doc__', '__name__', 't1', 'sys', 'data_dir', 't0', '__package__',
> '_filename', 'main', 'os', 'cwd']
> convdiff: reading mesh
> (/usr/local/lib/python2.7/dist-packages/sfepy/meshes/2d/rectangle_fine_quad.mesh)...
> convdiff: ...done in 0.02 s
> convdiff: creating regions...
> convdiff:     Wall
> convdiff:     Top
> convdiff:     Surface
> convdiff:     Driven
> convdiff:     Entry
> convdiff:     Omega
> convdiff: ...done in 0.03 s
> convdiff: using solvers:
>                  ts: ts
>                 nls: newton
>                  ls: ls
> convdiff: equation "balance":
> convdiff: + dw_div_grad.5.Omega(m.viscosity, v, u)
>         + dw_convect.5.Omega(v, u)
>         - dw_stokes.5.Omega(v, p) = 0
> convdiff: equation "incompressibility":
> convdiff: dw_stokes.5.Omega(u, q) = 0
> convdiff: setting up dof connectivities...
> convdiff: ...done in 0.00 s
> convdiff: updating variables...
> convdiff: ...done
> convdiff: matrix shape: (44949, 44949)
> convdiff: assembling matrix graph...
> convdiff: ...done in 0.15 s
> convdiff: matrix structural nonzeros: 1747752 (8.65e-04% fill)
> convdiff: updating materials...
> convdiff:     m
> convdiff: ...done in 0.01 s
> convdiff: nls: iter: 0, residual: 2.002082e-02 (rel: 1.000000e+00)
> convect_build_vtg(): ERR_Switch
> Traceback (most recent call last):
>    File
> "examples/phase_change/convective_diffusive/convective_diffusive.py", line
> 139, in <module>
>      main()
>    File
> "examples/phase_change/convective_diffusive/convective_diffusive.py", line
> 125, in main
>      state_el = problem.solve()
>    File "/usr/local/lib/python2.7/dist-packages/sfepy/fem/problemDef.py",
> line 933, in solve
>      vec = solvers.nls(vec0)
>    File "/usr/local/lib/python2.7/dist-packages/sfepy/solvers/nls.py", line
> 345, in __call__
>      mtx_a = fun_grad(vec_x)
>    File "/usr/local/lib/python2.7/dist-packages/sfepy/fem/evaluate.py", line
> 66, in eval_tangent_matrix
>      mtx = pb.equations.eval_tangent_matrices(vec, mtx)
>    File "/usr/local/lib/python2.7/dist-packages/sfepy/fem/equations.py",
> line 640, in eval_tangent_matrices
>      self.evaluate(mode='weak', dw_mode='matrix', asm_obj=tangent_matrix)
>    File "/usr/local/lib/python2.7/dist-packages/sfepy/fem/equations.py",
> line 526, in evaluate
>      asm_obj=asm_obj)
>    File "/usr/local/lib/python2.7/dist-packages/sfepy/fem/equations.py",
> line 766, in evaluate
>      ret_status=True)
>    File "/usr/local/lib/python2.7/dist-packages/sfepy/terms/terms.py", line
> 1474, in evaluate
>      vals.append(self.sign * val)
> RuntimeError: ccore error (see above)
>
>
>
> Then I modified it to solve without any timestep and still it is throwing
> errors:
>
> convdiff: left over: ['os', '__builtins__', '__doc__', '__name__',
> '__package__', 'verbose', 'sys', 'data_dir', 'cwd', '_filename', 'main',
> '__file__']
> convdiff: reading mesh
> (/usr/local/lib/python2.7/dist-packages/sfepy/meshes/2d/rectangle_fine_quad.mesh)...
> convdiff: ...done in 0.02 s
> convdiff: creating regions...
> convdiff:     Wall
> convdiff:     Top
> convdiff:     Surface
> convdiff:     Driven
> convdiff:     Entry
> convdiff:     Omega
> convdiff: ...done in 0.03 s
> convdiff: using solvers:
>                  ts: no ts
>                 nls: newton
>                  ls: ls
> convdiff: equation "balance":
> convdiff: + dw_div_grad.5.Omega(m.viscosity, v, u)
>         + dw_convect.5.Omega(v, u)
>         - dw_stokes.5.Omega(v, p) = 0
> convdiff: equation "incompressibility":
> convdiff: dw_stokes.5.Omega(u, q) = 0
> convdiff: setting up dof connectivities...
> convdiff: ...done in 0.00 s
> convdiff: updating materials...
> convdiff:     m
> convdiff: ...done in 0.01 s
> Traceback (most recent call last):
>    File
> "examples/phase_change/convective_diffusive/convective_diffusive.py", line
> 126, in <module>
>      main()
>    File
> "examples/phase_change/convective_diffusive/convective_diffusive.py", line
> 112, in main
>      flow = problem.solve()
>    File "/usr/local/lib/python2.7/dist-packages/sfepy/fem/problemDef.py",
> line 929, in solve
>      state0.apply_ebc(force_values=force_values)
>    File "/usr/local/lib/python2.7/dist-packages/sfepy/fem/state.py", line
> 107, in apply_ebc
>      self.variables.apply_ebc(self.vec, force_values=force_values)
>    File "/usr/local/lib/python2.7/dist-packages/sfepy/fem/variables.py",
> line 308, in apply_ebc
>      var.apply_ebc(vec, self.di.indx[var.name].start, force_values)
>    File "/usr/local/lib/python2.7/dist-packages/sfepy/fem/variables.py",
> line 1780, in apply_ebc
>      eq_map = self.eq_map
> AttributeError: 'FieldVariable' object has no attribute 'eq_map'
>
> I am attaching the code.
> I have spent lot of hours trying to find my error, but to no avail.
> Kindly help.
>
> Regards.
>
> On Wednesday, 3 July 2013 17:25:42 UTC+5:30, Ankit Mahato wrote:
>>
>>
>>
>> On Wednesday, 3 July 2013 17:19:57 UTC+5:30, Robert Cimrman wrote:
>>>
>>> On 07/03/2013 01:38 PM, Ankit Mahato wrote:
>>>>
>>>>
>>>> On Wednesday, 3 July 2013 13:14:37 UTC+5:30, Robert Cimrman wrote:
>>>>>
>>>>> On 07/03/2013 01:51 AM, Ankit Mahato wrote:
>>>>>> R,
>>>>>>
>>>>>> Attached is the Temperature distribution along the length with Peclet
>>>>>> number graph which you wanted to have a look at.
>>>>>> I used ParaView to generate it.
>>>>>> It is validated by the Fig 6.2 of Computer Simulation of Flow and
>>> Heat
>>>>>> Transfer, P S Ghoshdastidar, Tata McGraw-Hill.
>>>>>
>>>>> Good! Btw. are there some analytical relations that can be verified,
>>> for
>>>>> example on some special simple geometries/boundary conditions? It
>>> would be
>>>>> interesting to see the comparison of analytical/numerical curves in a
>>>>> single
>>>>> figure (I have no access to the book).
>>>>>
>>>>
>>>> Yes this one can be verified with the analytical solution.
>>>> I was about to ask you that the analytical vs simulation curve should
>>> be
>>>> plotted for how many test cases?
>>>
>>> As you wish (if it is ok :)) BTW. http://terri.toybox.ca/python-soc/still does
>>> not show your blog posts - is the subscription correct?
>>>
>>>
>> Yes R I saw it yesterday and I thought maybe it is not updated.
>> The subscription link points to
>> http://ankitmahato.blogspot.in/search/label/Python
>> which is correct.
>> I think I should write to Terri
>>
>> r.
>>>
>>>>>
>>>>> Similar figures could be also done in sfepy directly, check [1] - it
>>> is
>>>>> mostly
>>>>> useful when one tweaks and runs a simulation repeatedly, as the setup
>>>>> needs
>>>>> some effort...
>>>>>
>>>>
>>>> Okie :)
>>>>
>>>>
>>>>>
>>>>> r.
>>>>>
>>>>> [1] http://sfepy.org/doc-devel/primer.html#probing
>>>>>
>>>>
>>>
>>>
>