The latest version of elastic code is given by NeoHookean_FinalVersion_Jul7.nb
I refer the theory and implementation of the neo-Hookean solid model from Prof. Bower's Applied Mechanics of Solid book.
Some important implementation details are list below:
- I use
FEMAddOns
package to import Abaqus mesh. For installation of the package, see instructions here - I do not use
Notation
package, which cannot be loaded on remote kernels (Brown's CCV). Therefore, it can be directly converted to a Wolfram Language Script (.wls) file and ran on CCV. The cons is that no subscriptions on symbol can be used. To run it on CCV, uncomment the first cell and commentdir = NotebookDirectory[]; SetDirectory[dir]
in the second cell. - I applied Selectively Reduced Integration to avoid volumetric locking. Basically, volumetric part of element stiffness and residual integral is evaluated using the full integration scheme while the deviatoric part is evaluated using reduced integration points. See here for more details.
- Like the FEA-Viscoplasticity project, the code automatically works for both 2D and 3D geometry and hybrid types of mesh elements.
PlotMeshBC
can be used to visualize the mesh and boundary conditions.- I fixed a bug from the previous code. In
ApplyTraction
function, traction boundary conditions are applied on edges (faces for 3D problem). Traction components should be specified as well. Otherwise, tractions can be over-counted.
and more ...