Thick-walled spherical pressure vessel
1 Objective
Verify Coreform IGA for Abaqus on a doubly curved three-dimensional problem whose solution is known exactly: a thick-walled sphere loaded by internal pressure. The Lamé closed-form solution gives the displacement and stress at every point in the structure, so the numerical solution is checked against exact values throughout the three-dimensional domain, and there is no separate reference solve to introduce its own approximation. The quantities of interest are the volume-integrated relative global \(L^2\) errors of the displacement vector, radial displacement, radial stress, and tangential stress.
2 Geometry
One octant of a hollow sphere with inner radius \(a\) and outer radius \(b\) is shown in Figure 1, with its dimensions provided in Table 1. The octant is oriented so the three cut faces lie on the coordinate planes. By spherical symmetry the octant with symmetry conditions represents the full sphere exactly.
| Quantity | Symbol | Value |
|---|---|---|
| Inner radius | \(a\) | 0.9 |
| Outer radius | \(b\) | 1 |
| Wall thickness | \(b - a\) | 0.1 |
3 Material
The sphere is a homogeneous, isotropic, linear-elastic material (Table 2). The model is nondimensional: the modulus and pressure set the scale of the displacement solution but cancel from the relative-error metrics.
| Property | Symbol | Value |
|---|---|---|
| Young’s modulus | \(E\) | 1 |
| Poisson’s ratio | \(\nu\) | 0 |
4 Loading & boundary conditions
A uniform pressure \(p_i\) acts on the inner surface; the outer surface is traction-free (Table 3). The three cut faces carry symmetry conditions (zero normal displacement) on the \(x\), \(y\), and \(z\) coordinate planes, which restrain rigid-body motion and complete the octant model of the full sphere.
| Quantity | Symbol | Value |
|---|---|---|
| Inner pressure | \(p_i\) | \(1.00 \times 10^{-6}\) |
| Outer pressure | \(p_o\) | 0 |
5 Mesh & discretization
Coreform IGA discretizes the octant with immersed, trimmed U-splines: a structured rectilinear background grid is trimmed to the curved shell rather than body-fitting a mesh to it, so the spherical surfaces cut arbitrarily through the grid cells. The background element size is \(h = 0.1/2^{k}\) for refinement levels \(k = 0, 1, 2\), at degrees \(p = 1\), \(2\), and \(3\) with maximum continuity \(C^{p-1}\).



6 Reference & accepted solutions
The accepted solution is the Lamé closed form for a thick-walled sphere under internal and external pressure [1]. With
\[ c = \frac{p_i a^3 - p_o b^3}{b^3 - a^3}, \qquad \kappa = \frac{(p_i - p_o)\, a^3 b^3}{b^3 - a^3}, \]
the radial and tangential stresses and the radial displacement are
\[ \sigma_{rr}(r) = c - \frac{\kappa}{r^3}, \qquad \sigma_{\theta\theta}(r) = c + \frac{\kappa}{2 r^3}, \qquad u_r(r) = \frac{1}{E}\left[(1 - 2\nu)\, c\, r + (1 + \nu)\, \frac{\kappa}{2 r^2}\right]. \]
Because the accepted solution is exact, the acceptance criteria bound the true discretization error directly: each refinement level carries its own relative \(L^2\) tolerance per quantity, tightening as the mesh refines (see the tolerance columns in the results table). No separate numerical reference solve is needed.
6.1 Global error evaluation
For this test, a postprocessing routine reads the spline geometry and trimmed quadrature rules from the Coreform IGA source database and reads nodal displacement and integration-point stress from the IGA results database. At every positive-weight trimmed quadrature point, it reconstructs the physical position \(\mathbf{x}_q\) and displacement \(\mathbf{u}_h(\mathbf{x}_q)\) from the active spline basis. With \(\mathbf{n} = \mathbf{x}_q/\lVert\mathbf{x}_q\rVert\), it computes
\[ u_{r,h} = \mathbf{u}_h \cdot \mathbf{n}, \qquad \sigma_{rr,h} = \mathbf{n}^{T}\boldsymbol{\sigma}_h\mathbf{n}, \qquad \sigma_{\theta\theta,h} = \frac{\operatorname{tr}(\boldsymbol{\sigma}_h)-\sigma_{rr,h}}{2}. \]
For a scalar quantity \(q\), the reported relative global error is
\[ \epsilon_q = \frac{\lVert q_h-q\rVert_{L^2(\Omega)}}{\lVert q\rVert_{L^2(\Omega)}} \approx \left[ \frac{\sum_Q w_q\,\det(\mathbf{J}_q)\,[q_h(\mathbf{x}_q)-q(\mathbf{x}_q)]^2} {\sum_Q w_q\,\det(\mathbf{J}_q)\,q(\mathbf{x}_q)^2} \right]^{1/2}. \]
The vector-displacement error uses the Euclidean squared norm of \(\mathbf{u}_h-\mathbf{u}\) in the numerator and of \(\mathbf{u}\) in the denominator. These values are integrated over the volume of the hollow sphere to compute the global \(L^2\) error values for each quantity.
7 Results
7.1 Quantities of interest
For each mesh, the numerical fields for vector displacement, radial displacement, radial stress, and tangential stress are compared against the Lamé closed form in the relative global \(L^2\) norm. The error for each refinement level is shown beside the acceptance tolerance it is required to meet.
| \(h\) | Vector displacement error | Tolerance | Radial displacement error | Tolerance | Radial stress error | Tolerance | Tangential stress error | Tolerance |
|---|---|---|---|---|---|---|---|---|
| 0.1 | \(0.584\%\) | \(0.8\%\) | \(0.568\%\) | \(0.8\%\) | \(28.5\%\) | \(40\%\) | \(1.89\%\) | \(2.5\%\) |
| 0.05 | \(0.199\%\) | \(0.3\%\) | \(0.194\%\) | \(0.3\%\) | \(15.5\%\) | \(20\%\) | \(0.93\%\) | \(1.2\%\) |
| 0.025 | \(0.0649\%\) | \(0.1\%\) | \(0.0632\%\) | \(0.1\%\) | \(7.78\%\) | \(10\%\) | \(0.437\%\) | \(0.6\%\) |
| \(h\) | Vector displacement error | Tolerance | Radial displacement error | Tolerance | Radial stress error | Tolerance | Tangential stress error | Tolerance |
|---|---|---|---|---|---|---|---|---|
| 0.1 | \(0.0788\%\) | \(0.1\%\) | \(0.0777\%\) | \(0.1\%\) | \(1.95\%\) | \(2.5\%\) | \(0.148\%\) | \(0.2\%\) |
| 0.05 | \(0.0175\%\) | \(0.025\%\) | \(0.0169\%\) | \(0.025\%\) | \(0.659\%\) | \(0.8\%\) | \(0.044\%\) | \(0.06\%\) |
| 0.025 | \(0.00388\%\) | \(0.005\%\) | \(0.00336\%\) | \(0.005\%\) | \(0.212\%\) | \(0.3\%\) | \(0.0138\%\) | \(0.02\%\) |
| \(h\) | Vector displacement error | Tolerance | Radial displacement error | Tolerance | Radial stress error | Tolerance | Tangential stress error | Tolerance |
|---|---|---|---|---|---|---|---|---|
| 0.1 | \(0.0338\%\) | \(0.05\%\) | \(0.0312\%\) | \(0.04\%\) | \(0.82\%\) | \(1.2\%\) | \(0.0859\%\) | \(0.12\%\) |
| 0.05 | \(0.00734\%\) | \(0.01\%\) | \(0.0064\%\) | \(0.008\%\) | \(0.203\%\) | \(0.3\%\) | \(0.0174\%\) | \(0.025\%\) |
| 0.025 | \(0.0018\%\) | \(0.0025\%\) | \(350 \times 10^{-6}\%\) | \(500 \times 10^{-6}\%\) | \(0.0716\%\) | \(0.1\%\) | \(0.006\%\) | \(0.008\%\) |
7.2 Convergence
7.3 Contour plots









8 Performance
Performance is reported separately for trimming (building the trimmed U-spline basis on the immersing grid) and the Abaqus solve.
Coreform IGA Mesh
| \(h\) | Background | Active | Trimmed | CPUs | Wall-time [s] |
|---|---|---|---|---|---|
| \(0.1\) | \(1{,}728\) | \(343\) | \(343\) | \(1\) | \(9.3\) |
| \(0.05\) | \(10{,}648\) | \(1{,}967\) | \(1{,}676\) | \(2\) | \(43.9\) |
| \(0.025\) | \(74{,}088\) | \(12{,}460\) | \(6{,}785\) | \(4\) | \(165.5\) |
| \(h\) | Background | Active | Trimmed | CPUs | Wall-time [s] |
|---|---|---|---|---|---|
| \(0.1\) | \(2{,}744\) | \(343\) | \(343\) | \(1\) | \(9.5\) |
| \(0.05\) | \(13{,}824\) | \(1{,}967\) | \(1{,}676\) | \(2\) | \(50.9\) |
| \(0.025\) | \(85{,}184\) | \(12{,}460\) | \(6{,}785\) | \(4\) | \(189.3\) |
| \(h\) | Background | Active | Trimmed | CPUs | Wall-time [s] |
|---|---|---|---|---|---|
| \(0.1\) | \(4{,}096\) | \(343\) | \(343\) | \(1\) | \(12.7\) |
| \(0.05\) | \(17{,}576\) | \(1{,}967\) | \(1{,}676\) | \(2\) | \(53.8\) |
| \(0.025\) | \(97{,}336\) | \(12{,}460\) | \(6{,}785\) | \(4\) | \(207.7\) |
Coreform IGA for Abaqus solve
| \(h\) | Elements | Nodes | DOFs | Threads | Wall-time [s] |
|---|---|---|---|---|---|
| \(0.1\) | \(2{,}860\) | \(2{,}195\) | \(6{,}585\) | \(1\) | \(2\) |
| \(0.05\) | \(11{,}960\) | \(9{,}248\) | \(27{,}744\) | \(2\) | \(6\) |
| \(0.025\) | \(51{,}153\) | \(40{,}266\) | \(120{,}798\) | \(4\) | \(8\) |
| \(h\) | Elements | Nodes | DOFs | Threads | Wall-time [s] |
|---|---|---|---|---|---|
| \(0.1\) | \(2{,}919\) | \(2{,}575\) | \(7{,}725\) | \(1\) | \(1\) |
| \(0.05\) | \(13{,}025\) | \(10{,}941\) | \(32{,}823\) | \(2\) | \(5\) |
| \(0.025\) | \(56{,}714\) | \(47{,}348\) | \(142{,}044\) | \(4\) | \(19\) |
| \(h\) | Elements | Nodes | DOFs | Threads | Wall-time [s] |
|---|---|---|---|---|---|
| \(0.1\) | \(4{,}620\) | \(3{,}928\) | \(11{,}784\) | \(1\) | \(8\) |
| \(0.05\) | \(19{,}923\) | \(15{,}736\) | \(47{,}208\) | \(2\) | \(21\) |
| \(0.025\) | \(84{,}166\) | \(66{,}069\) | \(198{,}207\) | \(4\) | \(79\) |
9 Discussion
The \(p=1\), \(p=2\), and \(p=3\) cases converge monotonically toward the exact solution in all four global quantities. In this problem, the tangential stress is more accurate than the radial stress because it is dominated by the smoothly varying hoop response, while the radial stress must satisfy the traction boundary conditions at both surfaces, which cut arbitrarily through the immersed grid cells. However, these results do demonstrate that a curved geometry with a pressure-loaded surface that does not conform to the background grid can reproduce expected results. We note that the convergence rates do not meet the expected rates from finite element theory, but this is not surprising given the machinery required to integrate immersed IGA into Abaqus/Standard.
References
Appendix
9.1 Capabilities exercised
The table is generated from current passing simulation and study artifacts. Each row must satisfy the linked capability card’s evidence contract; declaring a capability in a test does not, by itself, create evidence.
9.2 Download artifacts
Download all verification artifacts (ZIP)
9.2.1 Geometry CAD files
No separate CAD file is required for this problem; the geometry is fully defined in the Abaqus/CAE journal files.
9.2.2 Abaqus/CAE journal files
9 generated Abaqus/CAE journals are available.
Show 9 individual journals
- immersed_h0p1–pressurized_sphere_h0_model.jnl
- immersed_h0p2–pressurized_sphere_h0_model.jnl
- immersed_h0p3–pressurized_sphere_h0_model.jnl
- immersed_h1p1–pressurized_sphere_h1_model.jnl
- immersed_h1p2–pressurized_sphere_h1_model.jnl
- immersed_h1p3–pressurized_sphere_h1_model.jnl
- immersed_h2p1–pressurized_sphere_h2_model.jnl
- immersed_h2p2–pressurized_sphere_h2_model.jnl
- immersed_h2p3–pressurized_sphere_h2_model.jnl
9.3 Supported Abaqus keywords
The deck below is reproduced from the verification test’s Abaqus input file with comments stripped and instance-specific names (sets, materials, files) redacted to <placeholders>.
*Heading
*Preprint, echo=NO, model=NO, history=NO, contact=NO
*Include, input=<iga-mesh-inp>
*System
*Material, name=<material>
*Elastic
1.,0.
*User Output Variables
1,
*Boundary
<node-set>, XSYMM
*Boundary
<node-set>, YSYMM
*Boundary
<node-set>, ZSYMM
*Step, name=<step>, nlgeom=NO, inc=1
*Static, direct
1., 1.,
*Restart, write, frequency=0
*Output, field
*Node Output
U,
*Element Output, position=AVERAGED AT NODES, directions=YES
S,
*Output, history, variable=PRESELECT
*End Step9.4 Provenance
The records below identify the execution environment and verification basis for every CTest artifact reported on this page.
| Parameter | Value |
|---|---|
| Evidence type | Numerical verification |
| CTest result | Passed (Release) |
| Verification result | Passed — 4/4 enforced criteria passed |
| Test date | 26-Aug-2026 11:32:37 |
| Operating system | Ubuntu 26.04 LTS |
| Coreform IGA version | 2026.8-dev+tewk_1787764370 |
| Source revision | bb2d69b00831 |
| Abaqus version | Abaqus 6.26-4 |
| Parameter | Value |
|---|---|
| Evidence type | Numerical verification |
| CTest result | Passed (Release) |
| Verification result | Passed — 4/4 enforced criteria passed |
| Test date | 26-Aug-2026 12:08:57 |
| Operating system | Ubuntu 26.04 LTS |
| Coreform IGA version | 2026.8-dev+tewk_1787764370 |
| Source revision | bb2d69b00831 |
| Abaqus version | Abaqus 6.26-4 |
| Parameter | Value |
|---|---|
| Evidence type | Numerical verification |
| CTest result | Passed (Release) |
| Verification result | Passed — 4/4 enforced criteria passed |
| Test date | 26-Aug-2026 12:27:27 |
| Operating system | Ubuntu 26.04 LTS |
| Coreform IGA version | 2026.8-dev+tewk_1787764370 |
| Source revision | bb2d69b00831 |
| Abaqus version | Abaqus 6.26-4 |
| Parameter | Value |
|---|---|
| Evidence type | Numerical verification |
| CTest result | Passed (Release) |
| Verification result | Passed — 4/4 enforced criteria passed |
| Test date | 26-Aug-2026 11:32:49 |
| Operating system | Ubuntu 26.04 LTS |
| Coreform IGA version | 2026.8-dev+tewk_1787764370 |
| Source revision | bb2d69b00831 |
| Abaqus version | Abaqus 6.26-4 |
| Parameter | Value |
|---|---|
| Evidence type | Numerical verification |
| CTest result | Passed (Release) |
| Verification result | Passed — 4/4 enforced criteria passed |
| Test date | 26-Aug-2026 12:09:26 |
| Operating system | Ubuntu 26.04 LTS |
| Coreform IGA version | 2026.8-dev+tewk_1787764370 |
| Source revision | bb2d69b00831 |
| Abaqus version | Abaqus 6.26-4 |
| Parameter | Value |
|---|---|
| Evidence type | Numerical verification |
| CTest result | Passed (Release) |
| Verification result | Passed — 4/4 enforced criteria passed |
| Test date | 26-Aug-2026 12:28:54 |
| Operating system | Ubuntu 26.04 LTS |
| Coreform IGA version | 2026.8-dev+tewk_1787764370 |
| Source revision | bb2d69b00831 |
| Abaqus version | Abaqus 6.26-4 |
| Parameter | Value |
|---|---|
| Evidence type | Numerical verification |
| CTest result | Passed (Release) |
| Verification result | Passed — 4/4 enforced criteria passed |
| Test date | 26-Aug-2026 11:33:04 |
| Operating system | Ubuntu 26.04 LTS |
| Coreform IGA version | 2026.8-dev+tewk_1787764370 |
| Source revision | bb2d69b00831 |
| Abaqus version | Abaqus 6.26-4 |
| Parameter | Value |
|---|---|
| Evidence type | Numerical verification |
| CTest result | Passed (Release) |
| Verification result | Passed — 4/4 enforced criteria passed |
| Test date | 26-Aug-2026 12:10:22 |
| Operating system | Ubuntu 26.04 LTS |
| Coreform IGA version | 2026.8-dev+tewk_1787764370 |
| Source revision | bb2d69b00831 |
| Abaqus version | Abaqus 6.26-4 |
| Parameter | Value |
|---|---|
| Evidence type | Numerical verification |
| CTest result | Passed (Release) |
| Verification result | Passed — 4/4 enforced criteria passed |
| Test date | 26-Aug-2026 12:32:28 |
| Operating system | Ubuntu 26.04 LTS |
| Coreform IGA version | 2026.8-dev+tewk_1787764370 |
| Source revision | bb2d69b00831 |
| Abaqus version | Abaqus 6.26-4 |
| Parameter | Value |
|---|---|
| Evidence type | Numerical verification |
| CTest result | Passed (Release) |
| Verification result | Passed — 4/4 enforced criteria passed |
| Test date | 26-Aug-2026 19:29:55 UTC |
| Operating system | — |
| Coreform IGA version | Not applicable — postprocessing-only CTest |
| Source revision | bb2d69b00831 |
| Abaqus version | Not applicable — postprocessing-only CTest |
| Parameter | Value |
|---|---|
| Evidence type | Numerical verification |
| CTest result | Passed (Release) |
| Verification result | Passed — 4/4 enforced criteria passed |
| Test date | 26-Aug-2026 19:29:55 UTC |
| Operating system | — |
| Coreform IGA version | Not applicable — postprocessing-only CTest |
| Source revision | bb2d69b00831 |
| Abaqus version | Not applicable — postprocessing-only CTest |
| Parameter | Value |
|---|---|
| Evidence type | Numerical verification |
| CTest result | Passed (Release) |
| Verification result | Passed — 4/4 enforced criteria passed |
| Test date | 26-Aug-2026 19:29:55 UTC |
| Operating system | — |
| Coreform IGA version | Not applicable — postprocessing-only CTest |
| Source revision | bb2d69b00831 |
| Abaqus version | Not applicable — postprocessing-only CTest |