PDF

Arterial Wall Mechanics
Introduction
Arteries are blood vessels that carry freshly oxygenated blood from the heart throughout the rest of the body. They are layered structures with the intima inside, followed by the media, and the adventitia. The two outer layers are predominantly responsible for the mechanical behavior of healthy arteries. Both layers are made of collagenous soft tissues that show prominent strain stiffening. Families of collagen fibers give each layer anisotropic properties. These fiber reinforced structures enable blood vessels to sustain large elastic deformation.
The Holzapfel-Gasser-Ogden (HGO) constitutive model described in Ref. 1 captures the anisotropic nonlinear mechanical response observed in experiments on excised arteries.
This model demonstrates how this hyperelastic material is implemented in COMSOL Multiphysics, and the results are compared to those reported in Ref. 1.
Model Definition
The model geometry represents a sector of a carotid artery from a rabbit. Following Ref. 1, the media and adventitia are modeled as a layered cylindrical tube. Model symmetry allows the use of 2D axisymmetric model. Main dimensions are reported in Figure 1.
Figure 1: Carotid artery section of L = 2.5 mm in length. The inner radius Ri is 0.71 mm, the outer radius Ro is 1.1 mm, the media thickness is 0.26 mm, and the adventitia thickness is 0.13 mm.
Typical mechanical experiments measure the response of arterial sections subject to combined axial stretch and internal blood pressure. The set of boundary conditions replicate these experiments.
The symmetry boundary condition allows the bottom end of the artery to freely expand in the radial direction. On the top surface, prescribed displacements in the axial direction account for the axial stretching. Internal pressure is applied with a pressure boundary load on the inner surface.
This model considers axial stretches between 1.5 and 1.9, and internal pressures between 0 and 160 mmHg. The mechanical response in this range is highly nonlinear, resulting in large elastic deformations, and it is mathematically described within the theory of hyperelasticity.
The HGO model is an incompressible anisotropic hyperelastic material model defined by an isochoric strain energy density.
The incompressibility condition implies adding a volumetric stress Svol.
The auxiliary pressure pw ensures the incompressibility with the weak equation:
The isochoric strain energy density is defined by a function of the form
(1)
The three terms on the right-hand side of Equation 1 depend on invariants of the right Cauchy-Green tensor.
The first term describes the mechanical behavior of the elastic ground substance. The isotropic function W1 depends on one material parameter and the first isochoric invariant , defined in the same fashion as for a neo-Hookean material (see Ref. 3 for more details on this invariant)
(2)
The second and third terms on the right-hand side of Equation 1 describe the mechanical contribution of the collagen fiber network. Following Ref. 1, these expressions are written as
(3)
(4)
here, the fiber network is reduced to two families of fibers with material properties k1 and k2.
The deformation of each fiber family is measured by the invariants I4 and I6. You can find a detailed background for this formulation in Ref. 1 and Ref. 2.
Briefly, a family i of fibers is defined by a vector field a0i in the undeformed direction. The fibers deform under the action of the isochoric deformation gradient, so that is the deformed fiber configuration. The length of is the fiber stretch, to be used for the constitutive equations.
The HGO model uses the square of the fiber stretches computed according to the invariants I4 and I6
(5)
(6)
Also, the angle β is the relative angle between a01 and a02.
The mechanical properties of both the media and adventitia are governed by these expressions. Each layer has a distinct set of material parameters c, k1, k2, and the initial fiber directions a01 and a02 are aligned at different angles, as shown in Figure 2.
Figure 2: Angle between the two fiber families in the adventitia.
Material
The material parameters for the media and the adventitia are given in the following table.
k1
k2
β
Results and Discussion
The model computes the static response to the applied boundary conditions. Figure 3 displays the fiber layout of both the media and the adventitia fiber families.
.
Figure 3: Fiber layout in the undeformed configuration of the media (inner, red) and the adventitia (outer, blue). Note the different angles between fiber families.
Figure 4 shows the radial stress distribution through the thickness of the wall at an axial stretch of 1.9 and an internal pressure of 160 mmHg.
Figure 4: Radial stress distribution in the artery wall at an axial stretch of 1.9 and 160 mmHg internal pressure.
Figure 5 plots the internal pressure against the expansion of the inner radius for the entire load range. The results are in good agreements with the data reproduced from Ref. 1.
Figure 5: Plot of internal pressure vs. inner radius for three different axial stretches. Data reproduced from Ref. 1 (circles) coincides well with the model results.
References
1. G. Holzapfel, T. Gasser, and R. Ogden, “A New Constitutive Framework for Arterial Wall Mechanics and a Comparative Study of Material Models,” J. Elasticity, vol. 61, pp. 1–48, 2000.
2. G. Holzapfel, Nonlinear Solid Mechanics: A Continuum Approach for Engineering, John Wiley & Sons, 2000.
3. Nonlinear Structural Materials Module User’s Guide, COMSOL Multiphysics.
Notes About the COMSOL Implementation
The most important aspect in this model is the implementation of the HGO material model with a user-defined strain energy density function. The initial fiber directions are user-defined variables.
There are two fiber families in each arterial layer. The mathematical expressions in the HGO model are the same for the media as for the adventitia, except for the different material parameters. Only the expressions for the media are discussed below, denoted by the index M. Replace this index with the index A to obtain the expressions for the adventitia.
The vector field a01M of the first fiber family in the media is represented by the components a01M1 (radial), a01M2 (azimuthal), and a01M3 (axial). The second fiber family a02M in the media has the components a02M1, a02M2, and a02M3.
Each fiber family has an associated invariant computed according to Equation 5. The internal variables for the isochoric right Cauchy-Green deformation tensor in the local coordinate system are solid.CIelIJ (Ref. 3), where I and J are indexes running from 1 to 3. In the Cylindrical System, 1 represents the radial direction, 2 the azimuthal and 3 the axial direction.
In the settings for the hyperelastic material, select the cylindrical system as a reference coordinate system. The invariant associated with the first fiber family is named I4CIel, and according to Equation 5 it is computed as
a01M1*solid.CIel11*a01M1+2*a01M1*solid.CIel12*a01M2+
2*a01M1*solid.CIel13*a01M3+a01M2*solid.CIel22*a01M2+
2*a01M2*solid.CIel23*a01M3+a01M3*solid.CIel33*a01M3.
The invariant I6CIel is defined similarly, but it uses the components of the second fiber family, a02M1, a02M2, and a02M3.
Once the fiber directions and related invariants are defined, implement the strain energy density functions. Equation 2 defines an isotropic isochoric function. The corresponding invariant is defined by the variable solid.I1CIel, thus the expression in the media reads cM/2*(solid.I1CIel-3).
The second and third terms on the right-hand side of Equation 1 are the anisotropic strain energy functions for the fiber families a01M and a02M. With the definition of the fiber invariants in the media for the fiber family a01M, Equation 3 becomes
k1M/(2*k2M)*(exp(k2M*(I4CIel-1)^2)-1)*(I4CIel>1).
The last factor, (I4CIel>1), evaluates to zero if the fiber stretch is smaller than one. This means that the fibers only contribute to tensile stress. To implement Equation 4, simply replace I4CIel with I6CIel, which corresponds to the second fiber family a02M.
This model also shows how to use the Curvilinear Coordinates interface to plot the configuration of the fiber families. The interface takes care of the mapping from the global coordinate system in 2D axisymmetric component to the cylindrical coordinates system used in the revolved result plots.
Application Library path: Nonlinear_Structural_Materials_Module/Hyperelasticity/arterial_wall_mechanics
Modeling Instructions
From the File menu, choose New.
New
In the New window, click  Model Wizard.
Model Wizard
1
In the Model Wizard window, click  2D Axisymmetric.
2
In the Select Physics tree, select Structural Mechanics>Solid Mechanics (solid).
3
Click Add.
Use Curvilinear Coordinates to visualize the fiber layout. Add it four times, once for each fiber family.
1
In the Select Physics tree, select Mathematics>Curvilinear Coordinates (cc).
2
Click Add four times.
3
Click  Study.
4
In the Select Study tree, select General Studies>Stationary.
5
Global Definitions
Load all model parameters from a file containing parameters for the geometry, the material properties and the boundary conditions.
Parameters 1
1
In the Model Builder window, under Global Definitions click Parameters 1.
2
In the Settings window for Parameters, locate the Parameters section.
3
Click  Load from File.
4
Now add an interpolation function for importing the pressure versus radius data reproduced from Ref. 1. Use it for comparison.
Interpolation 1 (int1)
1
In the Home toolbar, click  Functions and choose Global>Interpolation.
2
In the Settings window for Interpolation, locate the Definition section.
3
From the Data source list, choose File.
4
Click Browse.
5
This file contains the data adapted from Ref. 1.
6
In the Number of arguments text field, type 1.
7
Click Import.
8
Find the Functions subsection. In the table, enter the following settings:
9
Locate the Units section. In the Arguments text field, type kPa.
10
In the Function text field, type mm.
Geometry 1
Construct the model geometry by first drawing two circular sections on a work plane. Then, form a difference between them and extrude it.
1
In the Model Builder window, under Component 1 (comp1) click Geometry 1.
2
In the Settings window for Geometry, locate the Units section.
3
From the Length unit list, choose mm.
Rectangle 1 (r1)
1
In the Geometry toolbar, click  Rectangle.
2
In the Settings window for Rectangle, locate the Size and Shape section.
3
In the Width text field, type Ro-Ri.
4
In the Height text field, type L.
5
Locate the Position section. In the r text field, type Ri.
6
Click to expand the Layers section. In the table, enter the following settings:
7
Clear the Layers on bottom check box.
8
Select the Layers to the right check box.
9
In the Geometry toolbar, click  Build All.
Definitions
Load all model variables from files. These define the initial directions of all fiber families. The files also contain the expressions for the user defined strain energy density functions.
Fiber Directions, Media
1
In the Home toolbar, click  Variables and choose Local Variables.
2
In the Settings window for Variables, type Fiber Directions, Media in the Label text field.
3
Locate the Geometric Entity Selection section. From the Geometric entity level list, choose Domain.
4
5
Locate the Variables section. Click  Load from File.
6
Fiber Directions, Adventitia
1
In the Home toolbar, click  Variables and choose Local Variables.
2
In the Settings window for Variables, type Fiber Directions, Adventitia in the Label text field.
3
Locate the Geometric Entity Selection section. From the Geometric entity level list, choose Domain.
4
5
Locate the Variables section. Click  Load from File.
6
Browse to the model’s Application Libraries folder and double-click the file arterial_wall_mechanics_fiber_directions_adventitia.txt.
Strain Energy Density, Media
1
In the Home toolbar, click  Variables and choose Local Variables.
2
In the Settings window for Variables, type Strain Energy Density, Media in the Label text field.
3
Locate the Geometric Entity Selection section. From the Geometric entity level list, choose Domain.
4
5
Locate the Variables section. Click  Load from File.
6
Browse to the model’s Application Libraries folder and double-click the file arterial_wall_mechanics_strain_energy_density_media.txt.
Strain Energy Density, Adventitia
1
In the Home toolbar, click  Variables and choose Local Variables.
2
In the Settings window for Variables, type Strain Energy Density, Adventitia in the Label text field.
3
Locate the Geometric Entity Selection section. From the Geometric entity level list, choose Domain.
4
5
Locate the Variables section. Click  Load from File.
6
Browse to the model’s Application Libraries folder and double-click the file arterial_wall_mechanics_strain_energy_density_adventitia.txt.
Solid Mechanics (solid)
Hyperelastic Material 1
1
In the Model Builder window, under Component 1 (comp1) right-click Solid Mechanics (solid) and choose Material Models>Hyperelastic Material.
2
In the Settings window for Hyperelastic Material, locate the Domain Selection section.
3
From the Selection list, choose All domains.
4
Locate the Hyperelastic Material section. From the Material model list, choose User defined.
5
From the Compressibility list, choose Incompressible material.
The HGO model is incompressible, select Incompressible material to apply a mixed formulation.
6
In the Wsiso text field, type W1+W4+W6.
This is the isochoric part of the strain energy density function. The functions W1, W4 and W6 are defined with different properties in the media and adventitia.
7
From the ρ list, choose User defined. In the associated text field, type 1100.
8
In the Model Builder window, click Solid Mechanics (solid).
9
In the Settings window for Solid Mechanics, locate the Structural Transient Behavior section.
10
Symmetry Plane 1
1
In the Physics toolbar, click  Boundaries and choose Symmetry Plane.
2
Prescribed Displacement 1
1
In the Physics toolbar, click  Boundaries and choose Prescribed Displacement.
2
3
In the Settings window for Prescribed Displacement, locate the Prescribed Displacement section.
4
Select the Prescribed in z direction check box.
5
In the u0z text field, type (lambda_z-1)*L.
Use lambda_z as a continuation parameter in the solver to vary axial stretch.
Boundary Load 1
1
In the Physics toolbar, click  Boundaries and choose Boundary Load.
2
3
In the Settings window for Boundary Load, locate the Force section.
4
From the Load type list, choose Pressure.
5
In the p text field, type p_i.
Use p_i as a continuation parameter in the solver settings to vary the internal pressure.
Curvilinear Coordinates (cc)
Now set up the curvilinear coordinates for all fiber families by adding a user defined vector field in the cylindrical system for the components of the fiber directions.
1
In the Model Builder window, under Component 1 (comp1) click Curvilinear Coordinates (cc).
2
User Defined 1
In the Physics toolbar, click  Domains and choose User Defined.
Set the components of the vector field to the cylindrical components of the first fiber family.
1
In the Settings window for User Defined, locate the User Defined section.
2
Specify the u vector as
3
u vector, R component
u vector, PHI component
u vector, Z component
Mesh 1
Mapped 1
In the Mesh toolbar, click  Mapped.
Distribution 1
1
Right-click Mapped 1 and choose Distribution.
2
3
In the Settings window for Distribution, locate the Distribution section.
4
In the Number of elements text field, type 6.
Distribution 2
1
In the Model Builder window, right-click Mapped 1 and choose Distribution.
2
3
In the Settings window for Distribution, locate the Distribution section.
4
In the Number of elements text field, type 4.
5
In the Model Builder window, right-click Mesh 1 and choose Build All.
Study 1
Now set up a study to compute the static response of the artery segment subject to combined axial stretch and internal pressure.
1
In the Model Builder window, click Study 1.
2
In the Settings window for Study, locate the Study Settings section.
3
Clear the Generate default plots check box.
You will not need the default plots in this model.
Step 1: Stationary
1
In the Model Builder window, under Study 1 click Step 1: Stationary.
2
In the Settings window for Stationary, click to expand the Study Extensions section.
3
Select the Auxiliary sweep check box.
4
5
The parameter lambda_z controls the axial stretch.
6
7
Use p_i to vary the internal pressure from 0 to 160 mmHg with steps of 5 mmHg.
8
From the Sweep type list, choose All combinations.
9
From the Reuse solution from previous step list, choose Auto.
Using the Auto option for Reuse solution for previous step is suitable for this kind of multiparameter sweep with continuation.
Solution 1 (sol1)
1
In the Study toolbar, click  Show Default Solver.
Using constant prediction for the continuation sweep improves convergence when the solution is very nonlinear in the swept parameter.
2
In the Model Builder window, expand the Solution 1 (sol1) node.
3
In the Model Builder window, expand the Study 1>Solver Configurations>Solution 1 (sol1)>Stationary Solver 1 node, then click Parametric 1.
4
In the Settings window for Parametric, click to expand the Continuation section.
5
From the Predictor list, choose Constant.
6
In the Study toolbar, click  Compute.
Results
1
In the Model Builder window, expand the Results node.
Before you examine the results, create Revolution 2D datasets. Those datasets create the cylindrical geometry from the 2D axisymmetric plane that was used for the computation.
Study 1/Solution 1 (sol1)
1
In the Model Builder window, expand the Results>Datasets node, then click Study 1/Solution 1 (sol1).
2
In the Settings window for Solution, locate the Solution section.
3
From the Frame list, choose Material  (R, PHI, Z).
Sector Revolution
1
In the Results toolbar, click  More Datasets and choose Revolution 2D.
2
In the Settings window for Revolution 2D, type Sector Revolution in the Label text field.
3
Click to expand the Revolution Layers section. In the Start angle text field, type -90.
4
In the Revolution angle text field, type 225.
Full Revolution
1
In the Results toolbar, click  More Datasets and choose Revolution 2D.
2
In the Settings window for Revolution 2D, type Full Revolution in the Label text field.
Now duplicate the datasets and add a selection. Use these in one of the plots below.
Inner Wall
1
Right-click Study 1/Solution 1 (sol1) and choose Duplicate.
2
In the Settings window for Solution, type Inner Wall in the Label text field.
Selection
1
In the Results toolbar, click  Attributes and choose Selection.
2
In the Settings window for Selection, locate the Geometric Entity Selection section.
3
From the Geometric entity level list, choose Boundary.
4
Inner Wall, Revolution
1
In the Results toolbar, click  More Datasets and choose Revolution 2D.
2
In the Settings window for Revolution 2D, type Inner Wall, Revolution in the Label text field.
3
Locate the Data section. From the Dataset list, choose Inner Wall (sol1).
Create a 3D plot group for the radial stress distribution.
Radial Stress
1
In the Results toolbar, click  3D Plot Group.
2
In the Settings window for 3D Plot Group, type Radial Stress in the Label text field.
Surface 1
1
In the Radial Stress toolbar, click  Surface.
2
In the Settings window for Surface, click Replace Expression in the upper-right corner of the Expression section. From the menu, choose Component 1 (comp1)>Solid Mechanics>Stress (Gauss points)>Stress tensor, Gauss point evaluation (spatial frame) - N/m²>solid.sGpr - Stress tensor, Gauss point evaluation, r component.
Deformation 1
1
In the Radial Stress toolbar, click  Deformation.
2
In the Settings window for Deformation, locate the Scale section.
3
Select the Scale factor check box.
4
5
In the Radial Stress toolbar, click  Plot.
6
Click the  Go to Default View button in the Graphics toolbar.
Create a 1D plot group to compare the pressure versus radius relationship to the data reproduced from Ref. 1.
Pressure vs. Radius
1
In the Home toolbar, click  Add Plot Group and choose 1D Plot Group.
2
In the Settings window for 1D Plot Group, type Pressure vs. Radius in the Label text field.
3
Click to expand the Title section. From the Title type list, choose None.
4
Locate the Plot Settings section. Select the x-axis label check box.
5
6
Select the y-axis label check box.
7
In the associated text field, type Internal pressure (mmHg).
8
Locate the Legend section. From the Position list, choose Upper left.
Point Graph 1
1
Right-click Pressure vs. Radius and choose Point Graph.
2
3
In the Settings window for Point Graph, locate the y-Axis Data section.
4
In the Expression text field, type p_i.
5
In the Unit field, type mmHg.
6
Click Replace Expression in the upper-right corner of the x-Axis Data section. From the menu, choose Component 1 (comp1)>Geometry>Coordinate (spatial frame)>r - r-coordinate.
7
In the Pressure vs. Radius toolbar, click  Plot.
8
Click to expand the Legends section. Select the Show legends check box.
9
Find the Include subsection. Clear the Point check box.
Global 1
1
In the Model Builder window, right-click Pressure vs. Radius and choose Global.
2
In the Settings window for Global, locate the Data section.
3
From the Dataset list, choose Study 1/Solution 1 (sol1).
4
From the Parameter selection (lambda_z) list, choose Last.
5
Locate the y-Axis Data section. In the table, enter the following settings:
6
Locate the x-Axis Data section. From the Parameter list, choose Expression.
7
In the Expression text field, type hgo_pr_1_5(p_i).
This is the interpolation function with data reproduced from Ref. 1. It returns the inner radius as a function of internal pressure at an axial stretch of 1.5.
8
Click to expand the Coloring and Style section. Find the Line style subsection. From the Line list, choose None.
9
From the Color list, choose From theme.
10
Find the Line markers subsection. From the Marker list, choose Circle.
11
From the Positioning list, choose In data points.
12
Click to expand the Legends section. From the Legends list, choose Manual.
13
Global 2
1
Right-click Global 1 and choose Duplicate.
2
In the Settings window for Global, locate the x-Axis Data section.
3
In the Expression text field, type hgo_pr_1_7(p_i).
This is the inner radius as a function of internal pressure at an axial stretch of 1.7.
4
Locate the Legends section. Clear the Show legends check box.
Global 3
1
Right-click Global 2 and choose Duplicate.
2
In the Settings window for Global, locate the x-Axis Data section.
3
In the Expression text field, type hgo_pr_1_9(p_i).
This is the inner radius as a function of internal pressure at an axial stretch of 1.9.
4
In the Pressure vs. Radius toolbar, click  Plot.
Fiber Directions
1
In the Home toolbar, click  Add Plot Group and choose 3D Plot Group.
2
In the Settings window for 3D Plot Group, type Fiber Directions in the Label text field.
3
Locate the Data section. From the Dataset list, choose Full Revolution.
4
Click to expand the Title section. From the Title type list, choose None.
5
Locate the Plot Settings section. Clear the Plot dataset edges check box.
Streamline 1
1
In the Fiber Directions toolbar, click  Streamline.
2
In the Settings window for Streamline, click Replace Expression in the upper-right corner of the Expression section. From the menu, choose Component 1 (comp1)>Curvilinear Coordinates>cc.vR,...,cc.vZ - Vector field (material and geometry frames).
3
Locate the Streamline Positioning section. From the Positioning list, choose Uniform density.
4
In the Separating distance text field, type 0.05.
5
Locate the Coloring and Style section. Find the Line style subsection. From the Type list, choose Tube.
6
In the Tube radius expression text field, type 0.1.
This is the vector field of the first Curvilinear Coordinate physics and corresponds to the first fiber family in the media.
Streamline 2
1
Right-click Streamline 1 and choose Duplicate.
2
In the Settings window for Streamline, click Replace Expression in the upper-right corner of the Expression section. From the menu, choose Component 1 (comp1)>Curvilinear Coordinates 2>cc2.vR,...,cc2.vZ - Vector field (material and geometry frames).
This field is the second fiber family in the media.
Streamline 3
1
Right-click Streamline 2 and choose Duplicate.
This field is the first fiber family in the adventitia.
2
In the Settings window for Streamline, click Replace Expression in the upper-right corner of the Expression section. From the menu, choose Component 1 (comp1)>Curvilinear Coordinates 3>cc3.vR,...,cc3.vZ - Vector field (material and geometry frames).
3
Locate the Coloring and Style section. Find the Point style subsection. From the Color list, choose Blue.
4
Locate the Streamline Positioning section. In the Separating distance text field, type 0.03.
Filter 1
1
Right-click Streamline 3 and choose Filter.
This boolean expression restricts the plotting of fibers to the half of the geometry.
2
In the Settings window for Filter, locate the Element Selection section.
3
In the Logical expression for inclusion text field, type Z<=L/2.
Streamline 4
1
In the Model Builder window, under Results>Fiber Directions right-click Streamline 3 and choose Duplicate.
2
In the Settings window for Streamline, click Replace Expression in the upper-right corner of the Expression section. From the menu, choose Component 1 (comp1)>Curvilinear Coordinates 4>cc4.vR,...,cc4.vZ - Vector field (material and geometry frames).
This is the second fiber family in the adventitia.
Fiber Directions
In the Model Builder window, click Fiber Directions.
Surface 1
1
In the Fiber Directions toolbar, click  Surface.
2
In the Settings window for Surface, locate the Data section.
3
From the Dataset list, choose Inner Wall, Revolution.
4
Locate the Expression section. In the Expression text field, type 1.
5
Locate the Coloring and Style section. From the Coloring list, choose Uniform.
6
From the Color list, choose White.
7
In the Fiber Directions toolbar, click  Plot.