← Back to team overview

dolfin team mailing list archive

Re: XML format for Higher Order meshes

 

On Mon 2008-08-25 12:14, Shawn Walker wrote:
>
> On Mon, 25 Aug 2008, Jed Brown wrote:
>
>> It would be nice to store and manipulate the coordinates just like any
>> other Function.  Suppose the basis operations accept (in some way) a
>> NULL coordinate vector which means that the element Jacobian is the
>> identity everywhere.  That way you could manipulate mesh geometry by
>> evaluating forms to construct a new geometry Function.  Then register
>> this new Function (i.e. compute associated element Jacobians, required
>> facet normals).
>
> I agree it would be nice.  But this function would need to feed into  
> various routines, like Tabulate_Tensor.  Would this just become part of  
> the `w' coefficient vector?  Or would there need to be another input to  
> these routines?  Or could the cell class contain this?  I will have to  
> think about it some more...

I guess I'm suggesting a bit of a refactor which might include hoisting
the element Jacobian computation out of tabulate_tensor (it is much more
expensive for non-affine elements since it involves inversion at every
quadrature point).  So there would be a function, say tabulate_geometry,
which would take the coordinates in a finite element basis and compute
the Jacobian at quadrature points.  Then tabulate_tensor takes this as
input and actually assembles the element matrix.  This can all be hidden
from the user, but this lets you do computations without coordinates,
just pass the identity as the Jacobian and perform element operations as
usual.  (I'm working on something similar for high spectral order
(>10^3) by tensor products.)

Jed

Attachment: pgph8cMn1lIun.pgp
Description: PGP signature


References