You do

... value=phi(mesh.getCellCenters()))

This is what causes the problem. You can probably work around it by creating
value yourself.
Fipy uses some vectorized algorithms, which works great, but have the
disadvantage that there must be enough memory to allocate the required
arrays.
In this case, by working in chunks to create value, you can work around this
(I believe, did not try anything).

Benny

2011/2/8 Julien Derr <julien.d...@gmail.com>

> Hi everyone,
>
> I am dealing with an irregular mesh done between a big circle and a small
> polygone.
>
> looks like I have memory issues when the polygone becomes more than a few
> hundreds sides. Is that a typical limitation by fipy ? Is there a way to
> deal with big polygonial shapes?
>
> see error bellow, if you understand it ?
>
> Traceback (most recent call last):
>   File "growth.py", line 175, in <module>
>     newphi = CellVariable(name = "solution variable",    mesh = mesh,
> value=phi(mesh.getCellCenters()))
>   File "/usr/lib/pymodules/python2.6/fipy/variables/cellVariable.py", line
> 197, in __call__
>     nearestCellIDs = self.getMesh()_getNearestCellID(points)
>   File "/usr/lib/pymodules/python2.6/fipy/meshes/common/mesh.py", line 772,
> in _getNearestCellID
>     return numerix.argmin(numerix.dot(tmp, tmp, axis = 0), axis=0)
>   File "/usr/lib/pymodules/python2.6/fipy/tools/numerix.py", line 844, in
> dot
>     return sum(a1*a2, axis)
>   File "/usr/lib/pymodules/python2.6/fipy/tools/numerix.py", line 241, in
> sum
>     return NUMERIX.sum(arr, axis)
>   File "/usr/lib/python2.6/dist-packages/numpy/core/fromnumeric.py", line
> 1252, in sum
>     return sum(axis, dtype, out)
> MemoryError
>
> thanks for your help !
>
> Julien
>
> PS I am trying to reproduce a typical DLA/saffman taylor problem. so I
> guess the alternative would be to use a simple rectangular lattice, and to
> use a phase parameter to determine what is solid and what is not (like in
> the dendritic solidification example of the fipy help).
>  but the issue then is to make some diffusion happen (for another field c)
> only on the space where phi=0. is that possible ?
>
>
>

Reply via email to