Orientation and transformation of solid elements

The model is a simple cube with dimensions 1x1x1. The mesh contains only one single element of type C3D8R.

An orthotropic material with the following enginnering constants is assigned to the cube:

In [1]:
m1 = {'name': 'orth-demo', 'units':'MPa-mm-Mg',
      'E1':150000, 'E2':20000, 'E3':10000,
      'v12':0.3,    'v13':0.4,  'v23':0.5,
      'G12':5000,   'G13':4000, 'G23':3000 }

Computing the stiffness matrix of the material:

In [2]:
from compositelib import C3D

C=C3D(m1)

import numpy as np
print(np.array2string(C, precision=0, suppress_small=True, separator='  ', floatmode='maxprec_equal') )
[[155448.    9475.    6514.       0.       0.       0.]
 [  9475.   23435.    6111.       0.       0.       0.]
 [  6514.    6111.   11702.       0.       0.       0.]
 [     0.       0.       0.    3000.       0.       0.]
 [     0.       0.       0.       0.    4000.       0.]
 [     0.       0.       0.       0.       0.    5000.]]

Material orientation of the FEA model by a 30 degree rotation about the z-axis:

Consider the following state of strains in the global coordinate system:

\begin{equation} \begin{bmatrix} \varepsilon_x \\ \varepsilon_y \\ \varepsilon_z \\ \gamma_{yz} \\ \gamma_{xz} \\ \gamma_{xy} \end{bmatrix}= \begin{bmatrix} 0.01 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \end{bmatrix} \end{equation}
In [3]:
strainXYZ = [0.01, 0, 0, 0, 0, 0]

Computing strains and stresses in the material coordinate system:

In [4]:
from compositelib import T3Dez

strain123 = np.dot(T3Dez(30),strainXYZ)
print(np.array2string(strain123, precision=4, suppress_small=True, separator='   ', floatmode='maxprec_equal') )
[ 0.0075    0.0025    0.0000    0.0000    0.0000   -0.0087]
In [5]:
stress123 = np.dot(C, strain123)
print(np.array2string(stress123, precision=1, suppress_small=True, separator='   ', floatmode='maxprec_equal') )
[1189.5    129.6     64.1      0.0      0.0    -43.3]

Imposing boundary conditions (displacements) on the FEA model corresponding to the global strains, creating a job and solve:

By default, Abaqus/CAE displays element-based field output results of element with explicit orientation in the material coordinate system. Hence, we compare the stress output results from the FEA model with the previous stress123 variable:

In [6]:
print(np.array2string(stress123, precision=1, suppress_small=True, separator='   ', floatmode='maxprec_equal') )
[1189.5    129.6     64.1      0.0      0.0    -43.3]

Conclusion: OK!

TOC Next Prev

Disclaimer:This site is designed for educational purposes only. There are most likely errors, mistakes, typos, and poorly crafted statements that are not detected yet... www.ntnu.edu/employees/nils.p.vedvik

Copyright 2024, All rights reserved