Introduction to COMSOL Multiphysics
Introduction to COMSOL Multiphysics
Comsol Multiphysics ®
Version 4.3b
comsol_introduction.book Page i Monday, April 29, 2013 2:57 PM
Contact Information
Visit the Contact Us page at www.comsol.com/contact to submit general inquiries, contact
Technical Support, or search for an address and phone number. You can also visit the Wordwide
Sales Offices page at www.comsol.com/contact/offices for address and contact information.
If you need to contact Support, an online request form is located at the COMSOL Access page at
www.comsol.com/support/case.
Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
The COMSOL Desktop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Example 1: Structural Analysis of a Wrench . . . . . . . . . . . . . . . . 20
Example 2: The Busbar—A Multiphysics Model . . . . . . . . . . . . . 42
Advanced Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Parameters, Functions, Variables and Model Couplings. . . . 69
Material Properties and Material Libraries. . . . . . . . . . . . . . . 73
Adding Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Adding Physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Parametric Sweeps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Parallel Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Appendix A—Building a Geometry . . . . . . . . . . . . . . . . . . . . . . 107
Appendix B—Keyboard and Mouse Shortcuts . . . . . . . . . . . . . 121
Appendix C—Language Elements and Reserved Names . . . . 124
Appendix D—File Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Appendix E—Connecting with LiveLink™ Add-Ons. . . . . . . . 142
|i
comsol_introduction.book Page ii Monday, April 29, 2013 2:57 PM
ii |
comsol_introduction.book Page 1 Monday, April 29, 2013 2:57 PM
Introduction
Introduction |1
comsol_introduction.book Page 2 Monday, April 29, 2013 2:57 PM
MENU BAR—Use these menus for access MAIN TOOLBAR—The main toolbar has
to functionality such as file load/save, standard buttons for frequently used
selections, desktop layout, preferences, and actions such as load/save, print, and help.
documentation. It adapts to the active Model Tree node.
MODEL BUILDER
TOOLBAR
INITIAL MODEL
TREE
The Desktop on the previous pages is what you see when you first start COMSOL.
The COMSOL Desktop provides a complete and integrated environment for
physics modeling and simulation. You can customize it to your own needs. The
Desktop windows can be resized, moved, docked and detached. Any changes you
make to the layout will be saved when you close the session and used again the
next time you open COMSOL. As you build your model, additional windows and
widgets will be added. (See page 16 for an example of a more developed desktop).
Among the possible windows are the following:
Settings Window
This is the main window for entering all of the specifications of the model, the
dimensions of the geometry, the properties of the materials, the boundary
conditions and initial conditions, and any other information that the solver will
need to carry out the simulation.
Plot Windows
These are the windows for graphical output. In addition to the Graphics window,
Plot windows are used for Results visualization. Several Plot windows can be used
to show multiple results simultaneously. A special case is the Convergence Plot
Information Windows
These are the windows for non-graphical information. They include:
• Messages: Various information about events of the current COMSOL
session is displayed in this window.
• Log: Information from the solver such as number of degrees of freedom,
solution time and solver iteration data.
• Progress: Progress information from the solver as well as stop buttons.
• Table: Numerical data in table format as defined in the Results branch.
• External Process: Provides a control panel for cluster, cloud and batch jobs.
Other Windows
• Material Browser: Access the material property libraries.
• Model Library Update: An update service for downloading new model
tutorials as well as update existing models to the Model Library.
• Selection List: A list of geometry objects, domains, boundaries, edges and
points which are currently available for selection.
Dynamic Help
The Help window provides context dependent help texts about windows and
Model Tree nodes. If you have the Help window open in your desktop (by typing
F1 for example) you will get dynamic help (in English only) when you click a node
or a window. From the Help window you can search for other topics such as menu
items.
Prefe re n c es
Preferences are settings that affect the modeling environment. Most are persistent
between modeling sessions, but some are saved with the model. You access
Preferences from the Options menu.
In the Preferences window you can change settings such as graphics rendering,
number of displayed digits for Results, or maximum number of CPU cores used
for computations. Take a moment to browse your current settings to familiarize
yourself with the different options.
There are three graphics rendering options available: Open GL, Direct X, and
Software Rendering. Direct X is not available on Mac OS X or Linux but is
available on Windows if you choose to install the Direct X runtime libraries during
installation. If your computer doesn’t have a dedicated graphics card, you may
have to switch to Software Rendering for slower but fully functional graphics. A
list of recommended graphics cards can be found at:
http://www.comsol.com/products/requirements/
If you cannot use the arrow-keys to step up and down the Preferences list,
you should change the Rendering selection in the Graphics Preferences.
T h e M o d e l B u i l d e r a n d t h e M o d e l Tre e
The Model Builder is the tool where you define the model: how to solve it, the
analysis of results, and the reports. You do that by building a Model Tree.
You build the tree by starting with a default Model Tree, adding nodes, and
editing the node settings.
All of the nodes in the default Model Tree are top-level parent nodes. You can
right-click on them to see a list of child nodes, or subnodes, that you can add
beneath them. This is the means by which nodes are added to the tree.
When you left-click on a child node, then you will see its node settings in the
Settings window. It is here that you can edit node settings.
It is worth knowing that if you have the Help window open (which is achieved
either by clicking Help in the menu bar, or by typing function key F1), then you
will also get dynamic help (in English only) when you click on a node.
The Results node is where you access the solution after performing a simulation
and where you find tools for processing the data. The Results node initially has
five subnodes:
• Data Sets: contains a list of
solutions you can work with.
• Derived Values: defines values to
be derived from the solution using
a number of postprocessing tools.
• Tables: is a convenient destination
for the Derived Values, or for
Results generated by probes that
monitor the solution in real-time
while the simulation is running.
• Export: defines numerical data, images and animations to be exported to
files.
• Reports: contains automatically generated or custom reports about the
model in HTML or Microsoft Word format.
To these five default subnodes you may also add additional Plot Group subnodes
that define graphs to be displayed in the Graphics window or in Plot windows.
Some of these may be created automatically, depending on the type of simulations
you are performing, but you may add additional figures by right-clicking on the
Results node and choosing from the list of plot types.
Note that each Study node may carry out a different type of computation, so each
one has a separate Compute button.
To be more specific, suppose
that you build a model that
simulates a coil assembly that is
made up of two parts, a coil
and a coil housing. You could
create two Model nodes, one
of which modeled the coil and
the other of which modeled
the coil housing. You would
then rename each of the nodes
with the name of the object
that it modeled. Similarly, you
might also create two Study
nodes, the first simulating the
stationary, or steady-state, behavior of the assembly and the second simulating the
frequency response. You could rename these two nodes to Stationary and
Frequency Domain. When the model is completed, it could be saved to a file
named Coil Assembly.mph. At that point, the Model Tree in the Model Builder
would look like the figure to the right.
In this figure, the Root node is named Coil Assembly.mph, indicating the file in
which the model is saved. The Global Definitions node and the Results node each
have their default name. In addition there are two Model nodes and two Study
nodes with the names chosen in the previous paragraph.
Parameters
Parameters are user-defined constant scalars that are usable throughout the Model
Tree. (That is to say, they are “global” in nature.) Important uses are:
• Parameterizing geometric dimensions
• Specifying mesh element sizes
• Defining parametric sweeps (i.e. simulations that are repeated for a variety
of different values of a parameter).
A Parameter Expression can contain numbers, parameters, built-in constants,
functions with Parameter Expressions as arguments, and unary and binary
operators. For a list of available operators, see “Appendix C—Language Elements
and Reserved Names” on page 124. Because these expressions are evaluated
before a simulation begins, Parameters may not depend on the time variable t.
Likewise, they may not depend on spatial variables, like x, y, or z, nor on the
dependent variables that your equations are solving for.
It is important to know that the names of Parameters are case-sensitive.
You define Parameters in the Model Tree under Global Definitions.
Variables
Variables can be defined either in the Global Definitions node or in the Definitions
subnode of any Model node. Naturally the choice of where to define the variable
depends upon whether you want it to be global (i.e. usable throughout the Model
Tree) or locally defined within a single one of the Model nodes. Like a Parameter
Expression, a Variable Expression may contain numbers, parameters, built-in
constants, and unary and binary operators. However, it may also contain Variables,
like t, x, y, or z, functions with Variable Expressions as arguments, and dependent
variables that you are solving for as well as their space and time derivatives.
Scope
The “scope” of a Parameter or Variable is a statement about where it may be used
in an expression. As we have said, all Parameters are defined in the Global
Definition node of the model tree. This means that they are global in scope and
can be used throughout the Model Tree.
A Variable may also be defined in the Global Definitions node and have global
scope, but they are subject to limitations other than their scope. For example,
Variables may not be used in Geometry, Mesh, or Study nodes (with the one
exception that a Variable may be used in an expression that determines when the
simulation should stop).
A Variable that is defined, instead, in the Definitions subnode of a Model node
has local scope and is intended for use in that particular Model (but, again, not in
Geometry or Mesh nodes). They may be used, for example, to specify material
properties in the Materials subnode or to specify boundary conditions or
interactions. It is sometimes valuable to limit the scope of the variable to only a
certain part of the geometry, such as certain boundaries. For that purpose,
provisions are made in the Settings for a Variable definition to apply the definition
either to the entire geometry of the Model, or only to certain Domains,
Boundaries, Edges, or Points.
The picture below shows the definition of two Variables, q_pin and R, in which
the scope is being limited to just two boundaries identified by numbers 15 and 19.
Similarly they could have been defined only on selected Domains, Edges, or
Points. Such Selections can optionally be named and then referenced elsewhere in
a model, such as when defining material properties or boundary conditions that
will use the Variable. To give a name to the Selection, click on the Create Selection
button ( ) to the right of the Selection list.
Although Variables defined in the Definitions subnode of a Model node are
intended to have local scope, they can still be accessed outside of the Model node
in the Model Tree by being sufficiently specific about their identity. This is done
by using a “dot-notation” in which the Variable name is preceded by the name of
the Model node in which it is defined and they are joined by a “dot.” In other
words, if the Variable named foo is defined in a Model node named MyModel,
then this variable may be accessed outside of the Model node by using
MyModel.foo. This can be useful, for example, when you want to use the variable
to make plots in the Results node.
B u i l t - i n C o n s t a n t s , Va r i a bl e s a n d F u n c t i o n s
COMSOL comes with many built-in constants, variables and functions. They have
reserved names that cannot be redefined by the user. If you use a reserved name
for a user-defined variable, parameter, or function, the text where you enter the
name will turn orange (a warning) or red (an error) and you will get a tooltip
message if you select the text string.
Some important examples are:
• Mathematical constants such as pi (3.14...) or the imaginary unit i or j
• Physical constants such as g_const (acceleration of gravity), c_const (speed
of light), or R_const (universal gas constant)
• The time variable t
• First and second order derivatives of the Dependent variables (the solution)
whose names are derived from the spatial coordinate names and Dependent
variable names (which are user-defined variables)
• Mathematical functions such as cos, sin, exp, log, log10, and sqrt
See “Appendix C—Language Elements and Reserved Names” on page 124 for
more information.
Model Library examples. You can use the step-by-step instructions and the Model
MPH-files as a template for your own modeling and applications.
To open the Model Library, select View>Model Library ( ) from the main
menu, and then search by model name or browse under a module folder name.
Click to highlight any model of interest, and select Open Model and PDF to open
both the model and the documentation explaining how to build the model.
Alternatively, click the Help button ( ) or select Help>Documentation in
COMSOL to search by model name or browse by module.
The Model Library is updated on a regular basis by COMSOL. Choose
View>Model Library Update ( ) to update the model library. This connects you
to COMSOL’s Model Update website where you can access the latest models and
model updates. This may typically include models that have been added or
improved since the latest product release.
The MPH-files in the COMSOL Model Library can have two formats—Full
MPH-files or Compact MPH-files.
• Full MPH-files include all meshes and solutions. In the Model Library these
models appear with the icon. If the MPH-file’s size exceeds 25MB, a
tooltip with the text “Large file” and the file size appears when you position
the cursor at the model’s node in the Model Library tree.
Compact MPH-files include all settings for the model but have no built meshes
and solution data to save file size. You can open these models to study the settings
and to mesh and re-solve the models. It is also possible to download the full
versions—with meshes and solutions—of most of these models through Model
Library Update. In the Model Library such models appear with the icon. If
you position the cursor at a compact model in the Model Library window, a No
solutions stored message appears. If a full MPH-file is available for download, the
corresponding node’s context menu includes a Model Library Update item.
MODEL BUILDER WINDOW—The modeling MENU BAR—Use these menus for MAIN TOOLBAR—The main toolbar
process is controlled through the Model Builder access to functionality such as file has standard buttons for frequently used
window with a Model Tree together with load/save, selections, desktop layout, actions such as load/save, print, and help.
associated toolbar buttons. preferences, and documentation. It adapts to the active Model Tree node.
MODEL TREE—The
Model Tree gives an
overview of the model
and all the functionality
and operations needed
for building and solving a
model as well as
processing the results.
SETTINGS WINDOW—
Click any node to see its
associated settings
window displayed next to
the Model Builder.
MODEL LIBRARY
WINDOW—Easy
access to COMSOL and
user model libraries.
GRAPHICS WINDOW—The Graphics window presents DYNAMIC HELP—Continuously updated with online
interactive graphics for Geometry, Mesh, and Results. access to the Knowledge Base and Model Gallery.
Interactions include rotating, panning, zooming, and selecting. The Help window enables easy browsing with extended
It is the default window for most Results visualizations. search functionality.
Wo r k f l ow a n d S e q u e n c e o f O p e r a t i o n s
In the Model Builder window of this example, every step of the modeling process,
from defining global variables to the final report of results, is displayed in the
Model Tree.
From top to bottom, the Model Tree defines an orderly sequence of operations.
In the following branches of the Model Tree, node order makes a difference and
you can change the sequence of operations by moving the nodes up or down the
Model Tree:
• Geometry
• Material
• Physics
• Mesh
• Study
• Plot Groups
In the Model Definitions branch of the tree, the ordering of the following node
types also makes a difference:
• Perfectly Matched Layers
• Infinite Elements
M o d e l W i z a rd
The Model Wizard, visible to the right of the Model Builder, will guide you
through the first steps of setting up a model. The first window lets you select
the dimension of the modeling space.
2 In the Select Space Dimension
window, the 3D button is selected
by default. Click Next .
Geometr y
This tutorial uses a geometry that was previously created and stored on
COMSOL’s native CAD format .mphbin. To learn how to build your own
geometry, see “Appendix A—Building a Geometry” on page 107.
File Locations
The location of the Model Library that contains the model file used in this exercise
varies based on the software installation and operating system. On Windows, the
file path will be similar to C:\Program Files\COMSOL\COMSOL43b\models\.
2 In the Import settings window, from the Geometry import list, select
COMSOL Multiphysics file.
3 Click Browse and locate the file wrench.mphbin in the Model Library folder of
the COMSOL installation folder. Its default location on Windows is
C:\Program Files\COMSOL\COMSOL43b\models\COMSOL_Multiphysics\
Structural_Mechanics\wrench.mphbin
Double-click to add or click Open.
5 Click the wrench geometry in the Graphics window and experiment with
moving it around. As you click and right-click the geometry, it changes color.
Click the Zoom In , Zoom Out , Go to Default 3D View , Zoom
Extents , and Transparency buttons on the toolbar to see what happens to
the geometry:
- To rotate the model, left-click and drag it in the Graphics window.
- To move it, right-click and drag.
- To zoom in and out, center-click (and hold) and drag.
Also see “Appendix B—Keyboard and Mouse Shortcuts” on page 121 for
additional information.
The imported model has two parts, or domains, corresponding to the bolt and the
wrench. In this exercise, the focus will be on analyzing the stress in the wrench.
Mate rials
The Materials node stores the material properties for all physics and all domains
in a Model node. Use the same generic steel material for both the bolt and tool.
Here is how to choose it in COMSOL.
1 Open the Material Browser.
You open the Material Browser in
either of these two ways:
- Right-click Materials in the
Model Builder and select Open
Material Browser
- Use the Menu Bar to select View >
Material Browser
2 In the Material Browser, under
Materials, expand the Built-In
folder. Scroll down to find
Structural Steel, right-click and
select Add Material to Model.
Global Definitions
You will now define a global parameter specifying the load applied to the wrench.
Parameters
1 In the Model Builder, right-click Global Definitions and choose
Parameters .
2 Go to the Parameters settings window. Under Parameters in the Parameters
table (or under the table in the fields), enter these settings:
- In the Name column or field, enter F.
- In the Expression column or field, enter 150[N]. The square-bracket
notation is used to associate a physical unit to a numerical value, in this case
the unit of force in Newton. The Value column is automatically updated
based on the expression entered (when you leave the window or press
Return).
- In the Description column or field,
enter Applied force.
The sections “Global Definitions” on
page 45 and “Parameters, Functions,
Variables and Model Couplings” on
page 69 show you more about working
with parameters.
D o m a i n P hy s i c s a n d B o u n d a r y C o n d i t i o n s
With the geometry and materials defined, you are now ready to set the boundary
conditions.
1 In the Model Builder,
right-click Solid
Mechanics (solid) and
select Fixed Constraint .
This boundary condition
constrains the
displacement of each
point on a boundary
surface to be zero in all
directions.
indicates the negative z direction (downward). With these settings, the load of
150 N will be distributed uniformly across the selected surface.
Note that to simplify the modeling process, the mechanical contact between the
bolt and the wrench is approximated with a material interface boundary
condition. Such an internal boundary condition is automatically defined by
COMSOL and guarantees continuity in normal stress and displacement across
a material interface.
Me sh
The mesh settings determine the resolution of the finite element mesh used to
discretize the model. The finite element method divides the model into small
elements of geometrically simple shapes, in this case tetrahedrons. In each
tetrahedron, a set of polynomial functions is used to approximate the structural
displacement field—how much the object deforms in each of the three coordinate
directions.
In this example, because the geometry contains small edges and faces, you will
define a slightly finer mesh than the default setting suggests. This will better
resolve the variations of the stress field and give a more accurate result. A finer
mesh, however, comes at a cost: the computation time as well as memory usage
will go up. Choosing a mesh size is always a trade-off between accuracy on the one
hand and speed and memory usage on the other hand.
1 In the Model Builder, under Model 1 click Mesh 1 . In the Mesh settings
window, under Mesh Settings, select Fine from the Element size list.
2 Click the Build All button on the Mesh settings window toolbar.
3 After a few seconds the mesh is displayed in the Graphics window. Zoom in to
the mesh and have a look at the element size distribution.
Study
In the beginning of setting up the model you selected a Stationary study, which
implies that COMSOL will use a stationary solver. For this to be applicable, the
assumption is that the load, deformation and stress do not vary in time. The
default solver settings will be good for this simulation if your computer has more
than 2 GB of in-core memory (RAM). If you should run out of memory, the
instructions below will show solver settings that make the solver run a bit slower
but use up less memory. To start the solver:
1 Right-click Study 1 and select
Compute (or press F8).
The von Mises stress is displayed in the Graphics window in a default Surface plot
with the displacement visualized using a Deformation subnode. Change the
default unit (N/m2) to the more suitable MPa as shown by following steps.
1 In the Model Builder, expand the Results>Stress (solid)
node, then click Surface 1 .
3 Click the Plot button in the toolbar of the settings window for the Surface
plot and then the Zoom Extents button on the Graphics toolbar.
The plot is regenerated with the updated unit and shows the von Mises stress
distribution in the bolt and wrench under an applied vertical load. (This plot
does not use the Recover option described earlier.)
For a typical steel used for tools like a wrench, the yield stress is about 600 MPa,
which means that we are getting close to plastic deformation for our 150 N load
(which corresponds to about 34 pounds force). You may also be interested in a
safety margin of, say, a factor of three. To quickly assess which parts of the wrench
are at risk of plastic deformation, you can plot an inequality expression such as
solid.mises>200[MPa].
1 Right-click the Results node and add a 3D Plot Group .
2 Right-click the 3D Plot Group 2 node and select Surface .
You may have noticed that the manufacturer, for various reasons, has chosen an
asymmetric design of the wrench. Because of that, the stress field may be
different if the wrench is flipped around. Try now, on your own, to apply the
same force in the other direction and visualize the maximum von Mises stress to
see if there is any difference.
To check the accuracy of the computed maximum von Mises stress in the wrench,
you can now continue with a mesh convergence analysis. Do that by using a finer
mesh and thereby a higher number of degrees of freedom (DOFs).
This section will illustrate some more in-depth functionality and the steps
below could be skipped at a first reading. In order to run the convergence
analysis below, a computer with at least 4GB of memory (RAM) is
recommended.
9 In the settings window under Expression, from the Unit list select MPa (or
enter MPa in the field).
10Click the Plot button . This type of plot simultaneously shows the location of
the max and min values and also their coordinate location in the table below.
R ESULTS A NALYSIS
As a final step, analyze the results from the parametric sweep by displaying the
maximum von Mises stress in a Table.
M o d e l W i z a rd
Global Definitions
could define, for example, Variables and Functions in the Definitions subnode
available directly under the corresponding Model node. However, no Parameters
can be defined here because COMSOL Parameters are always global.
Since you will run a geometric parameter study later in this example, define the
geometry using parameters from the start. In this step, enter parameters for the
length for the lower part of the busbar, L, the radius of the titanium bolts, rad_1,
the thickness of the busbar, tbb, and the width of the device, wbb.
You will also add the parameters that control the mesh, mh, a heat transfer
coefficient for cooling by natural convection, htc, and a value for the voltage
across the busbar, Vtot.
1 Right-click Global Definitions and choose Parameters . In the Parameters
table, click the first row under Name and enter L.
2 Click the first row under Expression and enter the value of L, 9[cm]. You can
enter the unit inside the square brackets.
3 Continue adding the other parameters: L, rad_1, tbb, wbb, mh, htc, and
Vtot according to the Parameters list. It is a good idea to enter descriptions
for variables in case you want to share the model with others and for your
own future reference.
4 Click the Save button and name the model busbar.mph. Then go to
“Appendix A—Building a Geometry” on page 107.
Geometr y
This section describes how the model geometry can be opened from the Model
Library. The physics, study, parameters, and geometry are included with the
model file you are about to open.
5 In the Graphics toolbar click the Zoom Extents button to see the wider
busbar in the Graphics window.
wbb=5cm wbb=10cm
10If you built the geometry yourself you are already using the busbar.mph file,
but if you opened the Model Library file, from the main menu, select File >
Save As and rename the model busbar.mph.
After creating or opening the geometry file, it is time to define the materials.
Mate rials
The Materials node stores the material properties for all physics and geometrical
domains in a Model node. The busbar is made of copper and the bolts are made
of titanium. Both these materials are available from the Built-In material database.
1 In the Model Builder, right-click Materials and select Open Material Browser
.
The Materials node will show a red × in the lower-right corner if you try
to solve without first defining a material (you are about to define that in
the next few steps).
2 In the Material Browser, expand
the Built-In materials folder and
locate Copper. Right-click
Copper and select Add
Material to Model.
A Copper node is added to the
Model Builder.
3 Click the Material Browser tab.
The Material Contents section has useful feedback about the model’s material
property usage. Properties that are both required by the physics and available
from the material are marked with a green check mark . Properties required
by the physics but missing in the material are marked with a warning sign . A
property that is available but not used in the model is unmarked.
The Coefficient of thermal expansion in the table above is not used, but
will be needed later when heat-induced stresses and strains are added to
the model.
Because the copper material is added first, by default all parts have copper
material assigned. In the next step you will assign titanium properties to the
bolts, which overrides the copper material assignment for those parts.
8 In the Model Builder, click Titanium beta-21S.
9 Select All Domains from the selection list and then click Domain 1 in the list.
Now remove Domain 1 from the selection list.
To remove a domain from the selection list (or any geometric entity such as
boundaries, edges, or points), you can use either of these two methods:
- Click Domain 1 in the selection list found in the Material settings window,
then click the Remove from Selection button .
- In the Graphics window, click domain 1 to select it, and then right-click to
remove it from the selection list.
Physics
Next you will inspect the physics domain settings and set the boundary conditions
for the heat transfer problem and the conduction of electric current.
1 In the Model Builder, expand the
Joule Heating node to examine the
default physics nodes.
The ‘D’ in the upper left corner of a
node’s icon ( ) means it is a default
node.
The equations that COMSOL solves
are displayed in the Equation section
of the settings window.
The default equation form is inherited
from the study added in the Model
Wizard. For the Joule Heating node,
COMSOL displays the equations
solved for the temperature and
electric potential.
To always display the section in its expanded view, click the Expand
Sections button ( ) on the Model Builder toolbar and select Equations.
Selecting this option expands all the Equation sections on physics settings
windows.
Domain section
Section divider
Boundary section
15
43
43
10In the Graphics window, click one Cross-check: Boundaries 8 and 15.
of the remaining bolts to highlight
it. Right-click anywhere to add it
to the Selection list.
8
Repeat this step to add the last
bolt. Boundaries 8 and 15 are
added to the selection list for the
Ground boundary condition.
15
Me sh
4 Click the Build All button in the Size settings window to create the mesh as
in this figure:
Study
Results
The default plot displays the temperature in the busbar. The temperature
difference in the device is less than 10 K due to the high thermal conductivity of
copper and titanium. The temperature variations are largest on the top bolt, which
conducts double the amount of current compared to the two lower bolts. The
temperature is substantially higher than the ambient temperature of 293 K.
1 Click and drag the image in the
Graphics window to rotate and
view the back of the busbar.
2 On the Graphics toolbar, click
the Go to Default 3D View
button .
You can now manually set the
color table range to visualize
the temperature difference in
the copper part.
3 In the Model Builder, expand the Results > Temperature node and click the
Surface 1 node .
4 In the Surface settings window, click Range to expand the section. Select the
Manual color range check box and enter 323 in the Maximum field (replace the
default).
5 Click the Plot button on the Surface settings window. On the Graphics
toolbar, click the Zoom Extents button to view the updated plot.
6 Click and drag in the Graphics window to rotate the busbar and view the back.
2 In the Surface settings window under Expression, click the Replace Expression
button . Select Joule Heating (Electric Currents) > Currents and charge >
Current density norm (jh.normJ).
jh.normJ is the variable for the magnitude, or absolute value, of the current
density vector. You can also enter jh.normJ in the Expression field when you
know the variable name.
5 Click the Plot button . The plot automatically updates in the Graphics
window.
The resulting plot shows how the current takes the shortest path in the
90-degree bend in the busbar. Notice that the edges of the busbar outside of
the bolts are hardly utilized for current conduction.
6 Click and drag the busbar in the Graphics window to view the back. Continue
rotating the image to see the high current density around the contact surfaces
of each of the bolts.
Make sure to save the model. This version of the model, busbar.mph, is
reused and renamed during the next set of tutorials.
When you are done, click the Go to Default 3D View button on the Graphics
toolbar and create a model thumbnail image.
Advanced Topics
Par a m e t e r s , F u n c t i o n s , Va r i a bl e s a n d M o d e l C o u p l i n g s
This section explores working with Parameters, Functions, Variables and Model
Couplings.
Global Definitions and Model Definitions contain functionality that help you to
prepare model inputs and model couplings and to organize simulations. You have
already used the functionality for adding Parameters to organize model inputs in
“Global Definitions” on page 45.
Functions, available as both Global Definitions and Model Definitions, contain a
set of predefined functions templates that can be useful when setting up
multiphysics simulations. For example, the Step function template can create a
smooth step function for defining different types of spatial or temporal transitions.
To illustrate using functions, assume that you want to add a time dependent study
to the busbar model by applying an electric potential across the busbar that goes
from 0 V to 20 mV in 0.5 seconds. For this purpose, you could use a step function
to be multiplied with the parameter Vtot. Add a function that goes smoothly from
0 to 1 in 0.5 seconds to find out how functions can be defined and verified.
D EFINING F UNCTIONS
For this section, you can continue working with the same model file created in the
previous section. Locate and open the file busbar.mph if it is not already open on
the COMSOL Desktop.
Advanced Topics | 69
comsol_introduction.book Page 70 Monday, April 29, 2013 2:57 PM
1 Right-click the Global Definitions node and select Functions > Step .
2 In the Step settings window, enter 0.25 in the Location field to set the location
of the middle of the step, where it has the value of 0.5.
3 Click Smoothing to expand the section and enter 0.5 in Size of the transition
zone field to set the width of the smoothing interval. Keep the default Number
of continuous derivatives at 2.
4 Click the Plot button in the Step settings window.
70 | Advanced Topics
comsol_introduction.book Page 71 Monday, April 29, 2013 2:57 PM
If your plot matches the one below, this confirms that you have defined the
function correctly.
You can also add comments and rename the function to make it more descriptive.
5 Right-click the Step 1 node
in the Model Builder and
select Properties .
Advanced Topics | 71
comsol_introduction.book Page 72 Monday, April 29, 2013 2:57 PM
For the purpose of this exercise, assume that you want to introduce a second
model to represent an electric device connected to the busbar through the
titanium bolts.
A first step would be to rename Model 1 to specify that it represents the busbar.
1 Right-click the Model 1 node and select Rename (or press F2).
2 In the Rename Model window, enter Busbar. Click OK and save the model.
The Model Couplings in Definitions have a wide range of use. The Average ,
Maximum , and Minimum model couplings have applications in generating
results as well as in boundary conditions, sources, sinks, properties, or any other
contribution to the model equations. The Probes are for monitoring the
solution progress. For instance, you can follow the solution at a critical point
during a time-dependent simulation, or for each parameter value in a parametric
study.
You can find an example of using the average operator in “Parametric Sweeps” on
page 96. Also see “Functions” on page 128, for a list of available COMSOL
functions.
72 | Advanced Topics
comsol_introduction.book Page 73 Monday, April 29, 2013 2:57 PM
To learn more about working with definitions, in the Model Builder click the
Definitions or Global Definitions node and press F1 to open the Help
window . This window displays help about the selected item in the
COMSOL Desktop and provides links to the documentation. It could take
up to a minute for the window to load the first time it is activated, but the
next time it will load quickly.
Up to now, you have used the functionality in Materials to access the properties
of copper and titanium in the busbar model. In Materials, you are also able to
define your own materials and save them in your own material library. You can also
add material properties to existing materials. In cases where you define properties
that are functions of other variables, typically temperature, the plot functionality
helps you to verify the property functions in the range of interest. You can also
load Excel® spreadsheets and define interpolation functions for material properties
using LiveLink™ for Excel®.
The Material Library add-on contains over 2500 materials with tens of thousands
of temperature-dependent property functions.
In the near future, you will also be able to import material properties from CAD
using the CAD LiveLink add-ons.
First investigate how to add properties to an existing material. Assume that you
want to add bulk modulus and shear modulus to the copper properties.
C USTOMIZING M ATERIALS
Let us keep working on the busbar.
1 In the Model Builder, under Materials, click
Copper .
Advanced Topics | 73
comsol_introduction.book Page 74 Monday, April 29, 2013 2:57 PM
By adding these material properties, you have changed the Copper material. You
cannot save this in the read-only Solid Mechanics material library, however, you
can save it to your own material library.
4 In the Model Builder, right-click Copper and select Add Material to “User
Defined Library” .
74 | Advanced Topics
comsol_introduction.book Page 75 Monday, April 29, 2013 2:57 PM
Addin g M eshes
A DDING A M ESH
1 In order to keep this model in a separate
file for later use, from the main menu,
select File > Save as and rename the model
busbar_I.mph.
2 To add a second mesh node, right-click the
Busbar (mod1) node and select Mesh .
By adding another Mesh node, it creates a
Meshes parent node that contains both
Mesh 1 and Mesh 2.
Advanced Topics | 75
comsol_introduction.book Page 76 Monday, April 29, 2013 2:57 PM
76 | Advanced Topics
comsol_introduction.book Page 77 Monday, April 29, 2013 2:57 PM
Compare Mesh 1 and Mesh 2 by clicking the Mesh nodes. The mesh is updated
in the Graphics window. An alternative for using many different meshes is to run
a parametric sweep of the parameter for the maximum mesh size, mh, that was
defined in the section “Global Definitions” on page 45.
Mesh 1 Mesh 2
A dd i n g P hy s i c s
S TRUCTURAL M ECHANICS
After completing the busbar Joule heating simulation, we know that there is a
temperature rise in the busbar. What kind of mechanical stress is induced by
thermal expansion? To answer this question, let us expand the model to include
the physics associated with structural mechanics.
Advanced Topics | 77
comsol_introduction.book Page 78 Monday, April 29, 2013 2:57 PM
When adding additional physics, you need to make sure that materials
included in the Materials node have all the required properties for the
selected physics. In this example, you already know that all properties are
available for copper and titanium.
You can start by adding the effect of thermal expansion to the structural
analysis.
78 | Advanced Topics
comsol_introduction.book Page 79 Monday, April 29, 2013 2:57 PM
Advanced Topics | 79
comsol_introduction.book Page 80 Monday, April 29, 2013 2:57 PM
9 Repeat this procedure for the remaining bolts to add boundaries 8, 15, and 43.
Next we update the Study to take the added effects into account.
When adding study steps you need to manually connect the correct
physics with the correct study step. We shall start by removing the
structural analysis from the first step.
2 Under Study 1, click the Step 1: Stationary node .
80 | Advanced Topics
comsol_introduction.book Page 81 Monday, April 29, 2013 2:57 PM
3 In the Stationary settings window, locate the Physics and Variables Selection.
4 In the Solid Mechanics (solid) row under Solve for, click to change the check
mark to an to remove Solid Mechanics from Study 1.
Now repeat these steps to remove Joule heating from the second study step.
5 Under Study 1, click Step 2: Stationary 2 .
Save the file busbar_II.mph, which now includes the Solid Mechanics interface
and the additional study step.
R ESULTING D EFORMATION
Now add a displacement to the plot.
Advanced Topics | 81
comsol_introduction.book Page 82 Monday, April 29, 2013 2:57 PM
82 | Advanced Topics
comsol_introduction.book Page 83 Monday, April 29, 2013 2:57 PM
The deformations shown in the figure are highly amplified to make visible the
very small distortions that actually take place.
5 Save the busbar_II.mph file, which now includes a Surface plot with a
Deformation.
You can also plot the von Mises and principal stresses to assess the structural
integrity of the busbar and the bolts.
Advanced Topics | 83
comsol_introduction.book Page 84 Monday, April 29, 2013 2:57 PM
Having loaded the geometry, you will now learn how to simulate air flow
according to this figure:
Air outlet
Air inlet
84 | Advanced Topics
comsol_introduction.book Page 85 Monday, April 29, 2013 2:57 PM
3 In the Parameters settings window, click the empty row just below the Vtot
row. In the Name column, enter Vin. Enter 1e-1[m/s] in the Expression
column and a description of your choice in the Description column.
4 Select File>Save As and save the model with a new name, busbar_box_I.mph.
A DDING A IR
The next step is to add the material properties of air.
1 Select View>Material Browser.
2 In the Material Browser, expand the
Built-In tree. Right-click Air and select
Add Material to Model. Click the
Material Browser tab and close it.
3 In the Model Builder under Materials,
click the Air node.
Advanced Topics | 85
comsol_introduction.book Page 86 Monday, April 29, 2013 2:57 PM
4 In the Graphics window, click the air box (Domain 1) to highlight it (in red)
and right-click to add it to the Selection list (which changes the color to blue).
86 | Advanced Topics
comsol_introduction.book Page 87 Monday, April 29, 2013 2:57 PM
3 On the Graphics toolbar, click the Select Boundaries button and then the
Wireframe rendering button to look inside the box.
Now that you have added fluid flow to the model, you need to couple the heat
transfer part of the Joule Heating interface to the fluid flow.
4 In the Model Builder, right-click Joule Heating . In the first section of the
context menu, the domain level, select Heat Transfer>Heat Transfer in
Fluids.
Advanced Topics | 87
comsol_introduction.book Page 88 Monday, April 29, 2013 2:57 PM
88 | Advanced Topics
comsol_introduction.book Page 89 Monday, April 29, 2013 2:57 PM
Advanced Topics | 89
comsol_introduction.book Page 90 Monday, April 29, 2013 2:57 PM
The settings for the busbar, the bolts and the Electric Potential 1 and
Ground 1 boundaries have retained the correct selection, even though you
added the box geometry for the air domain. To confirm this, click the
Electric Potential 1 and the Ground 1 nodes in the Model Builder to verify
that they have the correct boundary selection.
Let’s continue with the flow settings. You need to indicate that fluid flow only
takes place in the fluid domain and then set the inlet, outlet, and symmetry
conditions.
90 | Advanced Topics
comsol_introduction.book Page 91 Monday, April 29, 2013 2:57 PM
1 In the Model Builder, click the Laminar Flow node . In the Laminar Flow
settings window, click the Clear Selection button .
2 In the Graphics window, click the air box (Domain 1) and right-click to add it
to the Selection.
It is good practice to verify that the Air
material under the Materials node has all the
properties that this multiphysics combination
requires. In the Model Builder under
Materials, click Air. In the
Material settings window under Material
Contents, verify that there are no missing
properties, which are marked with a warning
sign . The section “Materials” on page 49
has more information.
Let’s continue with the boundaries.
3 In the Model Builder, right-click Laminar Flow and at the boundary level
select Inlet. An Inlet node is added to the Model Builder.
Advanced Topics | 91
comsol_introduction.book Page 92 Monday, April 29, 2013 2:57 PM
92 | Advanced Topics
comsol_introduction.book Page 93 Monday, April 29, 2013 2:57 PM
8 In the Graphics window, click one of the blue faces in the figure below
(Boundaries 1, 3, 4, or 48) and right-click each one to add all to the Selection
list.
Save the busbar_box_I.mph file,
which now includes the Air material
and Laminar Flow interface
settings.
Advanced Topics | 93
comsol_introduction.book Page 94 Monday, April 29, 2013 2:57 PM
3 Click the Build All button . The geometry displays with a coarse mesh in the
Graphics window.
You can assume that the flow velocity is large enough to neglect the influence of
the temperature increase in the flow field.
It follows that you can solve for the flow field first and then solve for the
temperature using the results from the flow field as input. This is implemented
with a study sequence.
Next, the correct physics needs to be connected with the correct study step.
Start by removing Joule heating from the first step.
94 | Advanced Topics
comsol_introduction.book Page 95 Monday, April 29, 2013 2:57 PM
3 In the Stationary settings window locate the Physics and Variables Selection
section. In the Joule Heating (jh) row, click to change the check mark to an
in the Solve for column, removing Joule Heating (jh) from Study 1.
4 Repeat the step. Under Study 1 click Step 2: Stationary 1 . Under Physics and
Variables Selection, in the Laminar Flow (spf) row click in the Solve for column
to change the check mark to an .
5 Right-click the Study 1 node and select Compute (or press F8) to
automatically create a new solver sequence that solves the two problems in
sequence.
Advanced Topics | 95
comsol_introduction.book Page 96 Monday, April 29, 2013 2:57 PM
6 After the solution is complete, click the Transparency button on the Graphics
toolbar to visualize the temperature field inside the box.
The Temperature Surface plot that displays in the Graphics window shows the
temperature in the busbar and in the surrounding box. You can also see that the
temperature field is not smooth due to the relatively coarse mesh. A good
strategy to get a smoother solution would be to refine the mesh to estimate the
accuracy.
7 Save the busbar_box_I.mph file up to this point so you can return to this file
if you want. The next steps use the original busbar.mph file.
Par am et ri c Swe ep s
96 | Advanced Topics
comsol_introduction.book Page 97 Monday, April 29, 2013 2:57 PM
have some impact on the operating temperature. Let us run a parametric sweep on
wbb to study this change.
The Sweep type, available above the Parameter names, is used to control
parametric sweeps with multiple parameters. You select between
sweeping for All combinations of the given parameters or a subset of
Specified combinations.
Advanced Topics | 97
comsol_introduction.book Page 98 Monday, April 29, 2013 2:57 PM
3 Enter a range of Parameter values to sweep the width of the busbar from 5 cm
to 10 cm with 1 cm increments. There are different ways to enter this
information:
- Copy and paste or enter range(0.05,0.01,0.1) into the Parameter value
list field.
- Click the Range button and
enter the values in the Range
dialog box. In the Start field,
enter 5e-2. In the Step field,
enter 1e-2, and in the Stop
field, enter 1e-1. Click Replace.
Next, define an Average Model
Coupling, which can later be used
to calculate the average
temperature in the busbar.
4 Under Model 1, right-click Definitions and select Model Couplings>
Average .
5 In the Average settings window select All domains from the Selection list. This
creates an operator called aveop1.
The aveop1 is now available to calculate the average of any quantity defined on
those domains. A little later this is used to calculate the average temperature, but
it can also be used to calculate average electric potential, current density, and so
forth.
6 Right-click Study 1 and select Compute to run the sweep.
7 Select File>Save As to save the model with a new name, busbar_III.mph.
98 | Advanced Topics
comsol_introduction.book Page 99 Monday, April 29, 2013 2:57 PM
Advanced Topics | 99
comsol_introduction.book Page 100 Monday, April 29, 2013 2:57 PM
Compare the wider busbar plot to the temperature for wbb=0.05[m] (5[cm]).
1 In the Model Builder, click the first Temperature (jh) node .
The Temperature (jh) plot is updated for wbb=0.05[m] (5[cm]). Note that you
may have updated the color range for this plot already and then your plot may look
different compared to the one below. If not, follow the steps below.
Like the wider busbar, the plot may be quite uniform in color, so change the
maximum color range.
1 Under the first Temperature (jh) node, click the Surface node .
2 In the Surface settings window, click Range to expand the section (if it is not
already expanded). Select the Manual color range check box.
3 Enter 323 in the Maximum field (replace the default) to plot wbb at 5 cm.
The Temperature (jh) plot is updated in the Graphics window for
wbb=0.05[m] (5[cm]).
Click the first and second Temperature plot nodes to compare the plots in the
Graphics window. The plots show that the maximum temperature decreases from
331 K to 318 K as the width of the busbar increases from 5 cm to 10 cm.
3 In the Model Builder, right-click 1D Plot Group 4 and add a Global node.
4 Under y-Axis Data, click the first row in the Expressions column and enter
aveop1(T). This operator is the one we defined on page 98 for later use. You
use a similar syntax to calculate the average of other quantities.
5 Click to expand the Legends section. Select the Expression check box.
This adds a legend at the top right corner of the graph.
6 Click the Plot button and save the busbar_III.mph model with these
additional plots that use the parametric sweep results.
In the plot, the average temperature also decreases as the width increases. This
indicates that the goal of a lower operating temperature would be fulfilled by using
a wider busbar.
The subject of parametric sweeps raises the question of parallel computing; it
would be efficient if all parameters were solved simultaneously.
Par a l l e l C o m p u t i n g
Options by clicking the Show button on the Model Builder toolbar and
selecting Advanced Study Options.
C LUSTER S WEEP
Cluster Sweep is used for solving several models in parallel
where each model has a different set of Parameters. This
can be seen as a generalization of Parametric Sweep.
Right-click the Study node to add a Cluster Sweep node.
The Study Settings for Cluster Sweep is similar to that of
Parametric Sweep, but additional settings are required for the cluster or cloud
being used. The below picture shows how the top of the settings window for
Cluster Sweep would look like for the same sweep as defined in “Parametric
Sweeps” on page 96.
C LUSTER C OMPUTING
You can also utilize a cluster or cloud to solve a single large model using
distributed memory. For maximum performance, the COMSOL cluster
implementation can utilize shared-memory multicore processing on each node in
combination with the Message Passing Interface (MPI) based distributed memory
model. This brings a major performance boost by making the most out of the
computational power available.
Right-click the Study node to add a Cluster Computing
node.
The Cluster Computing settings window, shown below,
helps to manage the simulation with settings for the
cluster or cloud.
You choose the type of cluster job you want to do from the Cluster type list.
COMSOL supports Windows Computer Cluster Server (WCCS) 2003, Windows
HPC Server (HPCS) 2008, Open Grid Scheduler/ Grid Engine (OGS/GE), or
Not distributed.
To learn more about running COMSOL in parallel, see the COMSOL
Multiphysics Reference Manual.
This section details how to create the busbar geometry using COMSOL’s built-in
geometry tools. The step-by-step instructions take you through the construction
of the geometry using parameters set up in Global Definitions. Using
parameterized dimensions helps to produce what-if analyses and geometric
parametric sweeps.
As an alternative to building the geometry in COMSOL you can import a
geometry from a CAD package. The optional CAD Import Module supports
many CAD file formats. Moreover, several add-on products are available that
provide bidirectional interfaces to common CAD software packages. See
“Appendix E—Connecting with LiveLink™ Add-Ons” on page 142 for a list.
Follow the steps under the Model Wizard (to add the physics and study) and
Global Definitions (to add the parameters) starting with “Example 2: The
Busbar—A Multiphysics Model” on page 42. Then return to this section to learn
about geometry modeling. The first step in the geometry sequence is to draw the
profile of the busbar.
1 Under Model 1, right-click
Geometry 1 and select
Work Plane . In the Work
Plane settings window:
- Select xz-plane from the Plane list.
- Click the Show Work Plane button
on the Work Plane settings
toolbar.
Continue by editing the axis and grid
settings in Work Plane 1.
2 In the Model Builder, expand the View 2 node and click Axis .
You can use interactive drawing to create a geometry using the drawing toolbar
buttons while pointing and clicking in the Graphics window. You can also
right-click the Plane Geometry node under Work Plane 1 to add geometry
objects to the geometry sequence.
click to highlight r2 (solid). Then right-click r2 (solid) in the list to add it to the
Object to subtract list.
After building the selected geometry, you should have a backward-facing,
L-shaped profile. Continue by rounding the corners of the L-shaped profile.
Next you extrude the work plane to create the 3D busbar geometry.
1 In the Model Builder, right-click Work Plane 1 and select Extrude . In the
Extrude settings window, enter wbb in the Distances from Plane table (replace
the default) to extrude to the width of the profile.
The table allows you to enter several values in order to create sandwich
structures with different layer materials. In this case, only one extruded layer is
needed.
2 Click Build Selected and then click the Zoom Extents button on the
Graphics toolbar. Click the Save button and name the model busbar.mph (if
you have not already done so).
Next, create the titanium bolts by extruding two circles drawn in two
work planes.
3 In the Model Builder, right-click Geometry 1 and add a Work Plane . A
Work Plane 2 node is added. In the Work Plane settings window, under Work
Plane, select Face parallel as the Plane type.
4 In the Graphics window, click face 8 (highlighted in the figure). Once this
surface is highlighted in red, right-click anywhere in the Graphics window to
add it to the Planar face list in the Work Plane settings window.
Face number 8 is now highlighted in blue and the work plane is positioned on
top of face number 8.
Face 8
5 Click the Show Work Plane button to draw the first circle representing the
position of the first bolt. Click the Zoom Extents button on the Graphics
toolbar.
2 Click the Build Selected button to create the cylindrical part of the titanium
bolt that runs through the busbar.
5 Click the Show Work Plane button on the Work Plane settings window and
the Zoom Extents button on the Graphics toolbar to get a better view of the
geometry.
To parameterize the position of the two remaining bolts, add the circles that
form the cross sections of the bolts.
6 Under Work Plane 3, right-click Plane Geometry and select Circle .
In the Circle settings window:
- Under Size and Shape, enter rad_1
in the Radius field.
- Under Position, enter -L/
2+1.5e-2 in the xw field and
-wbb/4 in the yw field.
11In the Model Builder, right-click Work Plane 3 and select Extrude . In the
Extrude settings window, in the first row of the Distances from Plane table,
enter -2*tbb (replace the default). Click Build All .
The geometry and its corresponding geometry sequence should match the
figures below. Click the Save button and name the model busbar.mph.
C o n s t a n t s a n d Par a m e t e r s
There are three different types of Constants: Built-in Mathematical and Numerical
Constants, Built-in Physical Constants, and Parameters. Parameters are
User-defined Constants which can vary over parameter sweeps. Constants are
scalar valued. The tables below list the Built-in Mathematical and Numerical
Constants as well as Built-in Physical Constants. Constants and Parameters can
have units.
P ARAMETERS
Parameters are user-defined constant scalars in the Global Definitions branch in
the Model Tree. Example uses are:
• parameterizing geometric dimensions,
• parameterizing mesh element sizes,
• defining parameters to be used in parametric sweeps.
Var i abl e s
There are two types of Variables: built-in and user-defined. Variables can be scalars
or fields. Variables can have units.
Note: There is a group of user-defined variables of special interest. Spatial
coordinate variables and dependent variables. These variables have default names
based on the space dimension of the geometry and the Physics interface
respectively. As a result of the names chosen for these variables, a list of built-in
variables will be created by COMSOL: the first and second order derivatives with
respect to space and time.
B UILT - IN VARIABLES
t Time Scalar
freq Frequency Scalar
lambda Eigenvalue Scalar
phase Phase angle Scalar
numberofdofs Number of degrees of freedom Scalar
h Mesh element size (length of the longest edge of Field
the element)
meshtype Mesh type index for the mesh element; this is the Field
number of edges in the element.
meshelement Mesh element number Field
dvol Volume scale factor variable; this is the Field
determinant of the Jacobian matrix for the
mapping from local (element) coordinates to
global coordinates.
qual A mesh quality measure between 0 (poor quality) Field
and 1 (perfect quality)
Example: T is the name for the temperature in a 2D, time-dependent heat transfer
model, x and y are the spatial coordinate names. In this case, the following built-in
variables will be generated: T, Tx, Ty, Txx, Txy, Tyx, Tyy, Tt, Txt, Tyt, Txxt,
Txyt, Tyxt, Tyyt, Ttt, Txtt, Tytt, Txxtt, Txytt, Tyxtt, and Tyytt. Here, Tx
corresponds to the partial derivative of the temperature T with respect to x, and
Ttt corresponds to the second-order time derivative of T, and so on. If the spatial
coordinate variables have other names—for example, psi and chi—then Txy
would be Tpsichi, and Txt would be Tpsit. (The time variable t is built-in; the
user cannot change its name.)
Functio n s
There are two types of Functions: Built-in and User-defined. Functions can be
scalar valued or field valued depending on the input argument(s). Some Functions
can have units for both input and output arguments.
the list of reserved names. For more information see the COMSOL Multiphysics
Reference Manual.
Analytic The function name is its identifier, The name of the function with
for example an1. comma-separated arguments within
The function is a mathematical parenthesis. For example:
expression of its arguments. an1(x,y)
Example: Given the arguments x
and y, its definition is
sin(x)*cos(y).
The function has an arbitrary
number of arguments.
Elevation The function name is its identifier, The name of the function with
for example elev1. comma-separated arguments within
Used to import geospatial elevation parenthesis. For example:
data from digital elevation models elev1(x,y)
and map the elevation data to a
function of x and y. A DEM file
contains elevation data for a portion
of the Earth’s surface. The resulting
function behaves essentially like a
grid-based interpolation function.
Gaussian Pulse The function name is its identifier, The name of the function with a
for example gp1. single argument within parenthesis.
The Gaussian pulse function defines For example:
a bell-shaped curve according to the gp1(x)
expression
– x – x0
2
-----------------------
-
1 2
2
y x = --------------- e
2
Image The function name is its identifier, The name of the function with
for example im1. comma-separated arguments within
Used to import an image (in BMP, parenthesis. For example:
JPEG, PNG, or GIF format) and map im1(x,y)
the image’s RGB data to a scalar
(single channel) function output
value. By default the function’s
output uses the mapping (R+G+B)/
3.
Interpolation The function name is its identifier, The name of the function with
for example int1. comma-separated arguments within
An interpolation function is defined parenthesis. For example:
by a table or file containing the int1(x,y,z)
values of the function in discrete
points.
The file formats are the following:
spreadsheet, grid, or sectionwise.
The function has one to three
arguments.
Piecewise The function name is its identifier, The name of the function with a
for example pw1. single argument within parenthesis.
A piecewise function is created by For example:
splicing together several functions, pw1(x)
each defined on one interval. Define
the argument, extrapolation and
smoothing methods, and the
functions and their intervals.
This function has one argument with
different definitions on different
intervals, which must not overlap or
have any holes between them.
Ramp The function name is its identifier, The name of the function with a
for example rm1. single argument within parenthesis.
A ramp function is a linear increase For example:
with a user-defined slope that begins rm1(x)
at some specified time.
The function has one argument. It
can also be smoothed.
Random The function name is its identifier, The name of the function with
for example rn1. comma-separated arguments within
A random function generates white parenthesis. For example:
noise with uniform or normal rn1(x,y)
distribution and has one or more The arguments x and y are used as a
arguments to simulate white noise. random seeds for the random
The function has arbitrary number function.
of arguments.
Rectangle The function name is its identifier, The name of the function with a
for example rect1. single argument within parenthesis.
A rectangle function is 1 in an For example:
interval and 0 everywhere else. rect1(x)
The function has one argument.
Step The function name is its identifier, The name of the function with a
for example step1. single argument within parenthesis.
A step function is a sharp transition For example:
from 0 to some other value step1(x)
(amplitude) at some location.
The function has one argument. It
can also be smoothed.
Triangle The function name is its identifier, The name of the function with a
for example tri1. single argument within parenthesis.
A triangle function is a linear For example:
increase and linear decline within an tri1(x)
interval and 0 everywhere else.
The function has one argument. It
can also be smoothed.
Waveform The function name is its identifier, The name of the function with a
for example wv1. single argument within parenthesis.
A waveform function is a periodic For example:
function with one of several wv1(x)
characteristic shapes: sawtooth, sine,
square, or triangle.
The function has one argument. It
can also be smoothed.
External (Global An external function defines an The name of the function and the
Definitions only) interface to one or more functions appropriate number of arguments
written in the C language (which within parenthesis. For example:
can be a wrapper function myextfunc(a,b)
interfacing source code written in
for example Fortran). Such an
external function can be used, for
example, to interface a user-created
shared library. Note that the
extension of a shared library file
depends on the platform: .dll
(Windows), .so (Linux), or .dylib
(Mac OS X).
MATLAB A MATLAB function interfaces one The name of the function and the
(Global or more functions written in the appropriate number of arguments
Definitions only) MATLAB language. Such functions within parenthesis. For example:
can be used as any other function mymatlabfunc(a,b)
defined in COMSOL provided
LiveLink for MATLAB and MATLAB
are installed. (MATLAB functions are
evaluated by MATLAB at runtime.)
Ex pres sions
P ARAMETERS
A Parameter Expression can contain: Numbers, Parameters, Constants, Functions
of Parameter Expressions, Unary and Binary Operators. Parameters can have units.
VARIABLES
A Variable Expression can contain: Numbers, Parameters, Constants, Variables,
Functions of Variable Expressions, Unary and Binary Operators. Variables can
have units.
F UNCTIONS
A Function definition can contain: input arguments, Numbers, Parameters,
Constants, Functions of Parameter Expressions including input arguments, Unary
and Binary Operators.
C O M S O L F i l e Fo r m a t s
The COMSOL Model file type, with the extension .mph, is the default file type
containing the entire Model Tree. The file contains both binary and text data. The
mesh and solution data are stored as binary data, while all other information is
stored as plain text.
The COMSOL binary and text file types, with the extension .mphbin and
.mphtxt, respectively, contain either geometry objects or mesh objects which can
be imported directly to the Geometry or Mesh branches in the Model Tree.
The Physics Builder file type, with the extension .mphphb, contains one or more
physics user interfaces that you can access from the Model Wizard. See the Physics
Builder Manual, for more information.
See “Supported External File Formats” for more information about all the other
formats supported by COMSOL.
S u p p o r t e d E x t e r n a l F i l e Fo r m a t s
CAD
The CAD Import Module allows for import of a range of industry-standard CAD
file types. Additional file types are available through the bidirectional functionality
of the LiveLink products for CAD as well as with the File Import for CATIA V5
add-on.
The DXF (2D), VRML (3D), and STL (3D) file types are available for import with
COMSOL Multiphysics and don’t require any add-on products.
ECAD
The ECAD Import Module allows for import of 2D layout files with automatic
conversion to 3D CAD models. The Touchstone file type is used for exporting
S-parameters, impedance, and admittance values from simultaneous port and
frequency sweeps. The SPICE Circuit Netlist file type is converted at import to a
series of lumped circuit element nodes under an Electrical Circuit node.
M ATERIAL D ATABASES
The Chemical Reaction Engineering Module can read CHEMKIN files to
simulate complex chemical reactions in the gas phase. The Plasma Module can
read LXCAT files for sets of electron impact collision cross-sections.
M ESH
The NASTRAN Bulk Data file types are used to import a volumetric mesh. The
VRML and STL file types are used to import a triangular surface mesh, and cannot
be used for creating a volumetric mesh. If imported as a Geometry, then VRML
and STL files can be used as a basis for creating a volumetric mesh for a single
geometric domain.
The following table shows the options to start COMSOL and the different linked
partner software using the LiveLink add-ons.
COMSOL® Can Start COMSOL Can Start Partner Software Can Connect
Product from Partner Software from COMSOL Running Sessions
LiveLink™ Yes1 Yes2 No
®
for Excel
LiveLink™ No No Yes
for AutoCad®
LiveLink™ No No Yes
for Creo™ Parametric
LiveLink™
for Inventor®
- Bidirectional Mode No No Yes
- One Window Mode Yes No No
LiveLink™ No No Yes
for Pro/ENGINEER®
LiveLink™ No No Yes
for Solid Edge®
LiveLink™
for SolidWorks®
- Bidirectional Mode No No Yes
- One Window Mode Yes No No
LiveLink™ No No Yes
for SpaceClaim®
1 When you open a COMSOL model from Excel, a COMSOL model window starts and a link is established
automatically. The COMSOL model window is an output window that displays geometry, mesh, and results.
2 A COMSOL model that includes a table reference to an Excel spreadsheet automatically starts an Excel
COMSOL® Can Start COMSOL Can Start Partner Software Can Connect
Product from Partner Software from COMSOL Running Sessions
4 The"COMSOL 4.3b with MATLAB" desktop shortcut starts a COMSOL Server and MATLAB, then
connects them automatically. When you run a COMSOL model in the COMSOL Desktop that includes a
MATLAB function (Global Definitions>Functions), a MATLAB engine and connection is started
automatically.
5
You can connect a MATLAB session to a running COMSOL Server using the COMSOL command
"mphstart" in the MATLAB command prompt.