ffc team mailing list archive
-
ffc team
-
Mailing list archive
-
Message #01421
Re: DG lifting operator
On Fri, Jan 11, 2008 at 08:59:50AM -0500, Jake Ostien wrote:
> Jake Ostien wrote:
> > Anders Logg wrote:
> >
> >> On Thu, Jan 10, 2008 at 09:29:56AM -0500, Jake Ostien wrote:
> >>
> >>
> >>> Hi,
> >>>
> >>> I'd like to write a form based on the lifting operator. If the lifting
> >>> operator (R) is defined as
> >>>
> >>> -\int_Gamma avg(A):jump(B) dS = \int_Omega A:R(B) dV
> >>>
> >>> Is there any way I can define a form such as
> >>>
> >>> \int_Omega R(A):R(B) dV
> >>>
> >>> Where e.g. A and B are BasisFunctions?
> >>>
> >>> I can do this already for a known Function, say H, where I say
> >>>
> >>> V = TestFunction
> >>> U = TrialFunction
> >>>
> >>> H = Function
> >>>
> >>> a = dot(V,U)*dx
> >>> L = dot(avg(V),jump(H))*dS
> >>>
> >>> Then U is the lifted H, projected onto the basis of V.
> >>>
> >>> Should this same approach work for BasisFunctions?
> >>>
> >>> Jake
> >>>
> >>>
> >> I don't understand what you want to do. The only way I see to compute
> >> a projection (or lifting) is to define a bilinear form and linear form
> >> as you do and solve a linear system.
> >>
> >>
> >>
> > Yes, I see. Here's the problem. The lifting operator formulation looks
> > like
> > \int_Omega R(V):R(H) dV
> >
> > For the R(V) term, I can lift the BasisFunction V and project it to get
> > a DiscreteFunction in DOLFIN, but then when I pass in those coefficients
> > as arguments to the lifting operator form, how can I tell FFC that those
> > coefficients are for the TestFunction? If I could do this then I could
> > just do the projections as a separate step and use the results.
> >
> >
> Actually, this isn't right. What I suggested was the projection
>
> -\int_gamma avg(V):jump(V) dS = \int_Omega V:U dV
>
> where U = R(V), which is pretty much nonsense.
>
> I'll have to figure out some other way.
>
> Thanks,
> Jake
ok.
--
Anders
References