Roy, thanks for the detailed reply. I look forward to browsing through the 
linked PDF. 

Alex

> On Jan 3, 2017, at 8:51 AM, Roy Stogner <[email protected]> wrote:
> 
> 
>> On Mon, 2 Jan 2017, Alexander Lindsay wrote:
>> 
>> While thinking about possibly implementing H(curl) projection sometime
>> in the future, I've been trying to familiarize myself with libmesh's
>> current projection implementations. I have a basic question: in
>> dof_map_constraints.C how come projections for side degrees of freedom
>> (roughly lines 900-950) are done weakly as opposed to strongly as is
>> done for the nodal degrees of freedom?
> 
> For nodal degrees of freedom, weak projection and interpolation are
> exactly equivalent; you could think of nodes as being L2 projected but
> with an algorithm that avoids explicitly constructing and inverting
> the 1x1 matrix [1].
> 
> For edges/sides/interiors, we do still use interpolation on Lagrange
> elements, for speed, but we use local L2 projection on all the other
> C0 elements (and on discontinuous element interiors) and local H1
> projection on C1 elements, for generality.  Our "nodes first, then
> edges, then faces, then interiors" strategy ensures that the result is
> well-defined no matter in what order we iterate through elements,
> which also makes it embarrassingly parallelizable.
> 
> This is probably not *quite* the right way to do things in general.
> The most rigorous discussion of projection operators I can recall is
> https://www.ices.utexas.edu/media/reports/2006/0612.pdf
> Skimming through that again, it seems like "nodes first, then edges,
> then faces, then interiors" can give you a good operator, but "L2 norm
> for C0, H1 norm for C1" isn't what we want.  Perhaps "H1 seminorm for
> C0, H2 seminorm for C1" (with the local boundaries still fixed to keep
> the problem well-defined)?
> 
> In the long run we'd like to be able to allow users to specify their
> own projection operators, so they can try to minimize whatever norm or
> energy norm error is most appropriate to their problem, use global
> rather than local projections for initial conditions if they choose,
> etc.  But even adding something general for H(curl) elements would be
> a nice step.
> ---
> Roy

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to