Quantcast
Viewing all articles
Browse latest Browse all 18

A Finite Element Analysis Environment for Solid Mechanics

823252020-12-01T09:37:11Z2020-12-01T09:37:11Z

- EDGE, QUAD, AND HEX ELEMENTS IN 2 AND 3 DIMENSIONS- SEVERAL TOOLS FOR DEVELOPING FE MESHES, INCLUDING AUTOMATED RECTILINEAR MESH GENERATORS- SUPPORTS SUBDOMAINS - COMBINE DIFFERENT ELEMENT TYPES WITH DIFFERENT PROPERTIES IN ONE MODEL- SIMPLE, OBJECT-ORIENTED UI FOR APPLYING BOUNDARY CONDITIONS AND ASSEMBLING SYSTEMS OF EQUATIONS- DISPLACED MESH PLOTS WITH COLOR CODED CONTOURS FOR FIELD VARIABLESThe Finite Element Method (FEM) is a means for solving ordinary or, more often, partial differential equations, which are continuous over a given domain. These equations are often difficult and, sometimes, even impossible to evaluate analytically, and the geometry of their domains may be of any arbitrary, complex shape. The FEM may closely approximate the solutions to these equations and, in certain cases, it may produce an exact solution.In the FEM, solutions to differential equations are assumed to take on a certain form. Problem domains are discretized into an irregular (or regular) grid, known as a mesh, and the assumed solution functions (interpolations) are evaluated at special points on that grid space. As with any approximation to some real function, the more discrete points at which evaluations are made, the more precise the approximate solution.The equation which governs the mechanics of elastoplastic solids when subject to a boundary-value problem consisting of external forces and various types of physical restraints is the divergence of stress: $\nabla \cdot \sigma = F_{ext} \in \Omega$, where $\Omega$ is a spatial domain of arbitrary shape. This program approximates solutions to this equation in its many familiar forms using the FEM. The system of equations, $\mathbf{K} Q = F$, that solves the displacement field, $Q$, was derived from the strong form of the stress divergence equations by using a mix of Galerkin's Method (virtual work) and the Principle of Minimum Potential Energy. Integration is handled numerically using Gauss quadrature rules.This package contains some of the most common types of finite elements used for structural analysis in both two and three dimensions. It provides several tools for setting up problem inputs in a clean and general fashion. There is also a flexible plot generator that renders the deformed FE mesh with color-coded contours for user-specified field variables. Users are encouraged to run some of the files in the root directory, which demonstrate various capabilities and how this code solves problems in an object-oriented fashion. Note that all current tests have been verified against either an analytical solution or examples in the literature.CURRENT ELEMENTS---------------------------------B2D2: 2-node cubic Euler-Bernoulli plane frameC3D8: 8-node linear brick (fully-integrated)CPS4: 4-node linear plane stressR2D2: 2-node rigid linkRB2D2: 2-node rigid plane frameRB3D2: 2-node rigid space frameSB2D2: 2-node cubic Timoshenko plane frameSB3D2: 2-node cubic Timoshenko space frameT2D2: 2-node linear plane trussT3D2: 2-node linear space trussThe methods used are currently limited to quasistatic, linear elastic, small strain analysis and are capable of handling only the most simple boundary-value problems. However, my hope is to eventually add more advanced capabilities. This program is not intended for professional purposes. I think it could be most useful as a learning apparatus, a way to conduct quick and cheap numerical experiments, or to verify hand-calculations. Engineering students may also find it helpful for studying or solving homework problems.If you have questions or comments, please feel free to contact me. I am happy to assist with issues and take any and all feedback into consideration so that I may provide improvements. Please let me know if there are certain features that you would like to see implemented, and I'll prioritize those or work together with you on their development.GALLERY---------------------------------Combine different element types to solve interesting boundary-value problems.https://github.com/crswong888/scorpion/blob/master/miscellaneous/matlab/felab/felab/gallery/CPS4_pinned.pngVisualize bending of beams.https://github.com/crswong888/scorpion/blob/master/miscellaneous/matlab/felab/felab/gallery/B2D2_test.pngGenerate plots with various styles and render contours for different degrees-of-freedom.https://github.com/crswong888/scorpion/blob/master/miscellaneous/matlab/felab/felab/gallery/CPS4_test.pngCreate models of truss structures with complex member configurations and arbitrary support and loading conditions.https://github.com/crswong888/scorpion/blob/master/miscellaneous/matlab/felab/felab/gallery/T2D2_test.pngSolve and learn more about classical structural analysis problems.https://github.com/crswong888/scorpion/blob/master/miscellaneous/matlab/felab/felab/gallery/beam_frame.png


Viewing all articles
Browse latest Browse all 18

Trending Articles