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.

Geometrical optimization

Please login with a confirmed email address before reporting spam

Hello,

I would like to find the optimum geometry of my system but I don't find any solution...

Let me explain. I designed a membrane in a 2D axis model (a simple rectangle). The thickness of my membrane (height of the rectangle) is fixed and its radius (width of the rectangle) is a global parameter. I use the solid mechanics physic to clamp the outer boundary of my membrane and to apply following pressure on the upper boundary.

Now, I would like to find the optimum radius to a have a certain deflection of my membrane. Of course, I could (and I did) use a parametric sweep to find this optimum. But, as I would increase the complexity of my model (optimize also the thickness, constrain the stress, add layers, etc.), I would like to use the optimization module with this simple model.

First, I set my objective as the deflection and the control variable as the radius. But, Comsol always return the initial solution as the optimal one. So, no optimization.

Then, I try to use a deformed geometry to parametrized the radius. But the solver doesn't converge even for the initial geometry. I think, it was a problem of frame between the deformed geometry and the solid mechanics physics.

So I try a moving mesh. But I noticed something really strange. The behavior of my membrane is not the same when I use a parametric sweep on the radius declared as global parameter, and when I use a moving mesh. The relation between the deflection and the radius seems linear when I use the moving mesh, but it's not physically true. So the optimization in this case provides a fake optimum.

So, if someone have a solution to set a geometrical optimization, I will be very happy !! :)

Thanks for the help,

Rémy.


8 Replies Last Post 2013年9月28日 GMT-4 08:20
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 2010年11月21日 GMT-5 18:29
Hi

There are a couple of things to say first. I have been explained that if you want to update your geoemtry in V4 you need to use a parametric sweep solving case, as the "continuation" sweep options of a stationary solver does not "loop around" the Geometry & Mesh nodes.
Furthermore, the continuation sweep uses previous step to search for the location of the next step in an iterative process solver dependent. That is why, if your continuation sweep stops due to a convergence failure, often you can relaunch it and it will recalculate the starting point (last left point, note that the second last might already be partially wrong) and step gently from there, and mostly manages to continue. While a Parametric sweep restarts each calulation from the solver initial condition settings.

Now optimising a geometry can also be achieved with a Deformable Geometry (DG) "Physics" that does not follow the formal geometrical update as described above (if I have got this right, pls read again carefully the doc)

For optimisation cases you do not necessarily need the optimisation module, you can also, for simple cases, such as a load optimisation, define a load variable as a Global Equation and have the standard COMSOL to "optimise" it (mean square wise) such that the "objective function" you define to drive your Global Equation is met (=0). Here again there are a few exmples in the doc

--
Good luck
Ivar
Hi There are a couple of things to say first. I have been explained that if you want to update your geoemtry in V4 you need to use a parametric sweep solving case, as the "continuation" sweep options of a stationary solver does not "loop around" the Geometry & Mesh nodes. Furthermore, the continuation sweep uses previous step to search for the location of the next step in an iterative process solver dependent. That is why, if your continuation sweep stops due to a convergence failure, often you can relaunch it and it will recalculate the starting point (last left point, note that the second last might already be partially wrong) and step gently from there, and mostly manages to continue. While a Parametric sweep restarts each calulation from the solver initial condition settings. Now optimising a geometry can also be achieved with a Deformable Geometry (DG) "Physics" that does not follow the formal geometrical update as described above (if I have got this right, pls read again carefully the doc) For optimisation cases you do not necessarily need the optimisation module, you can also, for simple cases, such as a load optimisation, define a load variable as a Global Equation and have the standard COMSOL to "optimise" it (mean square wise) such that the "objective function" you define to drive your Global Equation is met (=0). Here again there are a few exmples in the doc -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 2012年1月12日 GMT-5 13:14

the "continuation" sweep options of a stationary solver does not "loop around" the Geometry & Mesh nodes.


Are there any plans to implement optimization that loops over geometry and mesh? It would be an enormous help for my work. I must resort to scripting to accomplish this right now, and it is a clunky solution.
[QUOTE] the "continuation" sweep options of a stationary solver does not "loop around" the Geometry & Mesh nodes. [/QUOTE] Are there any plans to implement optimization that loops over geometry and mesh? It would be an enormous help for my work. I must resort to scripting to accomplish this right now, and it is a clunky solution.

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 2012年1月12日 GMT-5 14:56
Hi

But the "Parametrical sweep" node solver step does loop around the geometry (there are two types of parametrical sweeps, the full loop, and the solver local loop defined in the continuation). Check your doc and the right click options on the sovler nodes

--
Good luck
Ivar
Hi But the "Parametrical sweep" node solver step does loop around the geometry (there are two types of parametrical sweeps, the full loop, and the solver local loop defined in the continuation). Check your doc and the right click options on the sovler nodes -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 2012年1月12日 GMT-5 18:05
Yes, but I have five-dimensional optimization problem. I love the parametric sweep function, and yet this sort of optimization is not practical with a parametric sweep. How do I lodge this as a feature request?
Yes, but I have five-dimensional optimization problem. I love the parametric sweep function, and yet this sort of optimization is not practical with a parametric sweep. How do I lodge this as a feature request?

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 2012年1月13日 GMT-5 02:34
Hi

for me it remains, multipl parametric sweeps or a multi-parameter parametric sweep. The continuation sweep does not change or improve, its logical that there are two "sweeps" the way it's now.

And if you want your need to be considered by COMSOL for futur improvements, send them off to "support", as I'm (and most of the User Forum Moderators) "just" a user like you, we cannot influence the COMSOL developpers ;)

--
Good luck
Ivar
Hi for me it remains, multipl parametric sweeps or a multi-parameter parametric sweep. The continuation sweep does not change or improve, its logical that there are two "sweeps" the way it's now. And if you want your need to be considered by COMSOL for futur improvements, send them off to "support", as I'm (and most of the User Forum Moderators) "just" a user like you, we cannot influence the COMSOL developpers ;) -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 2012年1月13日 GMT-5 06:31
Hello,

I understand your problem as it was mine, when I posted on the forum. There is a plan to implement optimization loop over the geometry but not over the mesh, at least without script. Let me explain.

You have to define a deformed geometry physics in order to tell the optimization algorithm how to deform your geometry according to your design parameters. Then, the optimization solver will find the optimal geometry to minimize your objective function. For this part, I let you check the doc about optimization and deformed geometry. The horn shape optimization model is also a good start.

But a problem of meshing occurs when your structure is highly deformed. Indeed, during the optimization, your structure is never re-meshed. One solution is to set a stop point according to the quality of your mesh. When the quality is lower than your stop point, you can re-mesh "by hand" your structure with the geometrical parameters output by the meshing solver at the stop point. Then, run again the optimization solver with this new meshed structure. This has to be done until the optimization solver converged on a optimal structure without bad mesh quality problem.

If you think this is to boring, you can script this methodology in java or matlab. Then run your script and just wait for your optimized structure parameters.

I hope this will be helpful.

Rémy.
Hello, I understand your problem as it was mine, when I posted on the forum. There is a plan to implement optimization loop over the geometry but not over the mesh, at least without script. Let me explain. You have to define a deformed geometry physics in order to tell the optimization algorithm how to deform your geometry according to your design parameters. Then, the optimization solver will find the optimal geometry to minimize your objective function. For this part, I let you check the doc about optimization and deformed geometry. The horn shape optimization model is also a good start. But a problem of meshing occurs when your structure is highly deformed. Indeed, during the optimization, your structure is never re-meshed. One solution is to set a stop point according to the quality of your mesh. When the quality is lower than your stop point, you can re-mesh "by hand" your structure with the geometrical parameters output by the meshing solver at the stop point. Then, run again the optimization solver with this new meshed structure. This has to be done until the optimization solver converged on a optimal structure without bad mesh quality problem. If you think this is to boring, you can script this methodology in java or matlab. Then run your script and just wait for your optimized structure parameters. I hope this will be helpful. Rémy.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 2012年11月5日 GMT-5 14:42
I've been having an almost identical problem with optimizing geometry. I came to the same conclusion in remeshing the simulation when the mesh quality meets a threshold. However I'm not familiar with automating the stop/remesh/continue simulation in matlab. Could someone direct me to documentation or an example where such an approach is utilized? Thank you
I've been having an almost identical problem with optimizing geometry. I came to the same conclusion in remeshing the simulation when the mesh quality meets a threshold. However I'm not familiar with automating the stop/remesh/continue simulation in matlab. Could someone direct me to documentation or an example where such an approach is utilized? Thank you

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 2013年9月28日 GMT-4 08:20
Hi Ivar Kjelberg!

I am doing a thickness optimization problem with COMSOL 4.3b, I encounter some problems.I hope you can lend me a hand. My problem desciption is as follows:

A semispherical shell is fixed at the bottom circle edge, and a vertically-downwards fixed force is applied to the top point of the shell. I want to get the appropriate thickness distribution of the shell under the goal of minimizing the total displacement of the shell.

I think we can use the Shell modules and the Optimization modules in COMSOL 4.3b to solve the problem. And take thickness of the shell as the design varible, the constraints is the volume or the mass of initial shell remains unchanged. The objective function is minimize the total displacement of the shell( shell.disp ). But I do not know how to manipulate the parameters in COMSOL. I hope someone could tell me how to solve it using COMSOL.

Thanks very much!


Bo Zhang.
Sept. 28th
Hi Ivar Kjelberg! I am doing a thickness optimization problem with COMSOL 4.3b, I encounter some problems.I hope you can lend me a hand. My problem desciption is as follows: A semispherical shell is fixed at the bottom circle edge, and a vertically-downwards fixed force is applied to the top point of the shell. I want to get the appropriate thickness distribution of the shell under the goal of minimizing the total displacement of the shell. I think we can use the Shell modules and the Optimization modules in COMSOL 4.3b to solve the problem. And take thickness of the shell as the design varible, the constraints is the volume or the mass of initial shell remains unchanged. The objective function is minimize the total displacement of the shell( shell.disp ). But I do not know how to manipulate the parameters in COMSOL. I hope someone could tell me how to solve it using COMSOL. Thanks very much! Bo Zhang. Sept. 28th

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.