How to Model Hygroscopic Swelling

June 9, 2015

Previously on the blog, we introduced you to hygroscopic swelling, describing its impact on specific types of materials. With the Hygroscopic Swelling feature, you can model this important effect in COMSOL Multiphysics. Follow along as we guide you through the modeling process, highlighting a new multiphysics coupling feature available in version 5.1.

An Overview of the Hygroscopic Swelling Effect

Let’s begin with a quick review. When solids enter a humid environment, it is likely that some of them will catch water molecules. The absorption and storage of these molecules can cause the solid to swell up, exposing it to increased stresses and strains. This effect is known as hygroscopic swelling.

Hygroscopic swelling is a phenomenon that occurs in various sectors of industry, from wood construction and paper to electronics and food processing. Whether an expected behavior or an undesirable effect, it must be modeled accurately in order to quantify its effects.

The Hygroscopic Swelling feature in COMSOL Multiphysics enables you to do exactly that. Available as a subnode for most material models in the structural mechanics interfaces, this feature allows you to analyze the effect of moisture concentrations within the solids, such as resulting deformations and stresses.

A screenshot of the Hygroscopic Swelling feature in COMSOL Multiphysics.

The user interface (UI) of the Hygroscopic Swelling feature. The main inputs are colored and numbered.

Using the above figure as our guide, we can now take a closer look at how this feature is used.

Understanding Hygroscopic Swelling

Hygroscopic swelling creates an inelastic strain that is proportional to the difference between the concentration and the strain-free reference concentration:

\epsilon_\textrm{hs}=\beta_\textrm{h} C_\textrm{diff}

where the coefficient of hygroscopic swelling \beta_\textrm{h} can be given in the material properties or directly in the node (Number 5 in the screenshot above). It does not have to be constant; it can depend on, for example, temperature or the moisture concentration itself.

In small deformation theory, the hygroscopic swelling contribution is additive — that is, the inelastic strain is the sum of the other inelastic strains and the hygroscopic strain. The coefficient of hygroscopic swelling is a second-order tensor, which can be defined as isotropic, diagonal, or symmetric. The expansion can thus be different in different directions. In wood, this effect is very pronounced.

In large deformation theory, available under the Hyperelastic Material model, the hygroscopic contribution is multiplicative — that is, the total deformation gradient tensor F is scaled by the hygroscopic stretch to form the elastic deformation gradient tensor F_\textrm{e} :

\epsilon=\frac{1}{2} \left( F_\textrm{e}^\textrm{T}F_\textrm{e}-I \right) & F_\textrm{e}=F J_\textrm{hs}^{-1/3}
J_\textrm{hs}= \left(1+\beta_\textrm{h} C_\textrm{diff} \right)^3

In this case, the coefficient of hygroscopic swelling is isotropic, so only uniform volumetric expansion is taken into account.

The hygroscopic swelling has two types of effects. When applied on free structures, it induces deformations. When applied on constrained structures, deformation is impossible, causing the stress inside of the structure to increase. In real structures (often partially constrained), the effect is a mixture of these two behaviors.

An image of roller constraints added to a free solid exposed to hygroscopic swelling.
A picture of a constrained solid subject to hygroscopic swelling with applied roller constraints.
An image plotting the displacement field of a free solid.
A graphic of a displacement field for a constrained solid.
An image of the von Mises stress in a free solid.
A plot of the von Mises stress in a constrained solid subject to hygroscopic swelling.

Example of a free solid (left column) and a fully constrained solid (right column) subjected to hygroscopic swelling with a constant moisture concentration. The first row shows roller constraints applied on each solid. Plotted results are the displacement field in the second row and von Mises stress in the third row. The free solid is only constrained by two roller conditions, which enables the solid to expand and completely release the stress. On the contrary, the solid constrained with roller conditions all around it shows no displacement but encounters an increase in stress.

Defining Moisture Concentration and Reference Concentration

Depending on the selected moisture concentration type (2), the concentration is defined either as mass concentration ( C_\textrm{mo} and C_\textrm{mo,ref}) or molar concentration ( c_\textrm{mo} and c_\textrm{mo,ref}). As C_\textrm{diff} is the mass concentration difference, the molar mass M_\textrm{m} must also be specified (4) when molar concentration is used as the input. The default value for M_\textrm{m} is the molar mass of water 0.018 \; \textrm{kg}/\textrm{m}^3.

\begin{array} {ll} \epsilon_\textrm{hs}=\beta_\textrm{h} M_\textrm{m} \left(c_\textrm{mo}-c_\textrm{mo,ref} \right) \end{array} for molar concentration

\begin{array} {ll} \epsilon_\textrm{hs}=\beta_\textrm{h}\left(C_\textrm{mo}-C_\textrm{mo,ref} \right) \end{array} for mass concentration

The concentration (1) can either be user-defined or computed by another physics interface. As with any input in COMSOL Multiphysics, user-defined values can be a function of other variables, such as the space coordinates X, Y, and Z.

An image plotting moisture concentration that is user-defined and space-dependent.
A plot in COMSOL Multiphysics showing the displacement caused by hygroscopic swelling.

On the left: User-defined, space-dependent moisture concentration. On the right: Displacement induced by hygroscopic swelling. The top face, where the concentration is highest, shows the largest displacement.

The strain-free reference concentration (3) is the moisture concentration at which hygroscopic swelling has no effect. It can often be interpreted as an initial state, or the ex-factory moisture concentration. A moisture concentration higher than the reference concentration represents moistening and causes the solid to expand. A moisture concentration lower than the reference concentration represents drying and causes the solid to shrink.

A graph of displacement with zero strain reference concentration.
A plot of displacement with nonzero strain reference concentration.

Left: Displacement with zero strain reference concentration. Right: Displacement with nonzero strain reference concentration. The applied concentration, which is the same in both cases but lower than the strain reference concentration, implies shrinkage of the solid.

Multiphysics Coupling

Often, the moisture concentration within a solid is unknown and has to be computed with a preceding simulation. You can compute the concentration with the Transport of Diluted Species interface or the Transport of Diluted Species in Porous Media interface. Such an approach is used in our MEMS Pressure Sensor Drift due to Hygroscopic Swelling example, new with COMSOL Multiphysics version 5.1.

One way to feed the computed concentration to the Solid Mechanics interface is to specify the desired concentration variable in the combo box of the Hygroscopic Swelling feature. There is, however, an even simpler approach.

In version 5.1, you can use a multiphysics coupling, which is made available when at least a solid mechanics and a transport physics interface are both present in the model tree. With this coupling feature, you simply have to specify which transport interface the concentration derives from and which solid mechanics interface to which you are applying hygroscopic swelling. You will also need to set the reference concentration, the molar mass, and the coefficient of hygroscopic swelling for all of the selected domains. When using the multiphysics coupling, you do not need to add any hygroscopic swelling subnodes to the material models.

A screenshot of the model tree of the hygroscopic swelling feature in COMSOL Multiphysics.

A screen capture of the moisture concentration input.
An image of the structure input in a hygroscopic swelling simulation.

Selecting the participating physics interfaces in the Multiphysics Coupling node for hygroscopic swelling.

An image showing the Transport of Diluted Species interface to visualize moisture concentration.
A plot of displacement caused by hygroscopic swelling.

Left: Moisture concentration computed in the Transport of Diluted Species interface. Right: Displacement resulting from hygroscopic swelling.

Bending: Beams, Shells, and Plates

In the Beam, Shell, and Plate interfaces, the moisture concentration input is partitioned into an average concentration on the center line or midsurface, and a concentration gradient in the transverse direction(s). The latter causes the structure to bend.

The input for hygroscopic swelling in the Beam interface contains concentration gradient in the local y- and z-directions. In the Shell and Plate interfaces, it contains a concentration difference between the top face and the bottom face.

A screenshot showing the 2D Beam interface.
Hygroscopic bending in a 2D Beam interface.

A graph plotting the moisture concentration in the 2D Beam interface in COMSOL simulation software.
An image showing bending in the 2D beam interface caused by displacement due to hygroscopic swelling.

On the left: Moisture concentration. On the right: Resulting displacement. In the solid, bending is caused by the nonuniform expansion, which is higher on the top face than the bottom face. In the beam, the bending caused by the same effect is captured using the moisture gradient c_{\textrm{g}y}. In both plots, the solid model is placed above the beam model.

Added Mass

When the “Include moisture as added mass” checkbox is marked (6), the weight of the water that is absorbed or released by the solid will have an effect on the mass-dependent phenomena, such as gravity or rotating frame loads. It will also have an effect on inertial terms in time-dependent or frequency domain studies.

A plot of the displacement in two bars analyzed by a frequency sweep.
A graph plotting two bars subject to hygroscopic swelling and their frequency response.

On the left: Displacement of two bars analyzed with a frequency sweep when one of them is subjected to hygroscopic swelling. On the right: Frequency response of the two bars. The water absorbed during hygroscopic swelling increases the mass and decreases the resonance frequency.

The total mass, including the water mass uptake, can be calculated in a Mass Properties node under Definitions. The mass variable can then be used in postprocessing for comparison with the measured mass of the solid — a convenient way to evaluate the moisture concentration in real life.

A screenshot of the Mass Properties node in COMSOL Multiphysics.
Screenshot of the Mass Properties node.


Taking hygroscopic swelling into consideration is important in the design of many devices. By analyzing how different materials respond to that effect, you can optimize your design so as to prevent the failure of components and to ensure the device’s intended operation. Here, we have demonstrated how the hygroscopic swelling functionality in COMSOL Multiphysics can be a valuable tool for such an analysis. With the Hygroscopic Swelling feature, you can quantify the effects of hygroscopic swelling in a way that is both accurate and efficient.

Further Reading

Comments (9)

Leave a Comment
Log In | Registration
Yakubu Balogun
December 18, 2017

Thank you very much for this post.

I am currently working on modelling of hygroscopic polymer in porous media but my software does not have the “hygroscopic swelling sub-node” under the “Linear elastic material” node.
Another issue is that the multiphysics node does not come on when I have transport of dilute species in porous media and the solid mechanics as the physics.

Please, what could be the problem?


Nicolas Lorphelin
December 19, 2017

Hello Yakubu,

Hygroscopic swelling (both subnode of linear elastic material and multiphysics node) requires Structural Mechanics or MEMS module to be available.
Contact your local sales representative through for more information.


Haopeng Wang
April 12, 2018

Thank you very much for this post.
I am currently working on swelling phenomenon of rubber in organic solvents. I guess this model is also suitable for this case. One problem I met is that in the linear elastic material subnode, sometimes the equations show small deformation theory, sometimes large deformation. Actually I used the same material (SBR rubber) which is supposed to be the large deformation case. So I was a bit confused. How can I choose between the large and small theory? I used the small deformation theory and obtained a very large deformation result.

Also, it seems in the transport domain, mass concentration is not available.


Chi Zhang
September 2, 2018


could the result of the first example be wrong?

I reproduced the first example and find an opposite result. Free structure showed a large von Mises stress, however the constrained structure showed a zero von Mises stress.

Nicolas Lorphelin
September 4, 2018


You are right. Actually von Mises stress reflects the deviatoric stress , so it is not a good candidate to show results in pure compression problems. By default the 2D solid mechanics in COMSOL assumes plane strain, so in the free case the stress tensor is non zero only on out-of-plane component so von Mises stress is non-zero, and in the constrained case the stress tensor is diagonal so von Mises stress is zero.
The right way of doing is either build a 3D model an d constrain properly, or in 2D assume plane stress in the free case and plane strain in the constrained case. Then display pressure ( or XX component of stress instead of von Mises stress.

Zi Ying Lee
December 12, 2018


I am currently doing Hygroscopic Swelling but am unable to obtain a swelling result. I do not know why I am unable to. Would it be possible to consult you as to what went wrong with my COMSOL please? My email address is: Do drop me an email if you are able to help me! Thank you!

Brianne Costa
December 12, 2018

Hello Zi,

Thank you for your comment and interest in this blog post.

For questions related to your modeling, please contact our Support team.

Online Support Center:

Jon Leman
April 12, 2019

Once you place a “Mass Properties” node under definitions, where do you go to view calculated results (mass, center of mass, inertia, etc.)?

Nicolas Lorphelin
April 15, 2019

Dear Jon,
Under the Result node you have to create a global evaluation (e.g. in 1D plot group or in derived values) and select in the plot menu Component 1 > Definitions > Mass Properties 1 > Mass.
You can also type directly the name of the variable, such as mass1.mass.
You can find an example of it in the model from the application gallery: .