Exodus: Difference between revisions
(Add pointer to draft document describing edge and face element API.) |
(A new version of the ALEGRA/EXODUS SAND report is out.) |
||
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
EXODUS is a finite element mesh and results file format based on [http://www.unidata.ucar.edu/software/netcdf/ netCDF]. The current programming interface is documented on the [http://endo.sandia.gov/SEACAS/Documentation/SEACAS.html Sandia Engineering Analysis Code Access System (SEACAS)] page. | EXODUS is a finite element mesh and results file format based on [http://www.unidata.ucar.edu/software/netcdf/ netCDF]. The current programming interface is documented on the [http://endo.sandia.gov/SEACAS/Documentation/SEACAS.html Sandia Engineering Analysis Code Access System (SEACAS)] page. | ||
VTK has a serial and parallel reader implementations for EXODUS data named vtkExodusReader and vtkPExodusReader, respectively. As changes are made to the EXODUS API, this reader must be kept up to date. Upcoming changes to the API are discussed below. | |||
==Gauss Point Data== | |||
Solid mechanics finite element techniques generally solve for the deflection of mesh nodes. The spatial derivative of these deflections yield the strain tensor. However, naively approximating strain with the gradient of nodal deflections is not as accurate as recovering strain at the Gauss points of each element. This yields more accurate strain values, but results in a strain field that is discontinuous across element boundaries. Many finite element packages store strain values at Gauss points in their output. In the past SALINAS and CALORE have not, however they will be doing so in the future. This draft [[Image:SAND-Salinas-20060612.pdf|SAND report]] outlines a naming scheme for Gauss point data in EXODUS databases. The vtkExodusReader class must be modified to "glom" Gauss point cell array field names properly, and eventually provide a way to visualize the resulting discontinuous interpolants. | |||
==Superelements== | |||
Solid mechanics finite element codes often reduce a set of differential equations to a large linear algebraic system. In some cases, collections of finite elements (called superelements) contain internal nodes that have no boundary conditions imposed on them and whose deflections are not of interest to whoever has posed the problem. The variables representing these unneccessary degrees of freedom (the internal nodes) can be eliminated from the stiffness matrix, reducing the size of the matrix inversion that must be performed. Superelements are particularly useful when the same structure appears many times throughout a finite element model. Several codes write superelements to EXODUS files. These elements are stored in their own Exodus block and are marked with a type of "SUPER" (as opposed to "HEX", "HEX27", etc.). Superelements have an arbitrary number of nodes in their connectivity array. Because there is not an easy way to perform interpolation (there is no guarantee of convexity), superelements should appear in ParaView in the same way as nodesets: vertices which can be glyphed and labeled. See [http://www.paraview.org/Bug/bug.php?op=show&bugid=3128&pos=7 Bug 3128] for an example mesh containing superelements. | |||
==Edge and Face Elements== | ==Edge and Face Elements== | ||
Extensions to the EXODUS API are proposed in this draft [[Image:SAND-Alegra- | Extensions to the EXODUS API are proposed in this draft [[Image:SAND-Alegra-20060615.pdf|SAND report]] that will allow values to be associated with edges and faces of finite elements (as well as with nodes and elements as the API already allows). |
Latest revision as of 20:43, 15 June 2006
Finite Element Database
EXODUS is a finite element mesh and results file format based on netCDF. The current programming interface is documented on the Sandia Engineering Analysis Code Access System (SEACAS) page.
VTK has a serial and parallel reader implementations for EXODUS data named vtkExodusReader and vtkPExodusReader, respectively. As changes are made to the EXODUS API, this reader must be kept up to date. Upcoming changes to the API are discussed below.
Gauss Point Data
Solid mechanics finite element techniques generally solve for the deflection of mesh nodes. The spatial derivative of these deflections yield the strain tensor. However, naively approximating strain with the gradient of nodal deflections is not as accurate as recovering strain at the Gauss points of each element. This yields more accurate strain values, but results in a strain field that is discontinuous across element boundaries. Many finite element packages store strain values at Gauss points in their output. In the past SALINAS and CALORE have not, however they will be doing so in the future. This draft File:SAND-Salinas-20060612.pdf outlines a naming scheme for Gauss point data in EXODUS databases. The vtkExodusReader class must be modified to "glom" Gauss point cell array field names properly, and eventually provide a way to visualize the resulting discontinuous interpolants.
Superelements
Solid mechanics finite element codes often reduce a set of differential equations to a large linear algebraic system. In some cases, collections of finite elements (called superelements) contain internal nodes that have no boundary conditions imposed on them and whose deflections are not of interest to whoever has posed the problem. The variables representing these unneccessary degrees of freedom (the internal nodes) can be eliminated from the stiffness matrix, reducing the size of the matrix inversion that must be performed. Superelements are particularly useful when the same structure appears many times throughout a finite element model. Several codes write superelements to EXODUS files. These elements are stored in their own Exodus block and are marked with a type of "SUPER" (as opposed to "HEX", "HEX27", etc.). Superelements have an arbitrary number of nodes in their connectivity array. Because there is not an easy way to perform interpolation (there is no guarantee of convexity), superelements should appear in ParaView in the same way as nodesets: vertices which can be glyphed and labeled. See Bug 3128 for an example mesh containing superelements.
Edge and Face Elements
Extensions to the EXODUS API are proposed in this draft File:SAND-Alegra-20060615.pdf that will allow values to be associated with edges and faces of finite elements (as well as with nodes and elements as the API already allows).