Platform: All Platforms Applies to: COMSOL Multiphysics® Versions: 5.3a

Problem Description

This knowledge base entry addresses the following questions:

  • Why does my moving mesh model set up in a previous version fail to solve in 5.3a?
  • How do I switch to using the new moving mesh functionality?


Starting with version 5.3a, COMSOL Multiphysics has its moving mesh functionality available from Component > Definitions > Moving Mesh. This is a new alternative to the Moving Mesh (ale) and Deformed Geometry (dg) interfaces from previous versions.

If you open an old model using the Moving Mesh or Deformed Geometry interface in 5.3a, it will still use that same interface. However, the equation will be transformed to the new formulation, which solves for the mesh displacement (typically comp1.spatial.u, comp1.spatial.v or comp1.material.u, comp1.material.v in a 2D model) rather than the mesh coordinates (comp1.xy).

The solver will automatically remove the old solution variables and replace them with the new ones. When new solution variables are added to a pre-existing study, they get an automatic scaling per default. While this would usually have been a good choice when solving for the mesh coordinates, it is often less than ideal when solving for the displacements. The issue is that the automatic scaling is based on the initial values and boundary conditions. The mesh coordinates hence get a scale similar to the size of the geometry, but the mesh displacements typically get a scale very close to zero. The nonlinear solver tolerance is proportional to the scale, and so you risk getting a much too tight tolerance. As a result, the model will either take a very long time to solve, or not converge at all.

To be able to run your model in 5.3a, you have two options:

  • Right-click on the Study node and select Show Default Solver. This will get you the new 5.3a defaults, and will usually work well provided you haven't previously made any significant changes to the solver setup. The mesh coordinate field will be assigned a manual scale based on the size of your geometry.
  • If you have made changes to the solver settings that you would like to keep, browse to the dependent variables node for the mesh displacement (Study 1 > Solver Configurations > Solution 1 > Dependent Variables 1 > Spatial mesh displacement or similar). Set the Method to Manual, then enter a Scale of the order of the expected deformations. If for example you expect your model of a MEMS actuator to deform up to 50 m, set the scale to 50e-6.

Manual Scaling

This should in most cases suffice to get your model up and running again. If not, please contact COMSOL Support.

Converting to Definitions > Moving Mesh

If you would like to convert your model to use the new moving mesh functionality, you need to delete your Moving Mesh or Deformed Geometry interface. Similarily, if your moving mesh functionality was defined within a multiphysics interface such as Rotating Machinery, Magnetic, delete the nodes that define the mesh motion or displacement.

Next, choose Component > Definitions > Moving Mesh, and add nodes corresponding to those you were using before. The functionality is similar to the older interfaces, but should you have problems relocating anything, this again is something COMSOL Support would be happy to help out with. When done, you may need to update the solver as described above. If your mesh is only undergoing prescribed deformations, as is generally the case in a rotating machinery model, this is not necessary.

If you cannot find the Moving Mesh entry under Component > Definitions, chances are your model was originally set up in a version prior to 5.3. If so, please click on the Component node. There will be a button labeled Permanently Define All Frames on the Settings tab. Click it, and the Moving Mesh entry will become available.

Permanently Define All Frames