I had looked at DirichletBoundary class in the examples, but I had not
realized that it works for all interpolation basis.

What you describe is very impressive, and I will certaintly look deeper
into the class.

Thanks!
Manav



On Thu, Feb 21, 2013 at 4:17 PM, Roy Stogner <[email protected]>wrote:

>
> On Thu, 21 Feb 2013, Manav Bhatia wrote:
>
>     I have a preference for Lagrange interpolation for the structural
>> (and some thermal) applications that I am working on, primarily due
>> to easy application of Dirichlet boundary conditions.
>>
>
> Have you noticed the relatively-new DirichletBoundary class we have?
> Hand that a functor, and it'll do the projections onto non-Lagrange
> spaces for you.  Right now there's still work and testing to be done
> for transient Dirichlet conditions (that functor may get evaluated at
> time t in places where it should be evaluated at t +/- deltat...) but
> for steady Dirichlet conditions it's pretty solid.
>
>
> Perhaps hierarchic polynomials would also offer a similar feature
>> (please correct if I am wrong) due to the presence of node and edge
>> functions whose dof values can be specified, and bubble functions
>> that are zero on the boundaries.
>>
>
> Unless your Dirichlet values are piecewise-linear, they'll have
> non-zero dofs corresponding to those bubble functions.  What our
> DirichletBoundary stuff gives you is interpolation at nodes, then
> constrained L2 projection for edge-interior values, then
> further-constrained L2 projection for face-interior values.
>
>
>    I am curious about your comment "mapped the Lagrange bases on to
>> nodes topologically". Are you implying a software fix of telling the
>> dof that it is associated with a node, or some sort of a
>> mathematical mapping process?
>>
>
> Software.  Suppose you have a quad on the unit square.  Isoparametric
> cubic Lagrange elements would have nodes at (1/3,0) and (2/3,0), each
> with a single degree of freedom.  My suggestion would be to do what we
> do with hierarchics: keep the single node at (1/2,0), give it two
> degrees of freedom, then use some canonical ordering based on node
> positions to determine which DoF is which.  This breaks code which
> assumes that solution(node->dof_number(0,0,**0)) == u(Point(node)), but
> mathematically it can still be the same basis being used.
> ---
> Roy
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to