Hi Daniel,
Thank you very much! It really improved a lot!

Regards,
Zhiwen


On Tue, Sep 2, 2008 at 9:51 AM, Daniel Wheeler <[EMAIL PROTECTED]>wrote:

>
> On Mon, Sep 1, 2008 at 3:15 PM, Zhiwen Liang <[EMAIL PROTECTED]> wrote:
> > Dear Fipy developers and users,
> > Thanks again for solving my last problem. This is the most powerful forum
> I
> > have ever been involved.
> > I do not know if this is an known issue, but I found it very slow to
> assign
> > fipy variables as elements of the numerix array. Please see below.
> > from fipy import *
> > import fipy.tools.numerix as numerix
> > mesh=Grid3D(nx=10,ny=10,nz=10)
> > Dx=CellVariable(mesh=mesh,value=1.)
> > Dy=CellVariable(mesh=mesh,value=2.)
> > Dz=CellVariable(mesh=mesh,value=3.)
> > zeros=CellVariable(mesh=mesh,value=0.)
> > Ds=numerix.array(((Dx,zeros,zeros),(zeros,Dy,zeros),(zeros,zeros,Dz)))
> > The last line of the above code took 3.5 second while the rest of the
> code
> > only took 0.002 second, using my laptop. I
> > define the "Ds" in the code in order to use it as the anisotropic
> > coefficient in the DiffusionTerm.
>
> Probably best to create a rank two CellVariable and assign the values
> by indexing like this
>
>   Ds = CellVariable(mesh=mesh, value=0., rank=2)
>   Ds[0, 0] = 1.
>   Ds[1, 1] = 2.
>   Ds[2, 2] = 3.
>
>
> --
> Daniel Wheeler
>
>

Reply via email to