**6. Conclusions**

The early phase developing of finite elements can be a lengthy and error prone processes involving the use of different tools. The MATLAB® symbolic approach here presented can be effectively used to test a produce new finite element formulation reducing a lot the distance between the formulation and its actual implementation. In order to be more illustrative the presentation regarded basic solid mechanics finite elements, a truss, tetrahedral and plane quadrangular element, but the developing of finite elements for more specific engineering applications is an objective worth to be pursued and it is the subject of the author's current work.

The weakness of the proposed approach is the low performance of the final codes making difficult the analysis of real sized problems by using common hardware resources which, however, are adequate if small but significative test cases are chosen. A workaround, already tested by the author but not presented here, is the generation and storing on files of MATLAB® functions for the evaluation of the element operators. This must happens before, and one time for all, the execution of the analysis. The MATLAB® functions so obtained can be called during the analysis for evaluating the required finite element operators avoiding the calls to timeconsuming function subs. Anyway the tuning of this operation is less automatic because the generation of the required MATLAB® functions can be, depending on the size of the operator to be translated into a MATLAB® function, time consuming, specially if the optimization flag is active. Then techniques quite common in the field of the symbolic and /or algorithmic differentiation should be exploited for the most intricate cases.

### **A. Appendix**

#### **A.1 Tetrahedron reference configuration operator inversion**

The problem of the evaluation of the inverse of matrix *<sup>∂</sup> <sup>X</sup> <sup>∂</sup> <sup>ζ</sup>* present in Eq. (11) is circumvented by evaluating the Jacobian of the following system of equations

$$\begin{aligned} \mathbf{1} &= \zeta\_1 + \zeta\_2 + \zeta\_3 + \zeta\_4\\ \mathbf{X}(\zeta\_1, \zeta\_2, \zeta\_3, \zeta\_4) &= \zeta\_1 \mathbf{X}\_1 + \zeta\_2 \mathbf{X}\_2 + \zeta\_3 \mathbf{X}\_3 + \zeta\_4 \mathbf{X}\_4 \end{aligned} \tag{33}$$

whose linearisation gives

$$
\begin{bmatrix} \mathbf{0} \\ d\mathbf{X} \end{bmatrix} = \begin{bmatrix} \mathbf{1} & \mathbf{1} & \mathbf{1} & \mathbf{1} \\ \mathbf{X}\_1 & \mathbf{X}\_2 & \mathbf{X}\_3 & \mathbf{X}\_4 \end{bmatrix} [d\zeta]. \tag{34}
$$

By inverting this relationship, i. e.

$$\begin{aligned} \begin{bmatrix} d\boldsymbol{\zeta} \end{bmatrix} = \begin{bmatrix} 1 & 1 & 1 & 1 \\ \mathbf{X}\_{1} & \mathbf{X}\_{2} & \mathbf{X}\_{3} & \mathbf{X}\_{4} \end{bmatrix}^{-1} \begin{bmatrix} \mathbf{0} \\ d\mathbf{X} \end{bmatrix} = \begin{bmatrix} -\frac{\partial \zeta\_{1}}{\partial \mathbf{X}\_{1}} & \frac{\partial \zeta\_{1}}{\partial \mathbf{X}\_{2}} & \frac{\partial \zeta\_{1}}{\partial \mathbf{X}\_{3}} \\\\ -\frac{\partial \zeta\_{2}}{\partial \mathbf{X}\_{1}} & \frac{\partial \zeta\_{2}}{\partial \mathbf{X}\_{2}} & \frac{\partial \zeta\_{2}}{\partial \mathbf{X}\_{3}} \\\\ -\frac{\partial \zeta\_{3}}{\partial \mathbf{X}\_{1}} & \frac{\partial \zeta\_{3}}{\partial \mathbf{X}\_{2}} & \frac{\partial \zeta\_{3}}{\partial \mathbf{X}\_{3}} \\\\ -\frac{\partial \zeta\_{4}}{\partial \mathbf{X}\_{1}} & \frac{\partial \zeta\_{4}}{\partial \mathbf{X}\_{2}} & \frac{\partial \zeta\_{4}}{\partial \mathbf{X}\_{3}} \end{bmatrix} \begin{bmatrix} \mathbf{0} \\ d\mathbf{X} \end{bmatrix}. \end{aligned} (35)$$

the evaluation of the desired 4 � 3 matrix, *<sup>∂</sup><sup>X</sup> ∂ζ* � ��<sup>1</sup> , is obtained. Moreover the volume of the tetrahedron in its reference configuration is an additional result thanks to relationship

$$
\delta V = \det\begin{bmatrix}
1 & 1 & 1 & 1 \\
X\_1 & X\_2 & X\_3 & X\_4
\end{bmatrix}.
\tag{36}
$$

*A MATLAB-Based Symbolic Approach for the Quick Developing of Nonlinear Solid Mechanics… DOI: http://dx.doi.org/10.5772/intechopen.94869*
