A finite-strain elastoplastic version of this tutorial is also available insolids4foam at tutorials/elastoplasticity/cooksMembrane
Cook's membrane is a well-known bending-dominated benchmark case. The tapered panel (trapezoid) is fixed on one side and subjected to uniform shear traction on the opposite side. The prescribed shear traction is 6.25 MPa. The vertices of the trapezoid (in mm) are (0, 0), (48, 44), (48, 60), and (0, 44), as shown in Figure 1. The Young's modulus is 70 MPa, and the Poisson's ratio is 1/3. Gravitation effects are neglected, and there are no body forces. The problem is solved as static, using one loading increment.
Figure 1: Problem geometry
Table 1 summarises predictions from various finite element codes for the top-right corner vertical displacement [1]. For the mesh consisting of \(20 \times 20\) cells, the solids4foam
prediction is 32.12 mm (using foam-extend-4.1
). As the mesh is refined, the solids4foam
prediction converges to the values reported in Table 1.
Table 1: Finite element predictions for the top-right corner vertical displacement, reported at CoFEA [1]
Solver | Very Fine Quadratic Mesh (in mm) | Very Fine Tetrehedral Mesh (in mm) |
---|---|---|
Calculix | 32.27 | 32.27 |
Code_Aster | 32.20 | 32.20 |
Elmer | 32.28 | 32.27 |
In the solids4foam
case, the vertical displacement at the top right corner is extracted using the solidPointDisplacement
function object placed in the controlDict
:
functions
{
pointDisp
{
type solidPointDisplacement;
point (0.048 0.060 0);
}
}
The solidPointDisplacement
function finds the mesh vertex nearest to the specified point
and writes the displacement of this vertex to postProcessing/0/solidPointDisplacement_pointDisp.dat
.
The tutorial case is located at solids4foam/tutorials/solids/linearElasticity/cooksMembrane
. The case can be run using the included Allrun
script, i.e. > ./Allrun
. In this case, the Allrun consists of creating the mesh using blockMesh
(> ./blockMesh
) followed by running the solids4foam
solver (> ./solids4Foam
).