Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

sdynpy.fem.sdynpy_exodus.reduce_exodus_to_surfaces

Signature

def sdynpy.fem.sdynpy_exodus.reduce_exodus_to_surfaces(fexo, blocks_to_transform=None, variables_to_transform=None, keep_midside_nodes=False, verbose=False)

Convert exodus finite element models to surface elements

This function converts specified volume meshes in an exodus file to surface meshes to ease computational complexity.

Parameters

Returns

Notes

TO ADD MORE ELEMENT TYPES, we need to define a volume element name that we will find in the exodus file, for example ‘tetra4’ or ‘hex20’, the number of nodes per face on the element, and a connectivity matrix that specifies how the faces are made from the nodes of the element. For example a hex8 element has the following structure::

      8--------------7
     /|             /|
    / |            / |
   /  |           /  |
  5--------------6   |
  |   4----------|---3
  |  /           |  /
  | /            | /
  |/             |/
  1--------------2

So the 6 faces are as follows::

1,2,6,5 2,3,7,6 3,4,8,7 4,1,5,8 4,3,2,1 5,6,7,8

We create the element face connectivity by simply mashing these together one after another like so: 1,2,6,5,2,3,7,6,3,4,8,7,4,1,5,8,4,3,2,1,5,6,7,8 We lastly need to specify what we are turning the element into, in this case, quad4. So we add an entry to the reduce_element_types, reduce_element_nodes_per_face, reduce_element_face, and reduce_element_substitute_type variables containing this information hex8::

reduce_element_types{4} = 'hex8'
reduce_element_nodes_per_face{4} = 4
reduce_element_face{4} = [1,2,6,5,2,3,7,6,3,4,8,7,4,1,5,8,4,3,2,1,5,6,7,8]
reduce_element_substitute_type{4} = 'quad4'

To see what other elements look like, see page 18 of the exodusII manual: http://prod.sandia.gov/techlib/access-control.cgi/1992/922137.pdf