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.

Parametric Surfaces to 3D object

Please login with a confirmed email address before reporting spam

I've been attempting to use two parametric surfaces from interpolations to define the shape of a 3D solid domain. I'm following steps similar to those used in this previous thread www.comsol.dk/community/forums/general/thread/20848/.

I use tab-delimited text data (x, y, and z) to define two interpolation functions ('top' and 'bottom'); both files have the same x and y points (though these are not uniformly gridded). I then make two parametric functions from these. I make a union of those two (which isn't really necessary, I think), make a solid block, convert everything to a solid, delete entities, then form union.

I've tried a variety of combinations of relative tolerances and max. number of knots in the parametric surface settings. Unfortunately, I get an "Internal error in geometry decomposition" when I make the union (or if I don't make the union, then when I convert everything to solid). Or, the union produces just one of the surfaces along with some connections on the sides that seem to connect with whichever surface is no longer there.

I think that the problem comes from the interpolation of the files. When I limit my domain to just regions (x and y) where the top is very far from bottom, this works fine. However, over the full xy domain, all of the z values in the top are not always above the bottom, in some cases they are equal. However, while they might be the same in some places, the top never has a lower z value then the bottom. Here's where I think the problem comes in: when I look at the parametric surfaces, top and bottom often overlap. My file size apparently too big to attach; I'll try to find a work around at some point.

A couple questions:
Has anyone else encountered something like this? Have any solutions been found?
Even if I can get the weird overlapping to go away, will the top and the bottom having equal z values be a problem? Could I do something like just add a very small value (like 0.1% of the thickness) to the top to circumvent this problem? Such a small value would not greatly affect the final results.

5 Replies Last Post Nov 18, 2015, 12:06 p.m. EST
COMSOL Moderator

Hello Rachel Headley

Your Discussion has gone 30 days without a reply. If you still need help with COMSOL and have an on-subscription license, please visit our Support Center for help.

If you do not hold an on-subscription license, you may find an answer in another Discussion or in the Knowledge Base.


Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Apr 5, 2012, 9:24 a.m. EDT
Hi,
have you found a solution to your problem yet? I am having the same issue now.
Thanks.
Hi, have you found a solution to your problem yet? I am having the same issue now. Thanks.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Sep 10, 2013, 4:16 p.m. EDT
Hi Rachel,

I've got same issue using parametric surfaces, and my top and bottom surfaces are close enough. I guess it may be due to the interpolation method, where we do not have choice to make. Have you found alternative way to get around of it?

If you are not care about the space precisely, when you create a surface, you can use syntex like : if (z>..., z+.., z-...). Hope this helps you well.
Hi Rachel, I've got same issue using parametric surfaces, and my top and bottom surfaces are close enough. I guess it may be due to the interpolation method, where we do not have choice to make. Have you found alternative way to get around of it? If you are not care about the space precisely, when you create a surface, you can use syntex like : if (z>..., z+.., z-...). Hope this helps you well.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Nov 18, 2013, 1:56 p.m. EST
Hi Rachel,

I've also been having problems working with parametric surfaces and thin layers. I find that the error message of "Internal error in geometry decomposition" appears when the parametric surfaces intersect each other. My understanding is that because it uses an interpolation of the input points it doesn't matter that the input points don't overlap, they are not used as "fixed points" on the resulting surface. I am using GIS data so the X Y grid is on the order of 100 km and the difference in Z values between the 2 surfaces range from 10 m to 5 km.

In the mean time I have been interpolating my original data points to a smaller grid (2 km -> 200 m) using various interpolation methods, checking that it results in no intersections in my 2 layers and then importing the new grid into Comsol. I have not been able to get rid of all the overlap unless I offset the layers by an additional 500 m which is unacceptable if I want to keep the model as a feasible representation of the real world data.

I tried messing with STL files though they are extremely limited in functionality once inside of Comsol. If only there was a way to offset one parametric surface based on the other as a function of (x,y) instead of just a uniform offset (if that makes sense).

I'll post if I find anything other than smoothing and re-sampling the initial data. I only have the subsurface flow module on Comsol 4.3b, no other modules.

Has anyone found a resolution for this issue yet?


Christian
Hi Rachel, I've also been having problems working with parametric surfaces and thin layers. I find that the error message of "Internal error in geometry decomposition" appears when the parametric surfaces intersect each other. My understanding is that because it uses an interpolation of the input points it doesn't matter that the input points don't overlap, they are not used as "fixed points" on the resulting surface. I am using GIS data so the X Y grid is on the order of 100 km and the difference in Z values between the 2 surfaces range from 10 m to 5 km. In the mean time I have been interpolating my original data points to a smaller grid (2 km -> 200 m) using various interpolation methods, checking that it results in no intersections in my 2 layers and then importing the new grid into Comsol. I have not been able to get rid of all the overlap unless I offset the layers by an additional 500 m which is unacceptable if I want to keep the model as a feasible representation of the real world data. I tried messing with STL files though they are extremely limited in functionality once inside of Comsol. If only there was a way to offset one parametric surface based on the other as a function of (x,y) instead of just a uniform offset (if that makes sense). I'll post if I find anything other than smoothing and re-sampling the initial data. I only have the subsurface flow module on Comsol 4.3b, no other modules. Has anyone found a resolution for this issue yet? Christian

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Apr 15, 2014, 5:54 a.m. EDT
Hi all,

I just stumbled across this while looking for something else. After a quick skim read this sounds like a problem I encountered a while ago. I don't know if you've all since found solutions, but it turned out I needed to use the CAD Import Module to build my geometry. The default COMSOL kernel wasn't sufficient for such a complicated geometry. There is an option to switch between the two on the geometry node in 3D models when you have the extra module available.

I know this is far from ideal as it costs extra but it did help my work a huge amount! You can probably get a trial of the module from COMSOL if you want to test it first.

JH.
Hi all, I just stumbled across this while looking for something else. After a quick skim read this sounds like a problem I encountered a while ago. I don't know if you've all since found solutions, but it turned out I needed to use the CAD Import Module to build my geometry. The default COMSOL kernel wasn't sufficient for such a complicated geometry. There is an option to switch between the two on the geometry node in 3D models when you have the extra module available. I know this is far from ideal as it costs extra but it did help my work a huge amount! You can probably get a trial of the module from COMSOL if you want to test it first. JH.

Sivanand Somasundaram

Please login with a confirmed email address before reporting spam

Posted: 9 years ago Nov 18, 2015, 12:06 p.m. EST
Hi
I had similar issues with parametric surfaces. Comsol Support engineer figured out that the parameters used for parameteric eqn should have minimum and maximum limits as 0 and 1. (ie reshift your parameters by scaling s=(s-smin)/smax

hope it helps

regards
Sivanand
Hi I had similar issues with parametric surfaces. Comsol Support engineer figured out that the parameters used for parameteric eqn should have minimum and maximum limits as 0 and 1. (ie reshift your parameters by scaling s=(s-smin)/smax hope it helps regards Sivanand

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.