BTW, my next job is to calculate the heat flux out the top of the model. Any hints for that?

- Phil

On Wednesday, March 26, 2014 12:51:23 AM UTC+8, seismo_phil wrote:

On Wednesday, March 26, 2014 12:51:23 AM UTC+8, seismo_phil wrote:

Hi,Thanks for inviting me to contribute usage issues, Robert. I'm using sfepy to solve a relatively simple, 2D, thermal diffusion problem. i can solve it useing the following ebcs and equations (i.e., implied zero heat flux at left and right boundaries):ebcs = {

't1' : ('Gamma_Top', {'t.0' : 0.0}),

't2' : ('Gamma_Bottom', {'t.0' : 1000.0}),

}

equations = {

'Temperature' : """dw_laplace.2.Omega( coef.val, s, t )

= 0 """

}

This works perfectly. I actually need to solve the same problem with an ebc at the top but a Neumann boundary condition at the bottom. So I use:

ebcs = {

't1' : ('Gamma_Top', {'t.0' : 0.0}),

}

equations = {

'Temperature' : """dw_laplace.2.Omega( coef.val, s, t )

= dw_surface_integrate.2.Gamma_

Bottom(flux.val, s)"""

}

where flux is defined in materials as:

materials = {

'flux' : ({'val' : 1.0},),

'coef' : ({'val' : 1.0},),

}

This seems to be exactly like what is done in the example poisson_neumann.py But now, I find that the solver fails:

sfepy: updating materials...

sfepy: coef

sfepy: flux

sfepy: ...done in 0.01 s

sfepy: nls: iter: 0, residual: 9.332878e+04 (rel: 1.000000e+00)

sfepy: rezidual: 0.00 [s]

sfepy: solve: 0.00 [s]

sfepy: matrix: 0.00 [s]

sfepy: linear system not solved! (err = 5.659775e-10 < 1.000000e-10)

sfepy: nls: iter: 1, residual: 5.748516e-10 (rel: 6.159425e-15)

I'm confused by this, because I thought that this is still a well-posed problem. Can anyone please suggest to me what I may be doing wrong?

Regards,

- Phil