ffc team mailing list archive
-
ffc team
-
Mailing list archive
-
Message #01710
Re: iso-parametric mappings
I think you are right. I would propose the following:
1. Add a meshfunction to the mesh.xml file. The name of it will
correspond to a new enum variable in ufc::cell. For example, say we have
piecewise quadratics for the local map, so we call it "P2_map". Maybe
later this could be made a more permanent xml data type, but for now this
should be ok. The mesh function would just be a vector lagrange 2nd
order function. And there would also be a boolean function on each cell
to say whether the element is straight or not. This of course rules out
mixing curved types, i.e. having P3 and P2 in the same mesh. But I am ok
with that for now.
2. In ufc::cell, we have another enum variable called "map_type":
enum map_type {P1_map, P2_map, P3_map, etc...}
Of course, this will only be for lagrange type polynomial maps. But this
enum variable can have other types (i.e. iso-geometric). We then create a
variable "map_type cell_map_type;"
3. When the mesh is read in, and the element is created, I think the
"coordinates" variable can store the vertex positions of the element,
including the extra ones for the curved sides. If not, then some other
variable would need to be created to store it; actually, that may be
better. Also, the "cell_map_type" will be set to either P1_map, or
P2_map, or etc...
4. The tabulate_tensor routine will have a switch to pick the correct
routine for computing the tensor coefs. This will require modifying FFC
which I don't know yet.
5. Another thing that should change will be the basis function
evaluations. This may be a pain. Computing the inverse map to get the
location of the coordinates in the reference element may be inconvenient.
This can be ignored for now; this isn't really critical for what I would
like to do.
I am a little confused on where the ufc::cell data gets set by the data in
the mesh.xml file. I'm still very new to this code. Any help would be
appreciated. If I am totally off on this, please say so!
- Shawn
On Thu, 14 Aug 2008, Anders Logg wrote:
On Thu, Aug 14, 2008 at 09:02:06AM -0400, Shawn Walker wrote:
I'm not against changing the xml format. Actually, it would be nice to
have a format that is backwards compatible; that way you could ignore the
curved information and just use the mesh as straight if you want. That
seems do-able.
And then add a local struct to the UFC format that is accessible by the
tabulate_tensor routine. This local struct would have the local nonlinear
map for each cell and facet in place. I need to look at the UFC manual
some more and see how this might work...
- Shawn
The mesh XML format has a data section that may contain arbitrarily
named data so it should be easy to extend (if/when we decide to
implement this).
--
Anders
Follow ups
References
-
iso-parametric mappings
From: Shawn Walker, 2008-08-13
-
Re: iso-parametric mappings
From: Anders Logg, 2008-08-13
-
Re: iso-parametric mappings
From: Shawn Walker, 2008-08-13
-
Re: iso-parametric mappings
From: kent-and, 2008-08-13
-
Re: iso-parametric mappings
From: Shawn Walker, 2008-08-13
-
Re: iso-parametric mappings
From: Jed Brown, 2008-08-13
-
Re: iso-parametric mappings
From: Shawn Walker, 2008-08-13
-
Re: iso-parametric mappings
From: Johan Hoffman, 2008-08-14
-
Re: iso-parametric mappings
From: Shawn Walker, 2008-08-14
-
Re: iso-parametric mappings
From: Anders Logg, 2008-08-14