dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #09336
Re: XML format for Higher Order meshes
On Sun, Aug 24, 2008 at 03:55:49PM -0400, Shawn Walker wrote:
>
> On Sun, 24 Aug 2008, Anders Logg wrote:
>
>> The main problem here seems to be how to even represent a higher-order
>> mesh. Are there any existing conventions for this?
>
> Not that I know of, other than the 'obvious' way.
>
>> Doing it locally is fine. For each cell, we have a convention for how
>> we number vertices, edges and faces (it's in the UFC manual) but we
>> don't have a convention for how to number mesh entities globally.
>>
>> We could use the dof map (for Lagrange elements) that FFC computes
>> based on the numbering of mesh entities, but that computation is based
>> on a global numbering of edges and faces, and that numbering depends
>> on the algorithm for computing these entities (in TopologyComputation).
>>
>> So, the only solution I see is to store the coordinates cell-wise,
>> which would mean duplicating the data, both in the XML file and for
>> storing the coordinates in MeshGeometry.
>
> I think this would be ok. But it must still be possible to update the
> mesh geometry (i.e. update the coordinates of all the control points for
> the curved triangle geometries) in, say, a time-stepping loop. For
> example, you would need this for ALE moving mesh applications. This
> means you must update the individual cell geometries in a 'compatible'
> way. I haven't actually thought about this. Would this be do-able? If
> so, I have no problem with keeping the higher order mesh geometry
> completely local. So the question is: "Is it possible to access and
> change the local higher order mesh geometry such that the higher order
> mesh coordinates stay consistent?"
>
> - Shawn
Yes, we just need to have a global list of coordinates, and then
mappings from all cells to the coordinate indices of those cells.
Then one can move a coordinate once and it will affect all cells
sharing that coordinate.
My suggestion would be to have one single list of coordinates like we
do now in MeshGeometry. The first N coordinates would be the vertex
coordinates (like now) and then the remaining coordinates (if any)
would be stored per cell, so that coordinate N is the coordinate for
the first edge midpoint of the first cell, coordinate N + 1 is the
coordinate for the second edge midpoint of the first cell etc.
The other option would be to store all coordinates for the first cell,
then the second etc, but I think it's advantageous to store all vertex
coordinates first since that is what we mostly use.
--
Anders
Attachment:
signature.asc
Description: Digital signature
Follow ups
References
-
Re: XML format for Higher Order meshes
From: Garth N. Wells, 2008-08-20
-
Re: XML format for Higher Order meshes
From: Anders Logg, 2008-08-20
-
Re: XML format for Higher Order meshes
From: Shawn Walker, 2008-08-20
-
Re: XML format for Higher Order meshes
From: Garth N. Wells, 2008-08-20
-
Re: XML format for Higher Order meshes
From: Shawn Walker, 2008-08-22
-
Re: XML format for Higher Order meshes
From: Kent-Andre Mardal, 2008-08-22
-
Re: XML format for Higher Order meshes
From: Anders Logg, 2008-08-22
-
Re: XML format for Higher Order meshes
From: Shawn Walker, 2008-08-22
-
Re: XML format for Higher Order meshes
From: Anders Logg, 2008-08-24
-
Re: XML format for Higher Order meshes
From: Shawn Walker, 2008-08-24