ABSTRACT: Code verification against analytical solutions is a prerequisite to code validation against experimental data. Though solid-mechanics codes have established basic verification standards such as patch tests and convergence tests, few (if any) similar standards exist for testing solid-mechanics constitutive models under nontrivial massive deformations. Increasingly complicated verification tests for solid mechanics are presented, starting with simple patch tests of frame-indifference and traction boundary conditions under affine deformations, followed by two large-deformation problems that might serve as standardized verification tests suitable to quantify accuracy, robustness, and convergence of momentum solvers used in solid-mechanics codes. These problems use an accepted standard of verification testing, the method of manufactured solutions (MMS), which is rarely applied in solid mechanics. Body forces inducing a specified deformation are found analytically by treating the constitutive model abstractly, with a specific model introduced only at the last step in examples. One nonaffine MMS problem subjects the momentum solver and constitutive model to large shears comparable to those in penetration, while ensuring natural boundary conditions to accommodate codes lacking support for applied tractions. Two additional MMS problems, one affine and one nonaffine, include nontrivial traction boundary conditions.
For a copy of the paper along an implementation of the vortex problem, see our simple matlab MPM code.
Here are some eye-catching graphics (see the paper itself for details):
NEWS FLASH: The print version of the Meyer-Brannon paper on statistical variation of fracture patterns in a continuum code (CTH) is now available at http://dx.doi.org/10.1016/j.ijimpeng.2010.09.007.
Perforation with Aleatory Uncertainty of high-pressure strength in an Eulerian Simulation.
K. Kamojjala, R. M. Brannon (2011)
Snapshot of the deformation in time
The principle of material frame indifference require spatial stresses to rotate with the material, whereas reference stresses must be insensitive to rotation. Testing of a classical uniaxial strain problem with superimposed rotation reveals that a very common approach to strong incremental objectivity taken in finite element codes to satisfy frame indifference(namely working in an approximate un-rotated frame) fails this simplistic test. A more complicated verification example is constructed based on the method of manufactured solutions (MMS) which involves the same character of loading at all points, providing a means to test any nonlinear-elastic arbitrarily anisotropic constitutive model.
R. M. Brannon and S. Leelavanichkul
Octahedral isosurfaces for a) the unacceptable, b) the admissible, and c) the admissible
Classical plasticity and damage models for porous quasi-brittle media usually suffer from mathematical defects such as non-convergence and nonuniqueness.Yield or damage functions for porous quasi-brittle media often have yield functions with contours so distorted that following those contours to the yield surface in a return algorithm can take the solution to a false elastic domain. A steepest-descent return algorithm must include iterative corrections; otherwise,the solution is non-unique because contours of any yield function are non-unique. A multi-stage algorithm has been developed to address both spurious convergence and non-uniqueness, as well as to improve efficiency. The region of pathological isosurfaces is masked by first returning the stress state to the Drucker–Prager surface circumscribing the actual yield surface. From there, steepest-descent is used to locate a point on the yield surface. This first-stage solution,which is extremely efficient because it is applied in a 2D subspace, is generally not the correct solution,but it is used to estimate the correct return direction.The first-stage solution is projected onto the estimated correct return direction in 6D stress space. Third invariant dependence and anisotropy are accommodated in this second-stage correction. The projection operation introduces errors associated with yield surface curvature,so the two-stage iteration is applied repeatedly to converge. Regions of extremely high curvature are detected and handled separately using an approximation to vertex theory. The multi-stage return is applied holding internal variables constant to produce a non-hardening solution. To account for hardening from pore collapse (or softening from damage), geometrical arguments are used to clearly illustrate the appropriate scaling of the non-hardening solution needed to obtain the hardening (or softening) solution.
For errata (transcription errors in two of the verification solutions), please see:
In a conventional MPM formulation, the shape functions on the grid are the same as in a traditional FEM solution. In the CPDI, the shape functions on the grid are replaced by alternative (and still linearly complete*) shape functions, given by piecewise linear interpolations of the traditional FEM shape functions to the boundaries of the particles. This change provides FEM-level accuracy in moderately deforming regions while retaining the attractive feature of MPM that particles can move arbitrarily relative to one another in massively deforming regions (provided, of course, that the deformation is updated in a manner compatible with the constitutive model).
In the images below, the shaded regions are the traditional FEM “tent” linear shape functions in 1-D, and the solid lines are the CPDI interpolated shape functions, which clearly change based on particle position relative to the grid. Both the traditional FEM tent functions and these new CPDI functions are linearly complete (i.e., they can exactly fit any affine function). The tremendous advantage of CPDI is that the basis functions are extraordinarily simple over a particle domain, thus facilitating exact and efficient evaluation of integrals over particle domains.
MMS stands for “Method of Manufactured Solutions,” which is a rather sleazy sounding name for what is actually a respected and rigorous method of verifying that a finite element (or other) code is correctly solving the governing equations.
A simple introduction to MMS may be found on page 11 of The ASME guide for verification and validation in solid mechanics. The basic idea is to analytically determine forcing functions that would lead to a specific, presumably nontrivial, solution (of your choice) for the dependent variable of a differential equation. Then you would verify a numerical solver for that differential equation by running it using your analytically determined forcing function. The difference between the code’s prediction and your selected manufactured solution provides a quantitative measure of error.
An overview book chapter of Computational Methods in Lagrangian and Eulerian Hydrocodes by David Benson.
You may download the rest of the document here.