Personal tools
You are here: Home / Software / Simulation / XNS / XNS Shape Functions

XNS Shape Functions

This page describes the implementation of finite element shape function subroutines in XNS. See also the list of supported elements.

Conversion Notes

A Bit of History

In the beginning, there was a single shape function subroutine, that evaluated the shape function values (subsequently referred to as level A), Jacobian determinant (level B), and shape function derviatives (level C) for a single quadrilateral element at a single quadrature point. That was nice, but not terribly efficient. When XNS was converted to Connection Machine Fortran, the subroutine would compute entire arrays of values over all elements at a single quadrature point. Since some systems required level A only, some levels A and B, and yet others levels A, B and C, the subroutine was divided into these three parts. Later, level P was introduced as alternative to level B for computing directional Jacobians for elements lying in higher-dimensional space, e.g. quads in 3D. All this involved a lot of scratch element-level arrays, but that was the way to do it on the CM. When porting XNS back to standard Fortran with MPI, the basic architecture was retained, but since in mid-90's memory was a main bottleneck, the scratch arrays were elliminated and replaced by element-level scalars. Frequent subroutine calls (once per quad point per element) were avoided by using include files instead. That was fast, but very inflexible. In 2003, the subroutine calls were reintroduced, but made to compute all quad point values at once for a given element. That seems to provide a good balance between computation speed and intermediate storage requirements.

« May 2013 »
May
MoTuWeThFrSaSu
12345
6789101112
13141516171819
20212223242526
2728293031
Upcoming Events
Marine 2013 May 29, 2013 - May 31, 2013 — Hamburg, Germany
MPF 2013 Jun 11, 2013 - Jun 14, 2013 — Sardinia, Italy
Coupled Problems 2013 Jun 17, 2013 - Jun 19, 2013 — Ibiza, Spain
USNCCM 12 Jul 22, 2013 - Jul 25, 2013 — Raleigh, North Carolina
GACM 2013 Sep 30, 2013 - Oct 02, 2013 — Hamburg, Germany
Upcoming events…