dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #04067
Re: [FFC-dev] Discontinuous Galerkin
Great work! Should be interesting to try out.
/Johan
> Discontinuous Galerkin is now supported by FFC and DOLFIN.
>
> A demo is available in src/demo/pde/dg in DOLFIN.
>
> Here's an example for implementation of an interior penalty method
> for Poisson's equation:
>
> DG1 = FiniteElement("Discontinuous Lagrange", "triangle", 1)
> DG0 = FiniteElement("Discontinuous vector Lagrange", "triangle", 0)
>
> v = TestFunction(DG1)
> u = TrialFunction(DG1)
> f = Function(DG1)
> g = Function(DG1)
> n = Function(DG0) # facet normal
> alpha = Constant()
>
> a = dot(grad(v), grad(u))*dx \
> - dot(avg(grad(v)), jump(u, n))*dS \
> - dot(jump(v, n), avg(grad(u)))*dS \
> - alpha*dot(jump(v, n), jump(u, n))*dS
>
> L = v*f*dx + v*g*ds
>
> Since this has not yet worked its way into the manual, here's a short
> summary of the new supported operators:
>
> v('+') - take value v^+ of v at the '+'-side of a facet
> v('-') - take value v^- of v at the '-'-side of a facet
> avg(v) - average 0.5*(v^+ + v^-)
> jump(v, n) - jump with respect to normal, either
> v^+n^+ + v^-n^- or v^+.n^+ + v^-.n^-
> depending on whether v is scalar or vector valued
> dS - integral over an interior facet
>
> Currently, only 2D is supported (triangular meshes), but 3D is not far
> away.
>
> Thanks to Kristian Oelgaard for a very good job on implementing DG in
> FFC and DOLFIN!
>
> /Anders
> _______________________________________________
> FFC-dev mailing list
> FFC-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/ffc-dev
>
References