Menu

DAPTA / News: Recent posts

Parallel Updates

Well, since the last update I have been hard at work putting together the parallelisation code. I am using with kind permission, Fehmi Cirak's (my supervisor) code called 'pico' for the code to exchange information between subdomains using MPI (mpich2 is the implementation I am using currently).

I'm currently trying to implement the algorithms to transfer the element connectivity lists between subdomains.... read more

Posted by Matt Galloway 2007-03-18

Parallel with MPI

Over the past few days I have been hard at work getting to grips with MPI and all of it's amazing uses. I have managed to successfully implement test programs which show MPI in action.

The other thing I have done is to implement RCB (Recursive Co-ordinate Bisection) - thanks to my supervisor, Fehmi Cirak, for the code here (I have adapted it to be able to be used efficiently by DAPTA). This has been a smooth implementation and a test program has been made to show it in action. There is still a little work needed to merge it into the DAPTA source tree, but it's coming along well - I anticipate over the next few days to have a fully templated version in the DAPTA tree for use by the Mesh class to partition it's domain.... read more

Posted by Matt Galloway 2007-02-27

Current Updates

Some updates are in CVS from the latest updates to the fracture algorithm. The code currently doesn't quite work as expected, but it's looking like hopefully it will be working soon! I need to add in some functions to the element classes to help with the fracture.

I also had an idea to parameterise the number of vertices in the edge and face classes as currently the only difference between each of these classes is the number of nodes so it seems silly to have one of each class for each element.... read more

Posted by Matt Galloway 2007-02-21

New Fracture Algorithm

The new fracture algorithm using circular lists for each "edge" is being implemented. It is helping to bring the fracture code to be a lot more independant of the element type which is brilliant as this is very beneficial for the ability to create new elements.

So far the fracture algorithm is being carefully implemented.

Posted by Matt Galloway 2007-02-19

Circular Lists

A new "circular list" approach was investigated with Fehmi (my supervisor) and now I am in the process of working through the abilities of it and checking it will work for all cases of fracture. It looks like it's going to be an extremely powerful approach to connectivity information so as to allow efficient parallel fracture.

So far I am in the process of designing and implementing the circular list with iterators using Boost's iterator helper classes (iterator_facade and iterator_adaptor) to design the iterator to the special circular list classes. It also makes use of the STL to hold the connectivity information.... read more

Posted by Matt Galloway 2007-02-11

Tri3 working!

Looks like I got all the functions working for Tri3 which is good. There is a separate test program for Tri3 which shows how it works. It seems to be working for all cases, but I need to rigorously test it some more. A lot of the code was duplicated and changed slightly from Tetra4 so mostly it should be working as Tetra4 is fully operational.

Next to come is parallel implementation of Tri3 (as it's MUCH easier in 2D) and then hopefully also for Tetra4. Some serious work on how the data structures are to be arranged to allow the parallel computation easily is necessary.

Posted by Matt Galloway 2007-02-06

New mesh feature

I recently implemented a new element - Tri3. This is a triangular element with corresponding cohesive and face elements to match. It is not currently fully implemented, but it showed a few bugs in the process by pointing out some code which was written specifically for Tetra4. This has now been fixed and hopefully everything is working for both Tri3 AND Tetra4 showing the expandability of the code to include new elements.... read more

Posted by Matt Galloway 2007-02-06

Updates!

Finally everything seems to be working - ironed out a bug which meant that the fracture didn't work in an extreme case. This looks to be fixed now. Also fixed some cases where the node didn't get duplicated because of the algorithm not working for cases where there is a boundary edge, a non-boundary edge and a cohesive edge on a face.

Reading is starting on the MPI framework and test programs will be written to see how it works.... read more

Posted by Matt Galloway 2007-01-27

Today's Updates

Today I fixed some of the fracture algorithm where for some cases it didn't work. Unfortunately that made some other parts not work, but I know where the problem is - just trying to figure out how best to write the code so that as little duplication of code is created.

I have been doing a lot recently on the OpenGL test program. It's now looking really good and you can actually see what's going on much better than before. Hopefully I will have a nice big sample mesh which shows the actual fracture of something soon!... read more

Posted by Matt Galloway 2007-01-20

First CVS Import

I have imported my work from Michaelmas term (pre-Christmas) which contains a (mostly) working fracture algorithm and well documented source code. I finally got Doxygen working and now it produces some nice documentation which I will keep adding to as this will be part of the final project.

Next I will be implementing the parallel algorithms along with fixing the (minor) bugs with very specific cases where fracture doesn't work quite right! (Quite annoying at the moment!)... read more

Posted by Matt Galloway 2007-01-19