Platform: All Platforms Versions: All versions

Problem Description

Why do I get the error message “Internal error in geometry decomposition”?

Solution

This error means that COMSOL Multiphysics failed to resolve the geometry relations. If your geometry consists of several objects, the objects are automatically combined into a single object when you Finalize the geometry, which happens automatically when you go from the Geometry branch to any other branch in the Model Tree. The action of combining the objects is rather complex and unfortunately it can fail.

It may be difficult to determine the exact cause of this error, it might arise for seemingly very simple geometries. You can get these problems when there is a lack of accuracy in the geometry model; either due to a CAD import with low accuracy in the data, or by difficulties in drawing exactly matching parts inside COMSOL Multiphysics. But you may also get similar problems when you have complicated geometry models containing large aspect ratios in surfaces, small angles between edges in vertices, or very small entities.

What can you do to get around this problem?

  • If you are not running the latest version of COMSOL Multiphysics, please upgrade. Sometimes the new improved features can fix the problem. The latest update is available at www.comsol.com/support/updates/.

  • If you plan to create more elaborate 3D models it is highly recommended that you get one of the products: Design Module, CAD Import Module, LiveLink™ for AutoCAD®,  LiveLink™ for SOLIDWORKS®, LiveLink™ for PTC® Creo® Parametric®, LiveLink™ for Revit®, LiveLink™ for Solid Edge®, or LiveLink™ for Inventor®. Any of these products makes the Parasolid® CAD kernel available and enables more robust solid operations in the COMSOL environment. The geometry kernel, or Geometric Representation, can be changed in the Settings window of the Geometry head node.

  • If the Parasolid® CAD kernel is already used to represent the geometry and if you have the Design Module, enable the Design Module Boolean operations for even more robust solid operations. It can be changed in the Settings window of the Geometry head node, under Geometric Representation.

  • If you have several geometry objects it is often a good idea to do a manual union of these. Ideally this should be done pair-wise. The repair tolerance in the Union feature makes the algorithm more intelligent in terms of accepting flaws, and also repairing them. Try to perform the same operation with different Repair tolerances or change the order of the input objects if you get a failure. Trial-and-error is usually the only way to work around the error. If it does not seem to help, try also the next tip.

  • Change the geometry. Simplify or avoid small structures, utilize symmetries, eliminate narrow intersections with curved objects, and remove all unnecessary parts. Or, do the opposite: Start out with a very simple geometry, make sure that the model solves and gives you reasonable results, and then add on complexity as you go. As you add more features to your geometry, be sure to only add what you believe makes a difference.

  • If, and only if, you have geometry objects that are completely non-overlapping, then the COMSOL Assembly feature can be used to prevent COMSOL from uniting all objects into a single geometry object. Within the Geometry branch, switch from Form a Union to Form an Assembly. This will allow the different, yet mating, objects to have non-congruent meshes at the interface. To connect the physics between the objects, you will need to use Identity pairs. This functionality is not applicable for electromagnetic wave or magnetic field modeling, or any other physics using curl elements. It is recommended to run COMSOL 5.1 or later when using the Form an Assembly option.

If none of these suggestions would help, do not hesitate to send your mph file to COMSOL Support at www.comsol.com/support/contact/ or via support@comsol.com. We will try to diagnose the problem and investigate a workaround or solution. By sending us a problematic geometry, you are contributing to the development of our software.