Home‎ > ‎

Create Analytical Rigid Surfaces from ABAQUS ODB data

Analytical Rigid Surfaces in ABAQUS ODB data

The Analytical Rigid Surfaces (ARS) in Abaqus ODB files are
1D segments that are analytically extruded in Abaqus and
are used as rigid boundary condition surfaces.  These surfaces
are created as 1D segments using circular, parabolic or linear
segments that are rotationally extruded about an axis or 
translationally extruded using a direction vector.
The resulting surface formed from 2D elements can then be
used as rigid surfaces that provide rigid-body rotating and 
translating boundary conditions to ABAQUS models.

You must load the 1D segments into EnSight in order to see the 
Analytical Rigid Surfaces.  Loading these segments is accomplished
in the data reader dialog,
under the Format Options tab, toggle ON the 
 "Load Analytical Rigid Surface parts" to construct and load 
these 1D segments into EnSight using primitives read from the ODB file.
Each of these ARS parts is composed of a series of BAR2 elements 
created from segments using PARABOLA, CIRCLE or LINE constructs 
found in the ODB file.  So with this toggled on, one part for each
Analyitical Rigid Surface is loaded, and each part has a number of
1D BAR2 elements.  

The reader finds the closest ABAQUS point part collinear to the axis using float
matching and makes that the ARS reference point. Python Metadata is
sent up from the reader, internally pairing each ARS with a rigid
reference node,  with an axis, and an origin.

There are three types of thes ARS parts
  1. CYLINDER is a translational extrusion of all 
       segments in the local +/- z coordinate system direction
       from negative to positive infinity
   2. REVOLUTION data is a 360 deg rotational extrusion of all 
       segments about the local coordinate system z-axis.
   3. BSURF data is a collection of 2D segments in global 
       coordinate system that are considered rigid.

Each of these segments will be paired with a Rigid Reference node part 
from the ODB file, and the cylinder segment has a translational vector
and origin point used for translational extrusion, and the revolution
segment has a rotational axis vector and origin point.

As you change  timesteps these 1D ARS segments will translate
and rotate automatically using EnSight's Rigid Body Transformation
capabilities using the translation and rotation values from it's 
reference node (automatically without activating any variables).

These ARS 1D segments have no variables associated with them.
The EnSight undefined value is assigned to all variables on these
ARS parts.

These segments have python meta data that can be accessed 
within EnSight as follows:  

import ensight.objs as *
print core.PARTS[part_number].METADATA['ENS_ARS_Surface']

The ARS segment can be rotated or extruded using EnSight's 
Extrude function. The Python metadata, describing the axis,
it's origin, and rotation or translation can be used to automate
the typ of extrude, the origin, the direction and the axis.

A new feature added to the Extrude function
allows the Rigid reference node part to be the origin.  When
computational (server-side) displacements are turned on, then
the extruded part will move with the Rigid Reference Node.
You can manually do this with each ARS segment part, or you
can use the new Create ARS tool found in the User Defined 
Tools starting with the 10.0.2(a) distribution.

The tool automatically prompts you using a GUI for the
following three categories of data:

1. Rotational
a. total rotatinal angle (degrees) - use less than 360 so you can see the
    slot rotate (default 345 deg)
b. number of facets- Put a facet about every 5 degrees (default 70)

2. Translational
a. Extrusion scale factor - In case you want the surface to be larger
    (default 1.0)
b. Extrude both directions - In case you want the surface extruded in
    both the positive and the negative directions. (default TRUE)

3. Math stuff - Abaqus API returns floats which have rouding errors.
a. Tolerance - Used for determining if two points are the same
    (default (1e-4)
b. Float Zero - Use to round very small float values (default 1e-7)

Tool Input Requirements
a. You must have loaded the 1D ARS segment parts into EnSight.
In the data reader dialog, under the Format Options tab, toggle ON the 
 "Load Analytical Rigid Surface parts" to construct and load 
these 1D segments into EnSight.  Toggling on this option has the
side-effect of also loading Node parts (so you will have access to
the Rigid Reference Nodes corresponding to the ARS segments.
b. You don't need to select any parts when you run this tool.
It will automatically look for ARS segments and use the python
metadata to create the surfaces.
c. There are no variables of any kind needed to use this tool.

Run the tool, and fill in the GUI (try using the defaults unless you
know better) and it automatically finds all the ARS segments and their
metadata and turns on computational (server-side) displacement on each
of the reference nodes and then creates the appropriate rotational or 
translational extrusion and you have new EnSight extruded surface
parts with 2D elements created from the ARS 1D segments in the right way.

The Extruded surfaces moves with rigid body motion over time.

Why do you need the Reference Nodes to have Computational Server-Side
Displacement turned on?
You only need this for rotational extrusion.  Recall that the ARS 1D
segment is rotated and translated automatically.  Now imagine that you
create this extrusion about a fixed point.  As the segment translates,
and rotates, the size of the cylinder increases and decreases.  If you
rotate about a point that is also translating with the ARS segment
then the cylinder stays the same size.  You must first choose to the
new feature that allows extrusion about a part centroid, and also turn
on computational (server-side) displacements so the part displacements
are used in the server calculation of the extrusion.  This is probably
more than you want to know, and if you use the tool it is more than
you need to know.