The COMSOL Multiphysics® software and many of its add-on modules include built-in material libraries, which are databases with materials and their associated material properties. There is also an add-on Material Library product, which contains up to 24 separate material properties and 10,328 materials with more than 84,000 material property datasets as of version 6.0. Here, we go over the built-in material libraries and the add-on Material Library, as well as how you can use each of them in your simulations.
Editor’s note: This blog post was updated on April 1, 2022, to reflect new functionality in version 6.0 of the COMSOL Multiphysics® software.
The Material Library
The Material Library product contains a comprehensive set of material properties, all of which have references. Almost all material properties are also defined as a function of the temperature. The temperature-dependent values are typically defined as piecewise polynomial functions of the temperature T, and the input to those functions can be the temperature from a simulated temperature field in a heat transfer simulation.
The Material Library spans a wide range of materials:
- Elements
- Alloys
- Iron
- Nickel
- Aluminum
- Copper
- Magnesium
- Titanium
- Magnetic
- Cobalt
- Thermocouple
- And more
- Tool steels
- Cast irons
- Polyamides
- Polymer and polymer composites
- Minerals, rocks, and soils
- Woods
- Thermoplastics, polyethers, and polyesters
- Thermal insulators
- Semiconductors and optic materials
- Solders
- Dental materials
- Foods
- Salts
- Fuel cell, battery, and electroceramic materials
- Silicides, borides, and nitrides
- Glasses and metallic glasses
- Mold materials
- And many more
The material properties include the following properties, which are widely used in the physics interfaces available in the COMSOL® software:
- Thermal conductivity
- Coefficient of thermal expansion
- Heat capacity at constant pressure
- Electrical conductivity
- Density
- Young’s modulus
- Poisson’s ratio
- Yield stress and hardening curve
- Dynamic viscosity
Note: The material properties for a specific material vary depending on the type of material.
Variations for a Material
Many of the materials in the Material Library also include different orientations or other variations, which can be material properties at different operating conditions or for different variants of the same material.
The following image shows the copper alloy UNS C10200 in the Material Library displayed in the Material Browser window in the COMSOL Desktop®. The material property data is available for this material at different residual resistivity ratios, as annealed, and as 60% cold drawn:
The UNS C10200 copper alloy material from the Material Library. The values for the material properties are available for a number of variations. You can search for this material using the Deutsches Institut für Normung (DIN) or unified numbering system (UNS) numbers listed under the Orientation/variation list.
References for All Material Properties
All material properties in the Material Library contain references. You can see the reference information for a material property by first selecting a property in the Properties list. Its reference information then appears in the Property reference field underneath the list (see the image above).
The reference information typically includes some journal or paper, sometimes with a web address to an online version. There can also be notes about the accuracy of the property values, about reference temperatures or pressures, and other relevant information about the material property.
The Built-In Material Libraries in COMSOL Multiphysics® and the Add-on Modules
In addition to the Material Library product, the following built-in material libraries are available in COMSOL Multiphysics and its add-on modules:
Material Library | Product(s) | Details |
---|---|---|
Built-in material library | COMSOL Multiphysics |
|
AC/DC material library | AC/DC Module |
|
Battery material library | Battery Design Module |
|
Bioheat material library | Heat Transfer Module |
|
Building material library | Heat Transfer Module |
|
Corrosion material library | Corrosion Module |
|
Equilibrium Discharge material library | Plasma Module |
|
Fuel Cell & Electrolyzer material library | Fuel Cell & Electrolyzer Module |
|
Liquids and Gases material library |
|
|
MEMS material library |
|
|
Nonlinear Magnetic material library | AC/DC Module |
|
Nonlinear structural and geomechanics material models |
|
|
Optical material library |
|
|
Piezoelectric material library |
|
|
Piezoresistivity material library | MEMS Module |
|
RF material library | RF Module |
|
Semiconductor material library | Semiconductor Module |
|
Thermoelectric material library | Heat Transfer Module |
|
You can also define user-defined material libraries. You can then right-click that Material node and choose Add to User-Defined Library or any other user-defined material libraries. User-defined material libraries can also include complete layered material layups.
How to Use Materials in Your Simulations
Here, we will take a look at how you can browse the material libraries, add a material to your model, and use the material properties in simulations.
Browsing the Material Libraries
There are two windows in the COMSOL Desktop environment that you can use to browse materials and add materials to your simulation model:
- The Material Browser window, which, in addition to searching and browsing for materials and adding them to the model, provides full information about the materials and their material properties. In this window, you can also create new user-defined material libraries and import material libraries from a MPH-file or XML file. You open this window by right-clicking the Materials node and choosing Browse Materials, or by clicking the Browse Materials button on the Materials toolbar. A screenshot of the Material Browser window appears above.
- The Add Material window, which is useful for quickly searching and browsing for materials and then adding them to the model, either as global materials or to one of the model components. You open this window by right-clicking the Materials node and choosing Add Material from Library, or by clicking the Add Material button on the Materials toolbar. See below:
The Add Material window, from which you can quickly choose and add materials to the model. Recently added materials are available at the top.
Searching for Materials
In both the Material Browser window and the Add Material window, you can search for any material by name using the Search field at the top of those windows. To find all materials that are gold or gold alloys, for example, use gold as the search term.
For materials in the Material Library product, you can also search for materials using their DIN or UNS numbers, which are available for many materials, such as tool steels and alloys.
Plotting Material Properties
The material properties in the Material Library product typically depend on the temperature, and most of them are described as piecewise polynomial functions of temperature. The other libraries also include some temperature-dependent material properties as well as some that depend on other quantities such as the absolute pressure. Most material properties are, however, represented using a single value. For a nonconstant material property, a Piecewise subnode typically describes the variation.
In the Settings window for a Piecewise node, you can see the polynomials used in each interval, and you can click the Plot button to create a Function Plot that plots the property as a function of temperature; for example, in a separate plot window. Click the Create Plot button to instead create a separate 1D Plot Group under Results that shows the same plot of the material property’s values as a function of temperature.
The Piecewise function that describes the thermal conductivity k as a function of the temperature T for iron. The Function plot shows how the thermal conductivity varies in the defined temperature range from 0 to 1810 Kelvin.
Using Materials from Material Libraries
Most physical quantities in the physics interfaces are made to take their values from a material by default. With the From material setting, the value of the physical quantity is taken from the material that is active in the part of the geometry that the physics node’s selection covers.
The following plot shows the Settings window for a Solid node in the Heat Transfer in Solids interface. It contains the material properties needed for simulating heat transfer by conduction in a solid material:
- Thermal conductivity
- Density
- Heat capacity at constant pressure
All of their values are set to From material to pick the value from the active materials defined for the same geometric parts as the ones in the selection for the Solid node. If the material properties depend on the temperature, it is taken directly from the temperature field that is the dependent variable in heat transfer physics.
All physical quantities needed for heat transfer in solids are taken from the material.
If your COMSOL Multiphysics model does not include a heat transfer interface that provides a temperature field as a dependent variable, then the Temperature input under Model Input becomes available. The image below shows the Settings window for the Current Conservation feature in the Electric Currents interface. You can choose between User defined, where you enter a value or expression for the temperature, or Common model input, where the temperature is taken from a model input. It can be defined in the Default Model Input node under Global Definitions or in a local Model Input node in the model component.
For temperature-dependent material properties in the Electric Currents interface, you can choose to use a user-defined temperature or a temperature taken from a model input, when no temperature field is available from a heat transfer interface.
The following image shows the Settings window for the Default Model Inputs node. It contains the model inputs requested by the physics and materials and also the expressions used for the model inputs. In this case, the temperature as a model input is set to a constant value that represents a normal indoor temperature (20°C).
The Default Model Inputs settings show which features request a model input and the expressions used for the model input (here, the temperature, requested by the Current Conservation feature and for a number of material properties in the Iron material).
All Things Material
In this blog post, we have taken a look at the material libraries that are available with COMSOL Multiphysics and many of its add-on modules. The material libraries that are included with the add-on modules contain materials and material properties that are of interest for use with the physics and application areas that the add-on module is most useful for. In addition, all of the materials in the Material Library product have a wide range of temperature-dependent properties, with references. For many materials in the Material Library, you can also choose a phase and other variations.
We have also shown how to browse and search for materials, how to plot material properties that depend on some quantity (most often the temperature), and how to use materials from the material libraries in your COMSOL Multiphysics simulations. For additional information about material libraries and materials in COMSOL Multiphysics, check out the following resources:
- Product page for the Material Library
- Blog post: “Efficiently Assign Materials in Your COMSOL Multiphysics® Model“
- Videos:
MatWeb is a trademark of of MatWeb, LLC.
Comments (10)
Alejandro Pérez-Ponce
May 1, 2020Hello Mr. Ringh,
thank you very much for your article.
I have a question on materials: How can I see the numerical value of a property for a material?,
As an example: I need to know the numerical value of the thermal conductivity of the water from the material database.
Thanks in advance,
Alejandro Pérez Ponce
Magnus Ringh
May 4, 2020 COMSOL EmployeeHello Alejandro,
The thermal conductivity for water is a piecewise polynomial function of the temperature. You can view its definition in a Piecewise subnode with the function name “k” under the Basic node under the Water, liquid material. You can then plot the function as a function of temperature to estimate the value of the thermal conductivity for some temperature in the range for which it is defined. You can also evaluate its value for a specific temperature in a Global Evaluation node under Derived Values in the Results part. Then use an expression such as “mat1.def.k(294[K])” to evaluate the thermal conductivity at 294 K for a material with the tag “mat1”. The value appears in a Table window.
I hope that this helps!
Best regards,
Magnus Ringh, COMSOL
Alhassan Haruna Umar
October 11, 2020Please what material can be used to represent the human tissue? Does it require defining the boundary conditions if for example between a tissue (skin) and a metal conductor material? Thank you
Magnus Ringh
October 12, 2020 COMSOL EmployeeHello Alhassan,
Take a look at the Bioheat material library, which is included with the Heat Transfer Module. It includes materials such as bone, fat, liver, muscle, and skin. Regarding boundary conditions, those are a function of the physics that you want to model and the assumptions and conditions for the model setup.
Best regards,
Magnus Ringh, COMSOL
Yabin Ye
August 10, 2021Hi Mr. Ringh,
In the material library, for one Liquid Crystal, ne and no are given separately. However, as birefringent material, Liquid crystal should contain both ne and no. How to build this kind of material model?
One more question. Liquid crystal molecules rotate with applied electric field, how to model this?
Thanks and regards,
Yabin Ye
Magnus Ringh
August 16, 2021 COMSOL EmployeeHi Yabin,
There are a few materials in the Optical Material Library where the refractive index along the ordinary and extraordinary axes are entered as separate materials rather than a single material with an anisotropic refractive index. They were entered separately because the Ray Optics Module does not currently support birefringence.
To learn about defining a birefringent material for Wave Optics simulation, a good starting point is this example model on stress optical effects in a waveguide:
https://www.comsol.com/model/optically-anisotropic-waveguide-57481.
Note that you must define a coordinate system in which the refractive index tensor is diagonal.
Best regards,
Magnus Ringh, COMSOL
Leire Casas Camacho
February 8, 2023Hello!
In my material list there’s no Nafion material for the 2D_PEM_GDL model …how can I upload it or make it visible?
Magnus Ringh
February 8, 2023 COMSOL EmployeeHello Leire,
There a two types of Nafion materials in the Fuel Cell and Electrolyzer material library. It’s included with a license for the Fuel Cell & Electrolyzer Module, so check if your COMSOL license includes that module.
Best regards,
Magnus
Mammad Bagher
August 5, 2024Hello Mr. Ringh,
Thanks for the article.
I have faced a problem. Since there is a limited number of only silicon piezoresistive materials, I was trying to define my own material such as SiC piezoresistive material. However, I found that for the defined material in this section there is no way to add dopant concentration. Since this value has still very importan impact on the material performance, how should I tackle this issue?
Many thanks,
Mammad
Magnus Ringh
August 12, 2024 COMSOL EmployeeHi Mammad,
You can add Local Parameters for any arbitrary “property”, like Na or Nd for acceptor or donor concentration. These properties will not become available to all places where a dopant concentration is needed. It is up to you as the user to manually enter the variable name for the local material property, and there teh COMSOL Multiphysics software adds two different variables for each local property:
* material.def.Nd: The property as defined by materials on domains, boundaries, and so on. This is a variable defined on geometry domains.
* mat1.def.Nd: The property as defined by the material named ‘mat1’. This is a global variable whose value is available everywhere.
Note that if it is used inside the same property group that defines the local parameter, you should only use the “unscoped name”, Nd.