From: John P. <pet...@cf...> - 2007-05-08 19:21:24
|
Kirk, Benjamin (JSC-EG) writes: > I'm relying on y'all to help me make sense of these ideas and to post > them to the list. All of the sudden I cannot send anything to the > lists: > > < ndjsbar02.ndc.nasa.gov #5.0.0 X-Spam-Firewall; host > mail.sourceforge.net[66.35.250.206] said: 550-Postmaster verification > failed while checking <ben...@na...> 550-Called: > 198.120.25.85 550-Sent: RCPT TO:<pos...@na...> > 550-Response: 550 <pos...@na...>: Recipient address rejected: > local mail delivery is disabled 550-Several RFCs state that you are > required to have a postmaster 550-mailbox for each mail domain. This > host does not accept mail 550-from domains whose servers reject the > postmaster address. 550 Sender verify failed (in reply to RCPT TO > command)> > > > > In any case, after talking with John I think that the easiest fix for > all this nonsense it to remove the recursion out of the constraint > matrix construction. The idea I have is as follows: > > (1) build up the _dof_constraints in the standard way. As implemented, > this produces a whole series of level-1 constraints. > > (2) process the _dof_constraints such that there are no implicit > constraints. That is, if a=f(b,c) and b=g(c,d) > then perform the function composition such that a=f(g(c,d),c) direcely. > More clearly, modify all dof constraints as to be written in terms of > active DOFS only. > > (3) build the constraint matrix, there will be no need for recursion. > > > Now the complication gets shifted to step (2), but it should be much > more clear. Note that all the level-1 constraints must be constructed > first. Then I envision something like this > > for each row of _dof_constraints > for each entry in the row > if the constraining dof is itself constrained > replace the dof with its constraints scaled by the weight > end > until there are no constrained dofs in the row > end > > > > So return to the case that was mentioned yesterday: > a----b----c-------------d > > After step (1) > > _dof_constraints[b] = .5*a + .5*c > _dof_constraints[c] = .5*a + .5*d > > Now, in step 2, since c is constrained we need to modify the first row: > > _dof_constraints[b] = .5*a + .5*(.5*a + .5*d) > = .75*a + .25*d > > (and now we are done since neither a nor d are constrained.) > > > This should avoid the issue that was occuring before. The problem was > stopping the recursion when the size of an object did not change, when > in fact it should terminate when the constraint is formed only in terms > of active dofs. > > > Is this clear? I think implementing this as a step at the end of > DofMap::create_dof_constraints() should be fairly straightforward. > > Thoughts?? > > -Ben > > > > > > |
From: Roy S. <roy...@ic...> - 2007-05-08 19:30:59
|
On Tue, 8 May 2007, John Peterson wrote: > Kirk, Benjamin (JSC-EG) writes: > > > This should avoid the issue that was occuring before. The problem was > > stopping the recursion when the size of an object did not change, when > > in fact it should terminate when the constraint is formed only in terms > > of active dofs. > > > > > > Is this clear? I think implementing this as a step at the end of > > DofMap::create_dof_constraints() should be fairly straightforward. We can't put it in create_dof_constraints(), or it'll break as soon as someone tries to add user constraints which either depend upon or are depended upon by hanging node constraints. We can call such a postprocessing function from init_data() and reinit(), though, and it should work. I'm working on the implementation now. --- Roy |
From: Roy S. <roy...@ic...> - 2007-05-08 22:24:49
|
On Tue, 8 May 2007, Roy Stogner wrote: > We can call such a postprocessing function from init_data() and > reinit(), though, and it should work. I'm working on the > implementation now. If anyone wants to try it out, the relevant files are attached. This gives the right debugging and solution output on the test cases I've tried, but I'd like to see some more positive feedback before committing it to CVS. --- Roy |
From: Roy S. <roy...@ic...> - 2007-05-08 22:33:52
|
On Tue, 8 May 2007, Roy Stogner wrote: > On Tue, 8 May 2007, Roy Stogner wrote: > >> We can call such a postprocessing function from init_data() and >> reinit(), though, and it should work. I'm working on the >> implementation now. > > If anyone wants to try it out, the relevant files are attached. This > gives the right debugging and solution output on the test cases I've > tried, but I'd like to see some more positive feedback before > committing it to CVS. The relevant files hit some kind of sourceforge filesize limit when attached; instead, you can find them here: http://cfdlab.ae.utexas.edu/~roystgnr/constraints/ --- Roy |
From: Shun W. <shu...@ui...> - 2007-05-09 04:45:57
|
Thanks. I'll try it tomorrow and get back to you. On 5/8/07, Roy Stogner <roy...@ic...> wrote: > > On Tue, 8 May 2007, Roy Stogner wrote: > > > On Tue, 8 May 2007, Roy Stogner wrote: > > > >> We can call such a postprocessing function from init_data() and > >> reinit(), though, and it should work. I'm working on the > >> implementation now. > > > > If anyone wants to try it out, the relevant files are attached. This > > gives the right debugging and solution output on the test cases I've > > tried, but I'd like to see some more positive feedback before > > committing it to CVS. > > The relevant files hit some kind of sourceforge filesize limit when > attached; instead, you can find them here: > > http://cfdlab.ae.utexas.edu/~roystgnr/constraints/ > --- > Roy > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Libmesh-devel mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libmesh-devel > |
From: Lorenzo B. <bot...@gm...> - 2007-05-09 10:35:07
|
It works great... Lorenzo 2007/5/9, Roy Stogner <roy...@ic...>: > > On Tue, 8 May 2007, Roy Stogner wrote: > > > On Tue, 8 May 2007, Roy Stogner wrote: > > > >> We can call such a postprocessing function from init_data() and > >> reinit(), though, and it should work. I'm working on the > >> implementation now. > > > > If anyone wants to try it out, the relevant files are attached. This > > gives the right debugging and solution output on the test cases I've > > tried, but I'd like to see some more positive feedback before > > committing it to CVS. > > The relevant files hit some kind of sourceforge filesize limit when > attached; instead, you can find them here: > > http://cfdlab.ae.utexas.edu/~roystgnr/constraints/ > --- > Roy > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Libmesh-users mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libmesh-users > |
From: Roy S. <roy...@ic...> - 2007-05-09 18:15:13
|
On Wed, 9 May 2007, Lorenzo Botti wrote: > It works great... No problems for John or I either, so I'm committing process_recursive_constraints() to CVS and turning it on. If anyone experiences problems let me know. We might also want to take the now-redundant recursion out of build_constraint_matrix() sometime, but it's shouldn't be hurting anything, so one code rewrite at a time. --- Roy |