Thanks a lot, it works !

Le lundi 4 juillet 2016 22:10:05 UTC+2, Robert Cimrman a écrit :
Hi Nicolas,

you need only to return your values in 'qp' mode (and make them floats). It
runs ok with those:

def get_heat_Coeff(ts, coors, mode=None, **kwargs):
     if mode != 'qp': return

     file=open('heat_Coeff.dat', 'r')
     tab=[]
     tab=file.readlines()
     file.close()
     length=len(tab)
     for i in range(length):
         tab[i] = float(tab[i].strip())
     val=nm.asarray(tab)
     val.shape = (coors.shape[0], 1,  1)
     return {'h' : val}

def get_exchange(ts, coors, mode=None, **kwargs):
     if mode != 'qp': return

     file=open('exchange.dat', 'r')
     tab=[]
     tab=file.readlines()
     file.close()
     length=len(tab)
     for i in range(length):
         tab[i] = float(tab[i].strip())
     val=nm.asarray(tab)
     val.shape = (coors.shape[0], 1, 1)
     return {'g' : val}

BTW. make sure that the order of the values corresponds to the ordering of the
quadrature point coordinates in coors argument.

r.

On 07/04/2016 03:27 PM, Nicolas DELAN wrote:
> Hi,
>
> I have some problem with my case:
>
> I have followed your instructions and i was inspired by the get_pars
> function of the  following example case :
> http://sfepy.org/doc-devel/examples/diffusion/poisson_functions.html
>
> But with me it don't works, the coors type returned is 'none' so the
> coors.shape returned nothing. Stangely i have understand that the .py
> configuration file is readed several time by sfepy, the first time coors is
> recognised and i can print the coordinates. The second time, coors become a
> none type variable and i don't understand why.
>
> Also could you take a look at my case ?
>
> I have attached my files to this post.
>
>