FEM Elasticity#
The following tutorial assumes that a sufficient-quality volumetric mesh has been generated with segmented regions to apply boundary conditions.
Formulation#
Elasticity is a 3-DOF small-displacement model, currently fit for isotropic ductile materials. Continuous Galerkin constructs the spatial solution using piecewise shapefunctions. The elliptic PDE is posited in linear matrix weak form using Displacement components as the degrees-of-freedom (DOF). Local small Strains are solved using a hardware-accelerated stabilized biconjugate gradient solver. Then, a gradient operator resolves the Strain|Gradient, permitting calculation of the CauchyStress tensor, and the von MisesStress scalar.
Materials#
Elasticity FEM requires the following material properties:
Mass|DensityYoungsModulusPoisson|Ratio
Varying material properties can be applied to different volumes. If materials are not defined for a volume region, properties default to the physical constants for that system.
Initial Conditions#
For transient problems, an initial state must be defined. Transient functionality for elasticity FEM is a work-in-progress.
Boundary Conditions#
For Elasticity FEM, it is not required to set boundary conditions on all surfaces.
Use
NAN(not-a-number) to omit one or more components of a boundary condition (leaving that specific DOF free).Ensure that the problem is sufficiently constrained in the XYZ directions, else the solver will not converge! (We will add helpers as time permits.)
Dirichlet (value)#
Displacement asserts XYZ position onto a surface in linear length units of m (or mm if the geometry is in mm).
Symmetry can be asserted in the X,Y, and/or Z directions (on a flat plane, such a sectional cut defined) by setting the Displacement for the symmetric component(s) to 0 (and NAN otherwise). For example, to set a symmetry in the Y direction we set a displacement condition Displacement={NAN, 0, NAN}.
Neumann (gradient)#
Stress asserts a load as a strain gradient vector scaled by the Young’s Modulus, units in N/m2 aka Pa.
Pressure asserts a load as a scalar static normal to the surface scaled by the Young’s Modulus, units in N/m2 aka Pa.
Robin (composite)#
Traction asserts a load as a strain and stiffness of an external finite-stiffness material with known grip, in units of m (or mm) and N/m.
Solvers#
Once physics and conditions are defined, an adjacency matrix A is assembled representing the behavior of the system. An interleaved residual vector b is also defined. In preparation for solution v, linear operations are performed to manipulate the matrix and residual vector into a solvable system-of equations of form A*v = b.
The BiCGSTAB (Biconjugate Gradient Stabilized) method solves such multi-DOF formulations on the available GPU within a tolerance defined by maximum double-precision tolerance, usually on order of Convergence in compute.cfg1e-16.
Steady-State#
Linear Steady State converges upon the solution for t->infinity.
Transient#
Linear Newmark converges upon the solution iteratively in time with timestep defined in the solver settings. However, transient integration is a work-in-progress for FEM elasticity and is not supported at this time.