New Products in Version 4.3

The following new products are introduced with COMSOL Multiphysics version 4.3:

  • Corrosion Module, for modeling of corrosion and corrosion protection. See Corrosion Module for more information.
  • Nonlinear Structural Materials Module, for structural analysis of materials with nonlinear behavior. See Nonlinear Structural Materials Module for more information.
  • Pipe Flow Module, for fluid flow, hydraulic transients, heat transfer, mass transport, and acoustics in pipe and channel systems. See Pipe Flow Module for more information.

New Functionality in Version 4.3

General COMSOL Desktop Functionality

  • The style of the COMSOL Desktop has been updated with a new look-and-feel that includes the names of the settings windows and the look and position of toolbars. If you want to continue using the previous look-and-feel, you can change the Toolbar style from COMSOL (the default) to Classic in the preference settings for User interface in the Preferences dialog box.
  • The models in the model libraries that ship with COMSOL Multiphysics and the add-on modules now include information about the solution times and the computer used for measuring those solution times. You find this information below the model description that the Model Library window displays when you select a model.
  • The model and documentation directories to synchronize with COMSOL’s Model Library Update server are configurable through preference settings or COMSOL command options. In the Model Library window, icons indicate if a model is stored in a compact or full format. The compact format means that the models do not include the mesh and the solution data. This makes it possible to include many more models on the product DVD.
  • The Model Wizard provides more flexibility when adding new physics and new studies: On the Select Study Type, you can choose which physics to solve for in the study from a list under Selected physics. You can also choose to deactivate new physics in other existing studies in the model (the default) or to include it in all studies. You specify that behavior using the Deactivate added physics in other studies check box.
  • To disable and enable nodes in the Model Builder you can now use the shortcut keys F3 and F4, respectively.
  • You can now use the keyboard shortcut F7 for Build Selected in the geometry and mesh sequences, and for Compute to Selected in the solver configurations where F8 is the keyboard shortcut for Compute All.
  • The nodes under Definitions and in the physics branches can now be sorted: Right-click the Global Definitions node or a Definitions node in a model and select Sort by Type to sort all common definitions nodes under subbranches such as Variables, Functions, and Coordinate Systems. Likewise, right-click a physics interface node and select Sort by Space Dimension to sort all physics nodes under Domains (for material modes, body loads, space charges, and so on), Boundaries (for boundary conditions, face loads, and so on), Edges, and Points depending on their geometric scope. Right-click and select No Sorting to return to an unsorted list.
  • You can now copy all text in text fields in the settings windows (for example, feature comments, solver logs, and report documentation) using Ctrl+A (Command-A on Mac).
  • The names of the variables for the spatial coordinates can be changed in the Model nodes’ settings windows for cases where the default coordinate names (for example, x, y, and z) are not applicable.
  • You can reset the preferences settings to the default settings by clicking the Restore Defaults button in the Preferences dialog box.
  • As a convenience, it is now possible to open a model and its associated documentation as a PDF file at the same time by clicking Open Model and PDF in the Model Library window.


  • You can now extrude and revolve planar faces directly in the 3D geometry (that is, the faces do not need to be created in a work plane).
  • You can now use the Cone feature to create cones (including truncated cones or conical frustums) by defining the bottom radius and the top radius in addition to using the bottom radius and the semi-angle.
  • The tools for virtual geometry operations are now also available for 2D geometries.
  • In the geometry sequences you can now move individual geometry nodes (geometry objects and features) up and down to modify and rearrange the geometry sequence.
  • Sweeping can now be done along a sequence of edges.
  • For the Polygon feature you can use coordinate data from a text file or from a table to specify the polygon vertices (in addition to using vectors of coordinate values).
  • You can now turn off the automatic rebuild of the geometry that occurs when, for example, clicking on a material or physics node. This setting, Automatic rebuild, is available in the main Geometry node and as a preference setting for new geometries in the Preferences dialog box. Turning off the automatic rebuild can be useful to avoid rebuilding a complex 3D geometry until the geometry is finalized.
  • It is now possible to open Model MPH-files that contain CAD geometries even if the license does not include the CAD Import Module or any of the CAD LiveLink products. Doing so clears all solutions, and any geometry features in the model that require the CAD Import Module kernel (for example, to import a CAD geometry from file) do not work; however, you can still use the model by, for example, replacing the CAD geometry by a COMSOL geometry.
  • The selection list in the Selection List window is now a tree structure with geometry features as parent nodes and objects as child nodes. Selecting a top-level node in the tree automatically changes the selection to all child nodes. All objects are still selected even if the number of objects later increases.
  • The geometry measurements for vertex coordinate values, distances between vertices, and lengths of straight edges are now displayed using 10 digits, and it is possible to select and copy all measured numerical values from the Measurements window.
  • New functions and operators:
  • isinf and isnan functions to determine if a value or expression is equal to infinity or infinity, or if it is “not-a-number” (NaN), respectively.
  • The “spatial at” operator scope.ati(<coordinate expressions>expr) evaluates the expression expr in the geometry with the given model scope on an i-dimensional entity in the point given by the coordinate expressions. For example, root.mod1.at1(0,y,dom) evaluates dom in the two-dimensional geometry on an edge in the point (0, y).
  • linearizedelem, a geometric variable that returns one inside a linearized mesh element and zero otherwise. Note that the faces of the linearized mesh elements are not considered to be linearized themselves. You can use this variable to identify mesh elements that has become linearized elements.


  • New tools make it possible to partition an imported mesh into several domains or boundaries, for example, in preparation for modeling a geometry that consists of different parts. You can use a box or ball to define the extent of a partition and also delete and join geometric entities and create vertices for a partitioning of the geometry.
  • New tools for mesh control in the geometry sequence. You can add mesh control vertices, edges, faces, or domains to control the local mesh without introducing additional geometric entities in the geometry. This makes it possible to, for example, create a separate domain for a boundary layer mesh or for a structured hexahedral mesh without explicitly dividing a geometry that represents a single material or part.
  • The default method for handling sharp corners for boundary layer meshing is splitting, but trimming is now also available as an alternative method.
  • You can now export the mesh as an STL binary file or text file.
  • Improved element transition for boundary layer meshes and across removed control entities.


  • A new Events interface is available for adding states (discrete states and indicator states) and implicit and explicit events. Implicit events are triggered when a condition for a state is fulfilled (becomes less than zero, for example). Explicit events reinitialize a variable at an explicit time; the explicit events can be periodic. You can use events, for example, to switch or cycle between different operational modes depending on some states in the model.

Studies and Solvers

  • Support for load cases:
  • Loads and constraints can act conditionally in models using load groups and constraint groups, which you can include in load cases using various combinations of the defined groups.
  • Use load groups for loads and other Neumann conditions. The loads can be scaled in the load cases using a scalar weight.
  • Use constraint groups for constraints and other Dirichlet conditions.
  • Available for the Solid Mechanics interface in COMSOL Multiphysics and for structural mechanics in general in the Structural Mechanics Module.
  • Improved support for parametric sweeps, including multiparameter sweeps with several layers of parameters, where you can choose to solve for specified combinations of parameter values or for all combinations.
  • Support for analysis cases—the possibility to modify physics and variables in the study step: In the study step’s settings window, select the Modify physics tree and variables for study step check box. This creates a copy of the physics and variables parts of the model tree in the Model Builder window, and you can use these nodes to create different analysis cases by disabling and enabling certain physics nodes and variable sets locally for a specific study, in addition to the possibility to enable and disable entire physics interfaces.
  • New Cluster Sweep and Batch Sweep nodes provide tools for starting and stopping cluster jobs and batch jobs for individual parameter combinations, also allowing access to parametric sweep results before completion of full sweep. The cluster sweep starts multiple COMSOL batch processes, one for each parameter set, that solve the current study on a cluster.
  • The weighted average (sum of squares) error norm used by the solvers for stationary and time-dependent problems has been modified. The new norm gives equal weight to the error estimate for all fields and states solved for. The old norm gave equal weight to the error estimates for all degrees of freedoms solved for. The difference for many models is small, but for models with a combination of dependent variables with vastly different number of degrees of freedoms the error norm can be rather different. For these models the scaling or the tolerances might need adjustment to produce comparable results.
  • A new double dogleg nonlinear solver provides improved convergence for contact modeling in structural mechanics. In the Structural Mechanics Module and the MEMS Module, the double dogleg nonlinear solver is selected by default when a stationary study is generated and contact features are present in the model. For the majority of contact problems this solver has more stable convergence properties than the Newton solver, which is the general default solver. Using the same settings, the double dogleg solver tends to be somewhat slower than the Newton solver on problems where both solvers converge. It is, however, often possible to user larger load steps when using the double dogleg solver.
  • Updated PARDISO direct linear solver, which can improve solver performance for large models and many cores.
  • On Linux clusters COMSOL now uses Hydra instead of the MPD. You no longer need to start MPD:s before starting COMSOL.


  • The reports can now be saved as .docx files for use with Microsoft® Word, in addition to the HTML format. Saving the reports as .docx files makes it possible to edit and extend the report contents in Microsoft Word and to further save it as a PDF file, for example.
  • The result plots contain improved support for plotting data from parametric sweeps. In the plot group nodes’ settings window you can now select parameters for the plot in several different ways: all, first, last, from a list of parameter values, or manually (selecting parameter indices). In the graph plots, you can choose the source of the data on the x-axis as the inner solution (typically the time but can also be an expression, frequency spectrum, or phase), outer solutions (typically parameters), or all solutions.
  • Sector 2D and Sector 3D data sets provide the possibility to plot and analyze the solution on the full geometry while exploiting sector symmetry when setting up and solving the model. This is useful for reducing solution time and memory requirements for models with a geometry that include sector symmetry. You can then use a Sector 2D or Sector 3D data set to form the solution on the full geometry using rotations and reflections.
  • 2D Histogram plot type: You can now create 2D histograms, where the colored surface represents the counts that fall into each bin as a function of two quantities.
  • The reports can be extended with text segments that can include formatted text using special character formats for user interface labels, strong (bold), emphasis, code segments, equation variables, constants, subscripts, and superscripts. There is also support for Greek letters and dashes. A new Equation node supports creating custom equations by using LaTeX commands or importing an image.
  • You can now delete and clear all result tables at once by right-clicking the main Tables node and selecting Delete All or Clear All.
  • Under Export, Table is now available for exporting results data from tables to text files or data files.
  • The storage of table data can now be on a file or both in the model and on file in addition to storing it in the model. This can make the model file smaller when evaluating large amount of data in tables. This setting is available under Storage in the table nodes’ settings windows.
  • You can now disable the automatic update of plots when, for example, re-solving the model. This setting is available in the main Results node’s settings window: Clear the Automatic update of plots check boxes to disable updates of the plots. There are also preference settings in the Preferences dialog box that control if automatic plot updates should be active for new models and for models loaded from files. Turning off the automatic update of plots can be useful if the plots are complex and require extensive resources for computation and rendering.
  • In point graphs and global plots you can now use the x-axis to represent the phase.
  • The radius in, for example, the points in a plot of particle trajectories can now be an arbitrary expression so that the point radius represents the magnitude of the chosen expression.
  • In plots of particle trajectories, comet tail is a new point style that plots the particles with a “comet tail” to visualize the particle velocities, for example. The tail magnitude and direction can be defined using an arbitrary vector expression; the default vector is the negative particle velocity.
  • Individual precision preference settings for graph, 2D axis, 3D grid, and color legend values in the Graphics section of the Preferences dialog box.
  • The row index is now available as the x-axis data for Table Graph plots.
  • The Coordinate System Volume (in 3D) and Coordinate System Surface (in 2D) plots can now also be used to plot matrix variables.

About the Predefined Physical Constants

The predefined physical constants in COMSOL version 4.3 use the values from 2006. The current values available from use a newer revision from 2010 with values recommended for international use by CODATA, which means that there are small differences in the values for some of the physical constants in COMSOL when comparing with the 2010 revision. For version 4.3a, we plan to update the values for these physical constants to the ones used in the 2010 revision.

Backward Compatibility vs. Version 4.2a

ELCPLGENINT Element no Longer Available

The elcplgenint element has been removed in version 4.3; use elcplscalar instead.

Domain Numbering

Domain numbers may change for 3D geometries with a COMSOL representation of the geometry. This may happen if you rebuild the geometry sequence for a model that you created in an earlier COMSOL version. Also, the numbering of all geometric entities may change when importing a mesh.

Face normals and edge directions

Face normals and edge directions may change for geometries with CAD representation. This may happen if you rebuild the geometry sequence for a model that you created in an earlier COMSOL version. Face normals and edge directions are now consistent between CAD and COMSOL representations.

Mesh Import

The numbering of all geometric entities, as well as the face normals and edge directions, may change when importing a mesh.

Delete Entities

The algorithm for the Delete Entities geometry feature has changed slightly. The main difference is that the old algorithm preserved the object type for solid, surface, and curve objects. Existing Delete Entities features in old models use the old algorithm, while new Delete Entities features use the new algorithm. In the API, you need to set the property compat to 4.2a to recover the old behavior.

Material properties

The physical quantity for the bulk viscosity defined under Acoustics, Thermoacoustics Model and Acoustics, Viscous Model has changed to Bulk Viscosity.

Temperature Constraints

The sign of the constraint for temperature has been changed to match the convention used in other physics. This has no effect on the models unless weak constraints are used. In that case, the Lagrange multipliers sign is changed.

Backward Compatibility vs. Version 4.2

New Scaling of Absolute Tolerances

A new technique to automatically compute the scaled absolute tolerance has been added. This mechanism computes the error weights in a new way for the BDF solver (for time-dependent problems) for fields using the automatic scaling method. The new method is enabled by default but you can turn it off in the Time Stepping (clear the Update scaled absolute tolerance check box). Opening an old model the new mechanism will be turned off automatically. But when regenerating a new solver, it will be enabled. Note that when running a model using the API, the new mechanism will be used. If you want the old behavior you can set the property ewtrescale to off for the time-dependent solver you are using.

As an effect of this new mechanism the default relative and (global) absolute tolerance for models involving Reaction Engineering Physics interfaces has been changed to 1e-3 and 1e-4, respectively. This change will also apply to newly generated solvers, but not when reading and old Model MPH-files. For a model using the API that does not set these tolerances explicitly, the new defaults will apply.

Backward Compatibility vs. Version 3.5a

Deformed Geometry Interface

The Parameterized Geometry application mode in versions 3.5a, which is limited to 2D, is replaced with the Deformed Geometry interface in version 4.3. This interface is available in 2D and 3D. The Deformed Geometry interface deforms the mesh using an arbitrary Lagrangian-Eulerian (ALE) method and is not the parameterized geometry using geometric parameter sweeps (see above).

In the version 4.3 interface, the Linear Displacement and Similarity Transform boundary conditions are not yet available as preset conditions.

In version 4.3, you can create the corresponding conditions by manually entering variables.

backward Compatibility for pre-3.5a models

COMSOL 4.3 can load models saved from version 3.5a. For loading models from earlier COMSOL versions than 3.5a you need to load them in COMSOL 3.5a and then save them. For simplifying this task a utility is available where you can convert all files in a directory from versions 3.0–3.5 to version 3.5a. See the section “COMSOL Convertpre35a Command” for Windows, the section “COMSOL Convertpre35a Command” for Linux, or the section “COMSOL Convertpre35a Command” for the Mac in the COMSOL Installation and Operations Guide for more information.