You can subscribe to this list here.
2003 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}
(2) 
_{Oct}
(2) 
_{Nov}
(27) 
_{Dec}
(31) 

2004 
_{Jan}
(6) 
_{Feb}
(15) 
_{Mar}
(33) 
_{Apr}
(10) 
_{May}
(46) 
_{Jun}
(11) 
_{Jul}
(21) 
_{Aug}
(15) 
_{Sep}
(13) 
_{Oct}
(23) 
_{Nov}
(1) 
_{Dec}
(8) 
2005 
_{Jan}
(27) 
_{Feb}
(57) 
_{Mar}
(86) 
_{Apr}
(23) 
_{May}
(37) 
_{Jun}
(34) 
_{Jul}
(24) 
_{Aug}
(17) 
_{Sep}
(50) 
_{Oct}
(24) 
_{Nov}
(10) 
_{Dec}
(60) 
2006 
_{Jan}
(47) 
_{Feb}
(46) 
_{Mar}
(127) 
_{Apr}
(19) 
_{May}
(26) 
_{Jun}
(62) 
_{Jul}
(47) 
_{Aug}
(51) 
_{Sep}
(61) 
_{Oct}
(42) 
_{Nov}
(50) 
_{Dec}
(33) 
2007 
_{Jan}
(60) 
_{Feb}
(55) 
_{Mar}
(77) 
_{Apr}
(102) 
_{May}
(82) 
_{Jun}
(102) 
_{Jul}
(169) 
_{Aug}
(117) 
_{Sep}
(80) 
_{Oct}
(37) 
_{Nov}
(51) 
_{Dec}
(43) 
2008 
_{Jan}
(71) 
_{Feb}
(94) 
_{Mar}
(98) 
_{Apr}
(125) 
_{May}
(54) 
_{Jun}
(119) 
_{Jul}
(60) 
_{Aug}
(111) 
_{Sep}
(118) 
_{Oct}
(125) 
_{Nov}
(119) 
_{Dec}
(94) 
2009 
_{Jan}
(109) 
_{Feb}
(38) 
_{Mar}
(93) 
_{Apr}
(88) 
_{May}
(29) 
_{Jun}
(57) 
_{Jul}
(53) 
_{Aug}
(48) 
_{Sep}
(68) 
_{Oct}
(151) 
_{Nov}
(23) 
_{Dec}
(35) 
2010 
_{Jan}
(84) 
_{Feb}
(60) 
_{Mar}
(184) 
_{Apr}
(112) 
_{May}
(60) 
_{Jun}
(90) 
_{Jul}
(23) 
_{Aug}
(70) 
_{Sep}
(119) 
_{Oct}
(27) 
_{Nov}
(47) 
_{Dec}
(54) 
2011 
_{Jan}
(22) 
_{Feb}
(19) 
_{Mar}
(92) 
_{Apr}
(93) 
_{May}
(35) 
_{Jun}
(91) 
_{Jul}
(32) 
_{Aug}
(61) 
_{Sep}
(7) 
_{Oct}
(69) 
_{Nov}
(81) 
_{Dec}
(23) 
2012 
_{Jan}
(64) 
_{Feb}
(95) 
_{Mar}
(35) 
_{Apr}
(36) 
_{May}
(63) 
_{Jun}
(98) 
_{Jul}
(70) 
_{Aug}
(171) 
_{Sep}
(149) 
_{Oct}
(64) 
_{Nov}
(67) 
_{Dec}
(126) 
2013 
_{Jan}
(108) 
_{Feb}
(104) 
_{Mar}
(171) 
_{Apr}
(133) 
_{May}
(108) 
_{Jun}
(100) 
_{Jul}
(93) 
_{Aug}
(126) 
_{Sep}
(74) 
_{Oct}
(59) 
_{Nov}
(145) 
_{Dec}
(93) 
2014 
_{Jan}
(38) 
_{Feb}
(45) 
_{Mar}
(26) 
_{Apr}
(41) 
_{May}
(125) 
_{Jun}
(70) 
_{Jul}
(61) 
_{Aug}
(66) 
_{Sep}
(60) 
_{Oct}
(110) 
_{Nov}
(27) 
_{Dec}
(30) 
2015 
_{Jan}
(43) 
_{Feb}
(67) 
_{Mar}
(71) 
_{Apr}
(92) 
_{May}
(39) 
_{Jun}
(15) 
_{Jul}
(46) 
_{Aug}
(63) 
_{Sep}
(84) 
_{Oct}
(82) 
_{Nov}
(69) 
_{Dec}
(45) 
2016 
_{Jan}
(92) 
_{Feb}
(91) 
_{Mar}
(148) 
_{Apr}
(43) 
_{May}
(58) 
_{Jun}
(117) 
_{Jul}
(79) 
_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 



1
(5) 
2
(11) 
3
(3) 
4
(6) 
5
(1) 
6

7

8

9
(1) 
10
(4) 
11

12
(9) 
13
(2) 
14
(6) 
15
(3) 
16

17

18

19

20

21

22

23
(1) 
24
(2) 
25
(1) 
26

27

28

29
(8) 
30
(5) 



From: John Peterson <peterson@cf...>  20090912 23:19:01

On Sat, Sep 12, 2009 at 4:08 PM, Ted Kord <teddy.kord@...> wrote: > 2009/9/12 David Knezevic <dknez@...> > >> Roy Stogner wrote: >> >>> >>> On Sat, 12 Sep 2009, David Knezevic wrote: >>> >>> Ted Kord wrote: >>>> >>> >>> How do I apply a Neumann B.C at an interelement boundary? >>>>> >>>> >>>> The same way as a usual Neumann BC... the only trick is that you have to >>>> find which internal element to apply it to. One way to do this would be >>>> to set the subdomain_id of elements on one side of the interelement >>>> boundary to 1 and on the other side to 2, and then search for elements >>>> with subdomain_id = 1 that have a neighbor with subdomain_id = 2, and >>>> apply the Neumann BC to the appropriate side of those elements. >>>> >>> >>> The trouble with this is that you'll still have the entries in your >>> matrix from the shape functions which stretch between the element on >>> one side of the boundary and on the other. If you have a slit in your >>> domain on which you want to weakly impose boundary conditions, you >>> need to make it an actual topologically broken slit, and then it's >>> just another set of exterior boundaries. >>> >> >> I was thinking of imposing an internal flux between internal elements (e.g. >> as a type of forcing, but inside the domain rather than on the boundary). In >> that situation an "internal" Neumann condition does the job  the >> variational formulation takes care of everything for you... >> >>  Dave >> > > The problem I actually have is that there's a concentrated load at a single > point, say x = 16 (domain: 0 < x < 20) which is represented mathematically > as : > > 0.5  30 * diracdelta(x16) > > As far as I know, this, i.e., 30 will have to be applied as a Neumann B.C > at that point. I wouldn't think of a pointload as a boundary condition ... it's not a boundary condition. Assuming the delta function falls on a node in the mesh, you can just modify the load vector entry for the basis function associated to that row.  John 
From: Ted Kord <teddy.kord@go...>  20090912 21:08:25

2009/9/12 David Knezevic <dknez@...> > Roy Stogner wrote: > >> >> On Sat, 12 Sep 2009, David Knezevic wrote: >> >> Ted Kord wrote: >>> >> >> How do I apply a Neumann B.C at an interelement boundary? >>>> >>> >>> The same way as a usual Neumann BC... the only trick is that you have to >>> find which internal element to apply it to. One way to do this would be >>> to set the subdomain_id of elements on one side of the interelement >>> boundary to 1 and on the other side to 2, and then search for elements >>> with subdomain_id = 1 that have a neighbor with subdomain_id = 2, and >>> apply the Neumann BC to the appropriate side of those elements. >>> >> >> The trouble with this is that you'll still have the entries in your >> matrix from the shape functions which stretch between the element on >> one side of the boundary and on the other. If you have a slit in your >> domain on which you want to weakly impose boundary conditions, you >> need to make it an actual topologically broken slit, and then it's >> just another set of exterior boundaries. >> > > I was thinking of imposing an internal flux between internal elements (e.g. > as a type of forcing, but inside the domain rather than on the boundary). In > that situation an "internal" Neumann condition does the job  the > variational formulation takes care of everything for you... > >  Dave > The problem I actually have is that there's a concentrated load at a single point, say x = 16 (domain: 0 < x < 20) which is represented mathematically as : 0.5  30 * diracdelta(x16) As far as I know, this, i.e., 30 will have to be applied as a Neumann B.C at that point. So, is find_neighbors() the way to go?  Ted 
From: Ted Kord <teddy.kord@go...>  20090912 20:56:05

2009/9/12 Roy Stogner <roystgnr@...> > > > On Sat, 12 Sep 2009, Ted Kord wrote: > > Whereas, this IS the correct thing to do: >> >> Fe(i) += phi_face[i][qp] * g; >> > > No, it isn't. > > The difference is there's no multiplication by JxW_face[qp] because >> applying >> the Neumann B.C does not require integration. >> > > Yes, it does. You've covered up a bug, not found it, I'm afraid. > This may work in 1D (where JxW_face is supposed to simply be 1 on > your single "integration point"), but it will give inaccurate results > in 2D/3D. > > Thanks all. I'm very excited and motivated. >> > > Sorry if I've squelched that any, but I didn't want to see your code > break later when you move to higher dimensions. >  > Roy > It's good you did that 'cause having gone over the code again, it turns out that even though Fe(i) += phi_face[i][qp] * g; works fine (because JxW_face is supposed to simply be 1 on the single "integration point" like you pointed out), the reason I was getting incorrect results before was 'cause I was using JxW[qp] instead of JxW_face[qp] like you mentioned. So, it all ends well, motivation's still there and I've learnt quite a bit. Thanks. Ted 
From: David Knezevic <dknez@MIT.EDU>  20090912 14:26:17

Roy Stogner wrote: > > On Sat, 12 Sep 2009, David Knezevic wrote: > >> Ted Kord wrote: > >>> How do I apply a Neumann B.C at an interelement boundary? >> >> The same way as a usual Neumann BC... the only trick is that you have to >> find which internal element to apply it to. One way to do this would be >> to set the subdomain_id of elements on one side of the interelement >> boundary to 1 and on the other side to 2, and then search for elements >> with subdomain_id = 1 that have a neighbor with subdomain_id = 2, and >> apply the Neumann BC to the appropriate side of those elements. > > The trouble with this is that you'll still have the entries in your > matrix from the shape functions which stretch between the element on > one side of the boundary and on the other. If you have a slit in your > domain on which you want to weakly impose boundary conditions, you > need to make it an actual topologically broken slit, and then it's > just another set of exterior boundaries. I was thinking of imposing an internal flux between internal elements (e.g. as a type of forcing, but inside the domain rather than on the boundary). In that situation an "internal" Neumann condition does the job  the variational formulation takes care of everything for you...  Dave 
From: Roy Stogner <roystgnr@ic...>  20090912 14:17:49

On Sat, 12 Sep 2009, David Knezevic wrote: > Ted Kord wrote: >> How do I apply a Neumann B.C at an interelement boundary? > > The same way as a usual Neumann BC... the only trick is that you have to > find which internal element to apply it to. One way to do this would be > to set the subdomain_id of elements on one side of the interelement > boundary to 1 and on the other side to 2, and then search for elements > with subdomain_id = 1 that have a neighbor with subdomain_id = 2, and > apply the Neumann BC to the appropriate side of those elements. The trouble with this is that you'll still have the entries in your matrix from the shape functions which stretch between the element on one side of the boundary and on the other. If you have a slit in your domain on which you want to weakly impose boundary conditions, you need to make it an actual topologically broken slit, and then it's just another set of exterior boundaries. IIRC there used to be a bug with libMesh's find_neighbors() reconstruction that would undesirably "patch up" infinitely thin slits. I don't recall whether I fixed that or whether I just worked around the problem by making the slit 1e6 wide...  Roy 
From: Roy Stogner <roystgnr@ic...>  20090912 14:12:25

On Sat, 12 Sep 2009, Ted Kord wrote: > Whereas, this IS the correct thing to do: > > Fe(i) += phi_face[i][qp] * g; No, it isn't. > The difference is there's no multiplication by JxW_face[qp] because applying > the Neumann B.C does not require integration. Yes, it does. You've covered up a bug, not found it, I'm afraid. This may work in 1D (where JxW_face is supposed to simply be 1 on your single "integration point"), but it will give inaccurate results in 2D/3D. > Thanks all. I'm very excited and motivated. Sorry if I've squelched that any, but I didn't want to see your code break later when you move to higher dimensions.  Roy 
From: David Knezevic <dknez@MIT.EDU>  20090912 13:19:12

Ted Kord wrote: > Hi > > How do I apply a Neumann B.C at an interelement boundary? > The same way as a usual Neumann BC... the only trick is that you have to find which internal element to apply it to. One way to do this would be to set the subdomain_id of elements on one side of the interelement boundary to 1 and on the other side to 2, and then search for elements with subdomain_id = 1 that have a neighbor with subdomain_id = 2, and apply the Neumann BC to the appropriate side of those elements. 
From: Ted Kord <teddy.kord@go...>  20090912 11:49:03

2009/9/2 John Peterson <jwpeterson@...> > On Wed, Sep 2, 2009 at 2:38 PM, Vijay S. Mahadevan<vijay.m@...> > wrote: > > On first look, I would say that the neumann_value is supposed to be > > 0.25 and not 0.5 at x=2. Try this change and see if it resolves the > > bug. Also like John suggested, see if your L2 and H1 errors give right > > convergence orders. > > I don't see anything obviously wrong... > > If the original problem is: d/dx (x * du/dx) = 2/x^2 > > The weak form is: > > (x u',v') + x u'(2) v(2)  x u'(1) v(1) = (2/x^2,v) > > Bringing the right endpoint bc over to the rhs and assuming the > Dirichlet bc is handled, > > (x u',v') = (2/x^2,v)  x u'(2) v(2) > > And replacing with the Neumann condition, (x * du/dx) = 0.5 @ x = 2, we > get > > (x u',v') = (2/x^2,v) + 0.5 v(2) > > Multiplying thru by neg. 1 as in the code, we get > > (x u',v') = (2/x^2,v)  0.5 v(2) > > If the theoretical convergence rates are off, I would probably start > by looking at the endpoint integral, though there may be something > else obvious I'm missing. > >  > John > The problem was that I was doing this: Fe(i) += JxW_face[qp] * phi_face[i][qp] * g; where g is the Neumann BC. Whereas, this IS the correct thing to do: Fe(i) += phi_face[i][qp] * g; The difference is there's no multiplication by JxW_face[qp] because applying the Neumann B.C does not require integration. Thanks all. I'm very excited and motivated. Ted 
From: Ted Kord <teddy.kord@go...>  20090912 11:41:13

Hi How do I apply a Neumann B.C at an interelement boundary? Regards Ted 