Tuesday, August 16, 2016

Summary

It's exciting that the GSoC project is going to the end. 
My code is available via this link.

During the whole periods, the following milestones are achieved:

  • A DUNE-style B-Spline geometry interface including
    GlobalCoordinate center () const
    int corners () const
    GlobalCoordinate corner (int i) constDune::GeometryType type () const
    bool  affine () const
    GlobalCoordinate  global (const LocalCoordinate &local) const
    const JacobianTransposed & jacobianTransposed (const LocalCoordinate &local) const
    const JacobianInverseTransposed &  jacobianInverseTransposed (const LocalCoordinate &local) const
    ctype  integrationElement (const LocalCoordinate &local) const
    Among these functions, the 
    global and jacobianTransposed are the two key functions.

  • A DUNE-style NURBS geometry interface(same as the previous one)
  • A basic DUNE grid manager for B-Spline patch including the follwoing components(classes):
    grid
    leafgridview
    entity
    leafiterator
    indexset
  • A basic DUNE grid manager for NURBS patch(same as the previous one)

The following task is not completed yet,
  • Make the VTKwriter applicable for the B-Spline and NURBS grid view
    This task involves creating a vertex entity and iterator. I'm still debugging on it.
During the three months, my mentors and the whole community as well were very helpful. They answered my basic question with great patience and always tried to help me with all their effort. I would like to thank for their patience and help first.

Previously I was mainly dealing with algorithms implementation with the help of existing libraries. This is the first time to think from the developer perspective, which requires much more programming skills. It's a good opportunity for me to practice my hands-on skills(meta-programming, interfaces), foster good programming habits(programming style, comments, consistency). As a result, for the first two milestone regarding spline algorithms, although more codes were involves, I faces less challenges. But I encountered much more difficulty for the gird structure construction. On the one hand, this is due to my skill inefficiency; on the other hand, I feel it's the requirement are not quite clear. So in the future, it would be more beneficial for new developer to have a tutorial on how to make a basic DUNE gird. This is my suggestion.

In the end, thanks for google for organizing this awesome event!

No comments:

Post a Comment