Subject: Re: [Ufl] [Question #169147]: Using Hexahedron Element

From: Anders Logg <[email-masked]>
Date: Thu, 25 Aug 2011 13:05:58 -0000

Question #169147 on UFL changed:
https://answers.launchpad.net/ufl/+question/169147

    Status: Open => Answered

Anders Logg proposed the following answer:
FFC can't handle hexahedra, only intervals, triangles and tetrahedra.

--
Anders

On Thu, Aug 25, 2011 at 12:50:47PM -0000, Liang Jin Lim wrote:
> New question #169147 on UFL:
> https://answers.launchpad.net/ufl/+question/169147
>
> I am trying to use a hexahedron element, but thing goes wrong when I compile using FFC. No problem arises when I use a tetrahedron element. This is the my ufl code:
>
> ------------------------------------------------------------------------------------------------
> element = VectorElement("CG", "hexahedron", 1)
>
> u = TrialFunction(element)
> v = TestFunction(element)
> f = Coefficient(element)
> #g = Coefficient(element)
>
> mu    = Constant("hexahedron")
> lmbda = Constant("hexahedron")
>
> def epsilon(v):
>     return 0.5*(grad(v) + grad(v).T)
>
> def sigma(v):
>     return 2.0*mu*epsilon(v) + lmbda*tr(epsilon(v))*Identity(v.cell().d)
>
> a = inner(sigma(u), epsilon(v))*dx
> L = inner(f, v)*dx
> ------------------------------------------------------------------------------------------------------
>
> And this is the error I got while compiling
>
> //...
> Compiler stage 4: Generating code
> ---------------------------------
>   Generating code for 3 elements
>
> *** FFC: 'hexahedron'
> *** FFC: To get more information about this error, rerun FFC with --verbose.
>

-- 
You received this question notification because you are a member of UFL
Team, which is an answer contact for UFL.

---

From: Anders Logg <[email-masked]>
Date: Thu, 25 Aug 2011 13:25:51 -0000

Status: Open => Answered

Anders Logg proposed the following answer:
On Thu, Aug 25, 2011 at 01:10:59PM -0000, Liang Jin Lim wrote:
>     Status: Answered => Open
> Liang Jin Lim is still having a problem:
> So, there is no work around to use Hexahedron element?

The workaround would be either:

1. split your hexahedra into tetrahedra

or

2. add the missing functionality in FFC, FIAT and DOLFIN

--
Anders