## 1. Introduction

The continuum elements are designed for static and dynamic analysis, linear, material-nonlinear, and geometric-nonlinear analysis (a Total-Lagrangian approach is employed to account for geometric nonlinearities). The two-dimensional elements support plane-stress and plane-strain assumptions (whether the element will be used for plane-stress or plane-strain analysis, must be indicated in the material definition). Many of the three-dimensional elements support laminates. The mixed elements are implemented according to [Sussman87] and [Bathe96] and can be applied to quasi-incompressible materials.

## 2. Element Types

The following element types are available:

Table 12. Two-dimensional Continuum Elements for Stress Analysis

Element type Remarks
T3.S.2D.TL Pure-displacement formulation.
T6.S.2D.TL Pure-displacement formulation.
T6.S.2D.UP3 Mixed formulation with linear internal pressure field. Passes the inf-sup test.
Q4.S.2D.TL Pure-displacement formulation.
Q4.S.2D.E4 Enhanced-assumed strain (EAS) formulation with four incompatible modes.
Q4.S.2D.UP1 (B2000++ Pro) Mixed formulation with constant internal pressure field. Does not pass the inf-sup test.
Q8.S.2D.TL Pure-displacement formulation.
Q8.S.2D.UP1 (B2000++ Pro) Mixed formulation with constant internal pressure field. Passes the inf-sup test.
Q9.S.2D.TL Pure-displacement formulation.
Q9.S.2D.UP3 (B2000++ Pro) Mixed formulation with linear internal pressure field. Passes the inf-sup test.

Table 13. Three-dimensional Continuum Elements for Stress Analysis

Element type Remarks
TE4.S.TL Pure-displacement formulation.
TE10.S.TL Pure-displacement formulation.
TE10.S.UP4 (B2000++ Pro) Mixed formulation with linear internal pressure field. Passes the inf-sup test.
PR6.S.TL Pure-displacement formulation. Supports laminates.
PR15.S.TL Pure-displacement formulation. Supports laminates.
HE8.S.TL Pure-displacement formulation. Supports laminates.
HE8.S.E9 Enhanced-assumed strain (EAS) formulation with nine incompatible modes. Supports laminates.
HE8.S.UP1 (B2000++ Pro) Mixed formulation with constant internal pressure field. Does not pass the inf-sup test.
HE20.S.TL Pure-displacement formulation. Supports laminates.
HE20.S.UP1 (B2000++ Pro) Mixed formulation with constant internal pressure field. Passes the inf-sup test.
HE27.S.TL Pure-displacement formulation. Supports laminates.
HE27.S.UP4 (B2000++ Pro) Mixed formulation with linear internal pressure field. Passes the inf-sup test.

The following points are worth noting:

• All elements are isoparametric. The nodal degrees-of-freedom are the displacements. All elements pass the MacNeal-Harder patch test (i.e. they can represent a constant strain field exactly).

• The elements Q4.S.2D.E4 and HE8.S.E9 may exhibit instabilities in nonlinear analysis, due to the incompatible modes. Elements of these types should not be significantly distorted.

• When using mixed elements with quasi-incompressible materials, the global stiffness matrix becomes nearly non-definite. The default sparse linear solver, dmumps, can handle such matrices, but other sparse linear solvers may not work (see Sparse Linear Solvers).

## 3. Required Element Attributes

mid m

Specifies the element material number m. The elements can process materials of the following types:

Material type Supported by
anisotropic All 3D elements
blatz_ko All 3D elements
isotropic All
laminate PR6.S.TL, PR15.S.TL, HE8.S.TL, HE8.S.E9, HE20.S.TL, HE27.S.TL
mooney_rivlin All 3D elements
orthotropic All 3D elements
viscoelastic_isotropic 3D elements with pure-displacement formulation
viscoelastic_orthotropic 3D elements with pure-displacement formulation

## 4. Optional Element Attributes

group gid

Defines the element group number gid (a non-negative integer number). The default group number is 0. The same definition will be used for all elements defined hereafter, until a new group option is encountered or until the eltype command is specified.

morientation default

Specifies the default material orientation which is aligned with the branch-global reference frame.

morientation ... end

Specifies the material orientation. This can be done in one of several ways.

The first way is to specify a base with two vectors, from which an orthogonal reference frame is constructed (the base specified base vectors do not need to be orthogonal, but they must not be colinear). The following operations are optional: The reference frame can be rotated about one of its axes. One of the axes can then be projected onto the element reference surface to construct an orthogonal reference frame whose Z-axis is aligned with the element normal. Finally, the reference frame can be rotated again about its Z-axis:

morientation   base u1 u2 u3  v1 v2 v3   [rotate axis X|Y|Z angle a]   [project axis X|Y|Z]   [rotate angle a] end

The second way specifies a transformation, from which an orthogonal reference frame for the coordinates of the element integration point is calculated. The following operations are optional: The reference frame can be rotated about one of its axes. One of the axes can then be projected onto the element reference surface to construct an orthogonal reference frame whose Z-axis is aligned with the element normal. Finally, the reference frame can be rotated again about its Z-axis:

morientation   transformation id   [rotate axis X|Y|Z angle a]   [project axis X|Y|Z]   [rotate angle a] end

The third way specifies a vector which is projected onto the reference surface (which is defined by the element-local X- and Y-axes), to construct an orthogonal reference frame whose Z-axis is aligned with the element-local Z-axis. This reference frame can then be rotated about the Z-axis:

morientation   vector u1 u2 u3   [rotate angle a] end

Another possibility is to use the element-local reference frame as calculated at the element integration point. This reference frame can be rotated about the Z-axis:

morientation   element   [rotate angle a] end

The rotation angles are specified in degrees. When using laminate materials, a final rotation about the ply angle performed automatically. For the projection, it is necessary that the projected axis or vector is not colinear with the shell surface normal.

To visualize with baspl++ the material orientations as calculated at the element integration points, an analysis (for example linear) needs to be run, and with the option gradients enabled. This will write the dataset MBASE_IP to the database which can be visualized by means of the following script:

if len(sys.argv) != 2:
print 'usage: baspl++ %s database' % sys.argv[0]
sys.exit(1)

m = Model(sys.argv[1])
p = NPart(m)
p.face.show = False
p.edge.show = True
p.elements.extract = 1
f = Field(m, 'MBASE_IP', case_index=0, cycle_index=0)
p.sampling.field = f

## 5. Stresses and Strains

Stresses, strains, and any failure criteria which are stored on database, are computed at the integration points ("Gauss" points) which are used by the element to compute the first and second variations. The stresses and strains which are stored on database are all expressed in the branch-local coordinate system. For linear analysis, the strains and stresses stored on the database are the "engineering" stresses and strains. For nonlinear analysis, the strain is the Green-Lagrange strain, while the stress is the Cauchy stress.

For the two-dimensional elements, stresses and strains that are stored on the database are expanded to 3D. For plane-stress analysis, the transversal strain (ε33) is computed, and for plane-strain analysis, the transversal stress (σ33) is computed.

The prismatic and the hexahedral elements support laminate materials (in similar fashion as the shell elements do). In case of laminate materials, the integration scheme is applied to each layer separately. This may result in a large number of integration points per element. For instance, for a hexahedral element HE27.S.TL using the default integration rule GAUSS3X3X3 and a laminate consisting of 10 layers, the number of integration points is 270. When the number of layers is greater than 3 or 4, the integration rule GAUSS3X3X1 (9 integration points per layer instead of 27) can be used instead. See also Section 6.

## 6. Integration Rules

By default, for each element, the appropriate integration rule (or integration scheme) is automatically chosen. This can be overridden by means of the MDL command ischeme. The type of integration rule depends on the element type (for example, integration rules for triangles cannot be applied to quadrilateral elements). The command ischeme default sets the default integration rule. Example:

elements
eltype Q4.S.2D.TL
mid 1
ischeme GAUSS3X3
1  1 2 5 6
ischeme GLL4X4
2  2 3 6 7
ischeme default
3  3 4 7 8
end

The following integration rules are available:

ischeme TRIANGo

Integration rule for triangular elements, where o is one of 1-20 and designates the maximum order to which monomials can be integrated exactly:

x a y b d x d y ; a + b o

The number of integration points ranges depends on o and is between 1 to 79.

ischeme TETRAo

Integration rule for tetrahedral elements, where o is one of 1, 2, 3, 4, 5, 6, and designates the maximum order to which monomials can be integrated exactly:

x a y b z c d x d y d z ; a + b + c o

The number of integration points is 1, 4, 5, 14, 15, 24, respectively.

ischeme GAUSSn1[Xn2[Xn3]], ischeme GLLn1[Xn2[Xn3]]

n1[*n2[*n3]]-point Gauss-Legendre or Gauss-Legendre-Lobatto tensor-product integration rules for line elements, quadrilateral elements, and hexahedral elements, respectively. The number ni (1-32)[8] of integration points defines the maximum order of integration oi for each element-internal direction o i = 2 n i - 1 and o i = 2 n i - 3 for Gauss-Legendre and Gauss-Legendre-Lobatto, respectively.

ischeme TRIANGo_GAUSSn, ischeme TRIANGo_GLLn

Tensor-product integration rule for prism elements, where o is one of 1-20 and designates the order to which monomials can be integrated exactly in-plane, and n is the number of integration points for the GAUSS or GLL rule in vertical direction.

[8] Due to the limited numerical precision the CPU (15-16 decimal places), Gauss-Legendre and Gauss-Legendre-Lobatto integration rules with ni greater than 15 are inaccurate, the error increasing with the number of integration points.