Thanks for the detailed thoughts, that helps. For the time stepping, I used the 
same time stepping for FiPy as given in the Fenics C-H demo (a constant 
increment). I made the two codes as similar as possible from the front end 
before the comparison.


On Aug 12, 2014, at 3:30 PM, Mike Welland <[email protected]> wrote:

> One contributing factor could be the difference between finite element vs. 
> finite volume. In the fenics CH demo, the 4th order diff eq is split into 2nd 
> order eqs. for reasons discussed under section 5.1.1. Mixed Form  on the doc 
> page.  FiPy's demo doesn't seem to do that (at least as far as I can see). 
> Finite difference codes also don't need to split.
> 
> Now if that could explain a factor of almost 40 is another matter entirely. 
> You would have to dig into things like time stepping, error control, etc. 
> .e.g: It looks like FiPy uses an exponential time step whereas the fenics 
> version uses a constant. 
> 
> Depending on what you want to do ultimately, bear in mind issues like 
> parallelization, mesh refinement, supported linear backend (fenics = PETSc, 
> dunno about FiPy) etc. 
> 
> Mike 
> 
> 
> On Tue, Aug 12, 2014 at 2:13 PM, Aniruddha Jana <[email protected]> wrote:
> I ran with same mesh sizes and for equal time steps. 
> 
> On August 12, 2014 1:57:30 PM EDT, Jan Blechta <[email protected]> 
> wrote:
> If FyPi Canh-Hilliard example is this one
> http://www.ctcms.nist.gov/fipy/examples/cahnHilliard/generated/examples.cahnHilliard.mesh2DCoupled.html
> 
> 
> then the reason is very simple:
> 
> # FEniCS
> mesh = UnitSquareMesh(96, 96)
> 
> # FiPy
> __name__ == "__main__":
>     nx = ny = 20
> else:
>     nx = ny = 10
> mesh = Grid2D(nx=nx, ny=ny, dx=0.25, dy=0.25)
> 
> 
> 
> Also the function space may be different if FiPy's 'CellVariable' is
> something-like piece-wise constants.
> 
> Jan
> 
> 
> On Tue, 12 Aug 2014 10:42:50 -0400
> Aniruddha Jana <[email protected]> wrote:
> 
> 
> 
>  Hello,
>  
>  I am trying to learn FEniCS, and have been using FiPy so far. I !
>  ran
> 
>  the Python Cahn-Hilliard example. The program took around 80 seconds
>  to run in serial, while a FiPy Cahn-Hillard program with similar size
>  and settings took only 2.72 seconds. I think I am making some mistake
> 
> 
>  here as I expected FEniCS to be better than FiPy in terms of speed. 
>  
>  Can somebody please comment on the speed and memory issues,
>  especially in comparison to FiPy? Since I am trying to learn using
>  FEniCS, I would appreciate any such comments. 
> 
> 
>  
>  Many thanks,
>  Aniruddha
> 
>  fenics mailing list
>  [email protected]
>  http://fenicsproject.org/mailman/listinfo/fenics
> 
> 
> 
> 
> _______________________________________________
> fenics mailing list
> [email protected]
> http://fenicsproject.org/mailman/listinfo/fenics
> 
> 

_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to