From: KIRK, BENJAMIN (JSCEG) (NASA) <benjamin.kirk1@na...>  20050201 14:27:54

Sure... Examples 3 and 4 use 9noded biquadratic quadrilaterals in 2D. Also, the middle node need not lie in the geometric center of the two vertices. By default, the secondorder elements in libMesh are treated isoparametrically, which allows them to approximate curved boundaries = with a quadratic line segment. Note that there is a practical limit, however, to how distorted your boundary can be. If you were to move the center node on top of a = vertex node, for example, the map from reference space to physical space = becomes noninvertible. In the code this appears as a negative (or 0) Jacobian values. For such elements you use the get_JxW() and get_xyz() (if you need the physical location of the integration points) to integrate a function. For more details on the smoothness requirements of quadratic elements = see "Computational Grids" by G.F. Carey. To see an interesting (but completely impractical) mesh with curved = boundary faces see http://cfdlab.ae.utexas.edu/~peterson/talks/bezier/ Finally, you probably only want curved sides on the physical domain, to = help approximate a curved boundary. Ben Original Message From: libmeshusersadmin@... [mailto:libmeshusersadmin@...] On Behalf Of Michael Schindler Sent: Tuesday, February 01, 2005 6:00 AM To: libmeshusers@... Subject: [Libmeshusers] nonsimplex elements Hello, I wonder if I can use nonsimplex elements in libmesh: Using a secondorder element  do the second order nodes actually have = to reside in the middle between two vertices? Or can I move them wherever = I want? Then, if I have such an element, is it correct to integrate simply = using a finite element and its get_JxW() method? Thanks, Michael. =20 Michael Schindler mail: Theoretische Physik I Universit=E4t Augsburg 86135 Augsburg email: michael.schindler@... http: http://www.physik.uniaugsburg.de/~schindmi Tel: +49 (0)821 5983230 Fax: +49 (0)821 5983222 "A mathematician is a device for turning coffee into theorems" Paul Erd=F6s.  This SF.Net email is sponsored by: IntelliVIEW  Interactive Reporting = Tool for open source databases. Create drag&drop reports. Save time by = over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download = a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ Libmeshusers mailing list Libmeshusers@... https://lists.sourceforge.net/lists/listinfo/libmeshusers 
From: Michael Schindler <mschindler@us...>  20050201 18:13:56

Hello Ben and John, On 01.02.05, KIRK, BENJAMIN (JSCEG) (NASA) wrote: > Sure... Examples 3 and 4 use 9noded biquadratic quadrilaterals in 2D. > Also, the middle node need not lie in the geometric center of the two > vertices. By default, the secondorder elements in libMesh are treated > isoparametrically, which allows them to approximate curved boundaries with a > quadratic line segment. thanks for the quick answer. I would like to solve a Stokes equation which is a vector equation. With higherorder elements the ChristoffelSymbols in the equation are not zero anymore. Is there an interface to get the ChristoffelSymbols, similar to the integrationweights? Michael.  "A mathematician is a device for turning coffee into theorems" Paul Erdös. 
From: John Peterson <peterson@cf...>  20050201 19:13:06

Michael Schindler writes: > Hello Ben and John, > > On 01.02.05, KIRK, BENJAMIN (JSCEG) (NASA) wrote: > > Sure... Examples 3 and 4 use 9noded biquadratic quadrilaterals in 2D. > > Also, the middle node need not lie in the geometric center of the two > > vertices. By default, the secondorder elements in libMesh are treated > > isoparametrically, which allows them to approximate curved boundaries with a > > quadratic line segment. > thanks for the quick answer. > > I would like to solve a Stokes equation which is a vector equation. > With higherorder elements the ChristoffelSymbols in the equation are > not zero anymore. Is there an interface to get the > ChristoffelSymbols, similar to the integrationweights? Hm...it sounds like you are some kind of winkydink mathematician or something ;) There's no interface like that in libmesh, in fact I've never heard of Christoffel symbols...are you solving some kind of problem on a nonEuclidean manifold? John 
From: Michael Schindler <mschindler@us...>  20050202 08:45:36

Hi, On 01.02.05, John Peterson wrote: > > On 01.02.05, KIRK, BENJAMIN (JSCEG) (NASA) wrote: > > > Sure... Examples 3 and 4 use 9noded biquadratic quadrilaterals in 2D. > > > Also, the middle node need not lie in the geometric center of the two > > > vertices. By default, the secondorder elements in libMesh are treated > > > isoparametrically, which allows them to approximate curved boundaries with a > > > quadratic line segment. > > thanks for the quick answer. > > > > I would like to solve a Stokes equation which is a vector equation. > > With higherorder elements the ChristoffelSymbols in the equation are > > not zero anymore. Is there an interface to get the > > ChristoffelSymbols, similar to the integrationweights? > > Hm...it sounds like you are some kind of winkydink mathematician > or something ;) There's no interface like that in libmesh, > in fact I've never heard of Christoffel symbols...are you solving > some kind of problem on a nonEuclidean manifold? No, the space is perfectly Euclidean. But I try to calculate a free surface boundary of a fluid governed by a Stokes equation. For this I need to take the geometry of the elements, i.e. the Euclidean coordinates of the nodes into account. Now, if we use arbitrary curved reference coordinates xi_1 and xi_2 for an element, then we may simply calculate the covariant derivatives of a scalar field phi as phi,i = dphi / dxi_i and we can get back to the Cartesian derivative in, let's say xdirection: dphi / dx = (dphi / dxi_i) g^{ij} (dx / dxi_j) with a sum over i and j. For a vecor field, however, the derivative is somewhat more complicated. We have to take into account that the base vector may change in the direction we want to calculate the derivative. So, if we have a velocity field in 2D (u,v) and want to calculate some derivatives of the first component, then we will get the changes of the coordinate system in that direction  they head in the direction of the second base vector  and get terms with v also. To summarize this, in curved coordinates there is a difference between a field that is really a vector (with two coordinates) and two scalar fields. In the derivatives they behave differently. Michael.  Michael Schindler mail: Theoretische Physik I Universität Augsburg 86135 Augsburg email: michael.schindler@... http: http://www.physik.uniaugsburg.de/~schindmi Tel: +49 (0)821 5983230 Fax: +49 (0)821 5983222 "A mathematician is a device for turning coffee into theorems" Paul Erdös. 