On Mon, Sep 2, 2013 at 11:04 AM, Joakim Odqvist <[email protected]> wrote:

> Hello all,
> Thank you for a very useful package. Me and my colleagues have two
> questions about partitioning for
> solving in parallel and implicit time integration.
>

Hi Joakim,

Nice to hear from you and I hope all is well.


>
> 1) Partitioning
> This question has as I understand it, been raised before ...
> The default partitioning of the grid when running in parallel is to divide
> the mesh into equal slices/slabs distributed on the different processor
> nodes when solving a 2D/3D problem. If assuming an equidistant grid
> (nx=ny=nz) This would imply that the maximum number of node that can be
> used to solve the problem is limited by the number nx, where the number of
> processor nodes must less or equal to nx.
> As we are using thermodynamics and kinetics coupled to an external package
> (TQ) and the calculation of these properties for each mesh point is
> computationally intense, we would like to use more processor nodes than is
> possible with this type of partitioning. Instead of "slicing" the mesh we
> would like to have a partitioning in a 3D equidistant simulation, so that
> volumes of the size "nx/N*ny/N*nz/N" where N^3 is the number of processor
> nodes, is used. Is this possible ?
>

The slicing of the grid classes was really a temporary measure to test
FiPy's parallel capability. It is certainly worth using as a test bed for
very low numbers of processor nodes. If you want to use a large number of
processor nodes then you need to switch to the Gmsh grid classes. These use
Gmsh to partition the grids in a sensible way. See

    http://matforge.org/fipy/browser/fipy/fipy/meshes/gmshMesh.py#L2224

or

    http://matforge.org/fipy/browser/fipy/fipy/meshes/gmshMesh.py#L2154


> 2) Implicity
> When solving the Cahn-Hilliard problem using thermodynamics and kinetics
> provided from an external package we find that these are only evaluated at
> the beginning of the timestep implying the problem is solved explicitly. It
> should be noted we in this case don't have explicit expression for
> diffusivity as these are temperature and composition dependent. From my
> understanding the FiPy package should be able to solve this type of problem
> implicitly with higher degree of accuracy than using a fully explicit
> integration scheme. How do we ensure that all terms are solved
> implicitly?
>

Yes, FiPy will solve this problem implicitly. Using either implicit or
explicit methods has no bearing on the accuracy of the solution though. It
just allows you to use much larger time steps in most cases. However, for
Cahn-Hilliard, a spectral method is nearly always better than a lower order
method. If you need help with Python code for the spectral method, I have
that some place. Just let me know.

Cheers,

Daniel


-- 
Daniel Wheeler
_______________________________________________
fipy mailing list
[email protected]
http://www.ctcms.nist.gov/fipy
  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]

Reply via email to