On Mon, Sep 21, 2009 at 5:31 PM, Fredrik Bengzon < fredrik.bengzon at math.umu.se> wrote:
> Matt, > Clearly, I must be missing something. If I loop over the elements and > record all edges between the nodes in a face by adding to the vectors "on" > and "off" as the algorithm says, won't an edge be counted more than two > times in general, thus giving a too big value in "on" and "off"? > You do not loop over edges ever that I see. He loops over nodes, and checks nodes that share an edge (in 2D) or face (in 3D). Matt > /Fredrik > > > Matthew Knepley wrote: > > On Mon, Sep 21, 2009 at 4:53 PM, Fredrik Bengzon < >> fredrik.bengzon at math.umu.se <mailto:fredrik.bengzon at math.umu.se>> >> wrote: >> >> Hi, >> Ryan, I'm aware of Barry's post >> >> >> https://lists.mcs.anl.gov/mailman/htdig/petsc-users/2008-May/003020.html >> >> and it workes fine for triangle meshes. However, I do not see how >> this can be used for tetrahedral meshes. >> >> >> It is the same for tetrahedra. In fact, this algorithm can be generalized >> to work >> for any topology: >> >> http://arxiv.org/abs/0908.4427 >> >> Matt >> >> /Fredrik >> >> >> Ryan Yan wrote: >> >> Hi Fredrik, >> If I understand correctly, I have the same issue as what you >> have here. >> >> I do not have the code yet(It is also depends on how your >> store your matrix data.). But I can forward Barry's idea to >> you. Hope this is helpful to you. >> >> Yan, >> >> Simply read through the ASCII file(s) twice. The first time >> count the number of blocks per row, then preallocate then read >> through the ASCII file again reading and setting the values. >> This will be very fast. >> >> Barry >> - Hide quoted text - >> >> >> On Sep 20, 2009, at 10:20 AM, Ryan Yan wrote: >> >> Hi All, >> I have a large size application. Mesh size is 30000 nodes, with >> dof 25 on each vertex. And it's 3d unstructured, Tet, and Hex >> mesh. In the following I will denote blksize=25 >> >> I am testing how to build up a PETSc matrix object quick >> and fast. >> >> The data I have is Block Compressed Sparse Row(BCSR) files. >> And my >> objective is to read BCSR files and generate PETSc Binaries >> >> Firstly, I choose the MATMPIAIJ, I opened the BCSR data >> files on >> each processor, and set up the preallocation use >> >> MatMPIAIJSetPreallocation(A,blksize,PETSC_NULL,blksize,PETSC_NULL); >> The reason why I choose 25 as the number for d_nz and o_nz >> is that >> I do not have access to the ordering of the vertices. So >> it's the >> worst case set up, and it takes about 7 minutes on 30 MIPS >> node(180 processors) to write the output into PETSc binaries. >> >> Secondly, I choose the MatMPIBAIJ, and same procedure as above, >> but also set up >> >> MatMPIBAIJSetPreallocation(A,blksize,blksize,PETSC_NULL,blksize,PETSC_NULL), >> here blksize = 25 and it's also the worst case; This >> experiments >> takes forever and could not generate the PETSc binaries. >> >> I guess the reason why it takes so long in the MATMPIBAIJ >> case is >> that I did not set up the preallocation accurately. Alougth I >> think the preallocation is also not accurate in the MATMPIAIJ >> case, but it seems like the preallocation effect is not as >> serious >> as for the MPIBAIJ. Correct me please, if there are other >> reasons. >> >> Can I anyone please give a hint on how to set up the >> preallocation >> right for a unstructured mesh without knowing the mesh >> ordering? >> >> Thank you very much in advance, >> >> Yan >> >> >> >> >> >> On Mon, Sep 21, 2009 at 4:24 PM, Fredrik Bengzon >> <fredrik.bengzon at math.umu.se >> <mailto:fredrik.bengzon at math.umu.se> >> <mailto:fredrik.bengzon at math.umu.se >> <mailto:fredrik.bengzon at math.umu.se>>> wrote: >> >> Hi, >> This is probably the wrong forum to ask, but does anyone have a >> piece of code for computing the correct ndnz and nodnz vectors >> needed for assembly of the stiffness (MPIAIJ) matrix on an >> unstructured tetrahedral mesh given the node-to-element >> adjacency? >> Thanks, >> Fredrik >> >> >> >> >> >> >> -- >> What most experimenters take for granted before they begin their >> experiments is infinitely more interesting than any results to which their >> experiments lead. >> -- Norbert Wiener >> > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20090921/d52fed44/attachment.htm>
