Note: This discussion is about an older version of the COMSOL Multiphysics® software. The information provided may be out of date.

Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

import complex 3D geometry internal error code 900 / boolean operation failed

Please login with a confirmed email address before reporting spam

Hi everyone,

I am trying to import a complex 3D geometry into COMSOL 4.0a. I've created it using CATIA (R19). The file format to be imported is .stp. Also, I do have access to the CAD import tool. The model consists of four domains that, once united, have a cylindrical shape. The interfaces between the domains, however, are very complex and irregular. I can import each domain separately (and form a union for each domain individually). However, once i try to form a union between all four domains I obtain the following error message: "Boolean operation failed". In a different thread I read that this might be due to the repair tolerance. Hence, I played with the import tolerances. Now, however, I obtain another error message: "Internal error in geometry processing internal error code: 900".

My questions:
===========

1. I am dealing with a coupled fluid structure problem (using "acsl" toolbox), is it 100% necessary to form a union or will an assembly do the trick as well?

2. If I need to form a union, why do I get the outlined error messages and what can I do to fix the problem (I am almost 100% sure that my geometry is correct and that the domain interfaces are error free)

Thanks you very much in advance

Martin

11 Replies Last Post May 12, 2012, 2:30 p.m. EDT
Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jun 7, 2011, 3:39 a.m. EDT
Hi

I'm afraid that the union mode is required, otherwise I doubt you can set up correct "continuity" conditions. For me I believe that if the union does not pass, it really comes from the matching quality of the different domains.

check carefully, if when in assembly mode the common boundaries are coincident, at the 1um or better level
else my experience is that once must play a little with the import option resolution and the defeaturing

--
Good luck
Ivar
Hi I'm afraid that the union mode is required, otherwise I doubt you can set up correct "continuity" conditions. For me I believe that if the union does not pass, it really comes from the matching quality of the different domains. check carefully, if when in assembly mode the common boundaries are coincident, at the 1um or better level else my experience is that once must play a little with the import option resolution and the defeaturing -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jun 7, 2011, 3:54 a.m. EDT
I had once this problem, in version 4.1 though. have you tried changing the geometry representation option?
i dont know if that option is available in 4.0 or not, but if it is then choose "CAD Import Kernel" as it is a more powerful kernel and can handle more complex geometries.
the default kernel in comsol is kind of basic.

good luck
I had once this problem, in version 4.1 though. have you tried changing the geometry representation option? i dont know if that option is available in 4.0 or not, but if it is then choose "CAD Import Kernel" as it is a more powerful kernel and can handle more complex geometries. the default kernel in comsol is kind of basic. good luck

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jun 9, 2011, 4:00 p.m. EDT
Hi Ivar, hi Ali,

thank you guys for your helpful input. I changed the settings to "CAD import kernel" and played a little more with the tolerances. Eventually, it worked out and I was able to form a union between the domains.

Have a great day,

Martin
Hi Ivar, hi Ali, thank you guys for your helpful input. I changed the settings to "CAD import kernel" and played a little more with the tolerances. Eventually, it worked out and I was able to form a union between the domains. Have a great day, Martin

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jun 27, 2011, 9:53 a.m. EDT
Hi,

These tips about playing with the tolerance of the model and cad defeaturing functions, and using CAD import kernel have been helpful in the first phase of my geometry, which is an oddly shaped box ( a musical instrument body). However, as soon as I add some braces to cross the box, and perform the same operations, this "boolean geometry operation failed" notification starts hunting me again, when I am trying to form a union.

The boolean union works fine in the CAD-programme for this object, but not for COMSOL. This seems like a lottery to me..

Any other tips or explanations for the CAD import module would be highly appreciated!

Yours,
Henna
Hi, These tips about playing with the tolerance of the model and cad defeaturing functions, and using CAD import kernel have been helpful in the first phase of my geometry, which is an oddly shaped box ( a musical instrument body). However, as soon as I add some braces to cross the box, and perform the same operations, this "boolean geometry operation failed" notification starts hunting me again, when I am trying to form a union. The boolean union works fine in the CAD-programme for this object, but not for COMSOL. This seems like a lottery to me.. Any other tips or explanations for the CAD import module would be highly appreciated! Yours, Henna

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jun 29, 2011, 9:12 a.m. EDT
Hi Henna,

I've played a little more with my complex geometry and found another solution. I am using CATIA V5 R19 to create my geometry and when I create a geometry that has less precision in terms of detail resolution of the surfaces COMSOL can handle the structure without any problem whatsoever. I don't even get the "boolean geometry operation failed" message anymore. This observation is in line with Ivar's suggestion to remove all small faces using the CAD repair command. In my case, however, I couldnt delete all the small faces using the CAD repair tool. So, maybe you can solve your problem by decreasing the surface detail (in the CAD software that you use during modelling).

Hope that helps!

Kind regards,

Martin

Hi Henna, I've played a little more with my complex geometry and found another solution. I am using CATIA V5 R19 to create my geometry and when I create a geometry that has less precision in terms of detail resolution of the surfaces COMSOL can handle the structure without any problem whatsoever. I don't even get the "boolean geometry operation failed" message anymore. This observation is in line with Ivar's suggestion to remove all small faces using the CAD repair command. In my case, however, I couldnt delete all the small faces using the CAD repair tool. So, maybe you can solve your problem by decreasing the surface detail (in the CAD software that you use during modelling). Hope that helps! Kind regards, Martin

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Sep 5, 2011, 4:14 p.m. EDT
Hi !

I am almost getting crazy by trying to form a UNION of my complex geometry in COMSOL 4.2.

My geometry consists of parts of the human heart that were obtained from MRT scans (atria, ventricles as well as right and left blood cavities filling the interior of the heart) and represented as 3D volume geometry in ACIS ".sat" format. If I import into COMSOL only the atria and ventricles without blood cavities I can form a UNION of my geometry. In similarity, if I import only the left and right blood cavities, I also can form a UNION of them. However, when I put them all together, I am always getting the message: "Boolean geometry operation failed". As I already tried the "CAD import module kernel" and I played a lot with the import and repair tolerances I do not know what to do anymore. I just attach to this message the files representing my heart model in .SAT - format and a screenshot of the error message that I get (in the file "error_message.jpg"), hopping that somebody will help me. I am setting the units of COMSOL to centimeters and import the geometry using the length unit from COMSOL. However, it looks like COMSOL does not understand it right (screenshot in "error_message.jpg").

Thank you for any help,
victor


P.S. Henna, have you solved your problem ?
Hi ! I am almost getting crazy by trying to form a UNION of my complex geometry in COMSOL 4.2. My geometry consists of parts of the human heart that were obtained from MRT scans (atria, ventricles as well as right and left blood cavities filling the interior of the heart) and represented as 3D volume geometry in ACIS ".sat" format. If I import into COMSOL only the atria and ventricles without blood cavities I can form a UNION of my geometry. In similarity, if I import only the left and right blood cavities, I also can form a UNION of them. However, when I put them all together, I am always getting the message: "Boolean geometry operation failed". As I already tried the "CAD import module kernel" and I played a lot with the import and repair tolerances I do not know what to do anymore. I just attach to this message the files representing my heart model in .SAT - format and a screenshot of the error message that I get (in the file "error_message.jpg"), hopping that somebody will help me. I am setting the units of COMSOL to centimeters and import the geometry using the length unit from COMSOL. However, it looks like COMSOL does not understand it right (screenshot in "error_message.jpg"). Thank you for any help, victor P.S. Henna, have you solved your problem ?


Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Sep 6, 2011, 4:50 a.m. EDT
Hi

as you are already receiving a "meshed" surface, these complex shapes are probably delicate to assemble and treat. COMSOL must remake volumes from the surfaces, which is often impossible as one often need some "human" intervention to decide where are the internal/external norm of a given facette.

I havent worked with such geoemtry, but I suspect one need to make closed volume out of them in another CAD tool first for optimum import. there are a few specialised softwares optimised for these kinds of geoemtry data

Furthermore, the default meshing settings, I would believe, are not optimised for such shapes, I would suggest that you ask "support", you are certainly not the only one.

Finally use the latest version, (or 3.5a) as 4.0 was an arly one not yet ironed out

--
Good luck
Ivar
Hi as you are already receiving a "meshed" surface, these complex shapes are probably delicate to assemble and treat. COMSOL must remake volumes from the surfaces, which is often impossible as one often need some "human" intervention to decide where are the internal/external norm of a given facette. I havent worked with such geoemtry, but I suspect one need to make closed volume out of them in another CAD tool first for optimum import. there are a few specialised softwares optimised for these kinds of geoemtry data Furthermore, the default meshing settings, I would believe, are not optimised for such shapes, I would suggest that you ask "support", you are certainly not the only one. Finally use the latest version, (or 3.5a) as 4.0 was an arly one not yet ironed out -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Sep 6, 2011, 6:41 a.m. EDT
Hi Ivar,

Thanks for your answer. You have so much experience with COMSOL. I started using COMSOL from version 4.0, so I do not have v3.5 which according to you has better meshing tools.

As you already remarked my original geometry consists of triangulated surfaces (coordinates for a point cloud and connections between these points) for which I wrote a simple C++ code able to put each geometry part in the Wavefront ".OBJ" format. At this stage, the geometry is still represented as closed triangulated surfaces (meshes) which can be easily imported in any program that supports the Wavefront OBJ - format (but not in COMSOL). So, I am using another software for electromagnetic simulations to convert the closed triangulated surfaces from .OBJ format to volume solid models in ACIS ".SAT" format that can be imported into COMSOL. I also tried the conversion OBJ --> STL but then the imported geometry into COMSOL has even more problems than for the SAT - format. I also have the CAD programs: Rhinoceros and SolidWorks. Do you have experience with any of them ?

Your answer is helpful for me because now I can better appreciate the complexity of my problem.

Thanks again,
victor
Hi Ivar, Thanks for your answer. You have so much experience with COMSOL. I started using COMSOL from version 4.0, so I do not have v3.5 which according to you has better meshing tools. As you already remarked my original geometry consists of triangulated surfaces (coordinates for a point cloud and connections between these points) for which I wrote a simple C++ code able to put each geometry part in the Wavefront ".OBJ" format. At this stage, the geometry is still represented as closed triangulated surfaces (meshes) which can be easily imported in any program that supports the Wavefront OBJ - format (but not in COMSOL). So, I am using another software for electromagnetic simulations to convert the closed triangulated surfaces from .OBJ format to volume solid models in ACIS ".SAT" format that can be imported into COMSOL. I also tried the conversion OBJ --> STL but then the imported geometry into COMSOL has even more problems than for the SAT - format. I also have the CAD programs: Rhinoceros and SolidWorks. Do you have experience with any of them ? Your answer is helpful for me because now I can better appreciate the complexity of my problem. Thanks again, victor

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Sep 6, 2011, 9:41 a.m. EDT
Hi

I was saying that (in my view) 4.2, or newer, is better than 4.0; and probably even better than 3.5 too by now ;)
So if you do not have and are not used to 3.5: forget about it, and assume that your world has (re)started with v4 ;)

The issue you have (from my understanding) is that the COMSOL the CAD geometry is optimised for closed volumic objects and not open surfaces. Some CAD programmes work only on surfaces, other with volumes (those I call true 3D CAD) and if you only have a "meshed" surface it is far from obvious how to transform it to an unique volume.

It is the same witht the different "neutral" exchange formats such as IGES, STEP, ....

perhaps you could import your volumes as separate "one closed volume at the time" or find another CAD tool that can convert your meshed surface into a closed volume (without gaps between the surfaces)

Finally for the meshing of suh surfaces, I'm not sure exactly which paramters to use, as a starting point it would be nice tu use the surface mesh as is

--
Good luck
Ivar
Hi I was saying that (in my view) 4.2, or newer, is better than 4.0; and probably even better than 3.5 too by now ;) So if you do not have and are not used to 3.5: forget about it, and assume that your world has (re)started with v4 ;) The issue you have (from my understanding) is that the COMSOL the CAD geometry is optimised for closed volumic objects and not open surfaces. Some CAD programmes work only on surfaces, other with volumes (those I call true 3D CAD) and if you only have a "meshed" surface it is far from obvious how to transform it to an unique volume. It is the same witht the different "neutral" exchange formats such as IGES, STEP, .... perhaps you could import your volumes as separate "one closed volume at the time" or find another CAD tool that can convert your meshed surface into a closed volume (without gaps between the surfaces) Finally for the meshing of suh surfaces, I'm not sure exactly which paramters to use, as a starting point it would be nice tu use the surface mesh as is -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago May 11, 2012, 11:22 a.m. EDT
I have tried all of these approaches but I cannot seem to form a union. I have attached my files. It is imported from solidworks and it all seens to be fine except the upper arm and shoulder will absolutley not form a union and I don't know why. Please help!
I have tried all of these approaches but I cannot seem to form a union. I have attached my files. It is imported from solidworks and it all seens to be fine except the upper arm and shoulder will absolutley not form a union and I don't know why. Please help!


Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago May 12, 2012, 2:30 p.m. EDT
Hi

I would say try "support", you have an issue in the way COMSOL geometry module handles free form objects.
It could come from a precision issues of some of the shapes, or that when knitting these shapes toeter there remain some gaps. Even when changing the relative tolerance fr repair it will not group the objects correctly.

Still it's a nice model ;)

--
Good luck
Ivar
Hi I would say try "support", you have an issue in the way COMSOL geometry module handles free form objects. It could come from a precision issues of some of the shapes, or that when knitting these shapes toeter there remain some gaps. Even when changing the relative tolerance fr repair it will not group the objects correctly. Still it's a nice model ;) -- Good luck Ivar

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.