Parametric Optimization using DesignXplorer

  • Last Post 17 September 2019
  • Topic Is Solved
vagelan posted this 03 September 2019


I am trying to make a parametric optimization of a hollow plate, using as objective the mass reduction and constrain the FOS, with DesignXplorer

I have used the following parameters in Spaceclaim:

  • L: length
  • H: height
  • t:thickness
  • r: hole radius
  • l1: distance between the hole's center and one vertical side
  • hi: distance between the hole's center and one horizontal side
  • d1: the force placement

I tried to use some dependencies between the parameters. The L,H, t and d1 are updated after using the candidates DP but the radius and the position of the hole remains stable. I have tried some alternatives with no chance. Can someone help please? I attach the project in order to take a look.

Order By: Standard | Newest | Votes
SandeepMedikonda posted this 04 September 2019

Not everyone can download the model. Can you explain with some inline pictures? What is the exact issue you are having?

peteroznewman posted this 04 September 2019


Here are the first two rows of the Table of Design Points.

DP 0 is not a problem. The length, L, is defined from the right edge...



...while the location of the hole, l1, is defined from the left edge.

If you manually update the geometry to DP 1 with l1 first, and then L second, here is what you get:

Now look at what happens when you update l1 to 75 mm...

It pushes the hole outside the solid.

Now there is no hole. All the parameters that belonged to the hole are deleted.

You can't type in 25 mm again because the parameter l1 doesn't exist!

peteroznewman posted this 04 September 2019

Now if you had dimensioned both the length and location of the hole from the same edge, and implement

rule 1)   l1 < L - r 

rule 2)  l1 > r

then the hole of radius r would not escape from inside the length, L.

  • Liked by
  • vagelan
vagelan posted this 04 September 2019

Thank you peretoznewman for your answer!

I have used the same edges for L, l1 and H, h1and the parameters dependencies that you proposed at the surface optimization

but it still does not working properly.

I do not know what to do...Here is the link for the new project

peteroznewman posted this 04 September 2019

 rule 1)   l1 < L - r 

rule 2)  l1 > r

Look at DP 1, where L = 80, r = 10 so L - r = 70, but l1 = 90.

rule 1 says l1 < L - r but you have 90 which is not less than 70.

This setting causes the hole to be pushed outside the block and all the hole parameters to be deleted.

One way to stop doing that is to reformulate the inputs to the DOE.

Create a new independent variable for the hole location, hlp, which is the percentage of the allowable range, L - 2*r.
hlp must be between 0 and 100, but perhaps the limits could be 10 to 90 percent.

So l1 becomes a dependent variable that encodes rule 1 and rule 2.

l1 = r + hlp*(L - 2*r)/100

In this way, hlp can take on any value between 10 and 90 without regard to the values that L, and r have already taken and the hole will always remain contained with some margin within the length of the block.

Repeat this method for the force location along the length and the vertical hole location.

vagelan posted this 05 September 2019

I used the expression that you suggested for l1 and h1 so:

l1 = r + hlp*(L - 2*r)/100

h1 = r + hlp*(H - 2*r)/100

With hlp 10-90

I tried the same with the force placement. My intention was to have a constant force area equal to 30mm with force placement (d1) that varies so i used the expression:

d1 = 15 + fcp*(L - 30)/100

where fcp 0-100

10 DP failed. I do not know why. Is that normal? So i used custom solution for the DOE and i deleted the failed DP, is that correct?

For the force i created a rectangular on the top of the plate and i used a dimension (d1) in the middle of it as force placement. Is that correct?

However i could update the design at the 3 candidate DPs. But for example the predicted values in CP3 were Mass=156g and FOS=7.71 when the real are Mass=101.5g and FOS=1.43. Should we expect so big difference between the values?


vagelan posted this 06 September 2019

Any advice?

peteroznewman posted this 06 September 2019

First I have two comments, unrelated to your question.

1) I expected you would have an independent variable for the vertical location of the hole such as hvp.

h1 = r + hvp*(H - 2*r)/100

When you use hlp, the hole is always going to be on the diagonal of the block.  When you use hlp and hvp, the hole can be anywhere on the face of the block within the margins.

2) SpaceClaim does something weird after moving d1 to 15.  Look at this sequence of events.

See how after the move, SC has repositioned the marker for the face?  This is because the top surface went from having 3 faces to 2 faces.  You changed the topology.  Don't do that. When you set d1 back to a larger number, a third face is created, but it disturbs the marker.  Maybe this is a bug. I don't know.

You can avoid that by not allowing fcp to go to 0 or 100.  Make the limits 1 and 99 or smaller.  However, this is not your question.

Now to answer your question with a question.  Do you understand how SpaceClaim updates geometry with Parameter inputs?

Here is what happens when the geometry goes from DP 0 to DP 10, a surface is created and Mechanical doesn't know its thickness.

It's like when the parameter pushed the hole outside the block, things in the geometry model were broken.

I find parameter updates much more robust in DesignModeler because it is a history-based modeler, while SpaceClaim is not. However, I recall that model history was added as a feature to a recent release of SpaceClaim, I have not yet looked into that.

vagelan posted this 06 September 2019

Thank you very much for your tips and your help peteroznewman!!

I noticed exactly the same problem with you in Spaceclaim. I was not sure if the DPs are created either in sequence or independently.

In other words i.e. concerning DP2 : DP0 -> DP1 -> DP2 or DP0 -> DP2. It seems that is the first one so there is a problem with the results.

I tired to change the order of the parameters in Spaceclaim in a way that first will be updated the r,t,l1,h1 and d1 and at the end L and H in order to avoid geometry issues ('broken things'). I do not know if it works

I am considering to drop Spaceclaim and use DesignModeler then.

peteroznewman posted this 06 September 2019

Here is where SC starts.

Here is what SC does to the geometry when it updates from the way it was saved to DP 0

SC is updating the parameters from top to bottom of this list. Look at the shape after updating two values.

Updating d1 is when the surface is created.


vagelan posted this 06 September 2019

Yes i agree with you! I have not found a solution to that yet. I am trying different orders to see what will happen...

peteroznewman posted this 06 September 2019

Note that you can drag the Driving Dimension up and down the list and you will get a different outcome due to the new update order.

  • Liked by
  • vagelan
vagelan posted this 10 September 2019

Hi again

I used the Design Modeler for the same case and i got different results. The problem again is that the results for the Candidate points were completely different compared to the real values:

What is the problem? Any idea?


peteroznewman posted this 11 September 2019

The google drive has only a _files folder. It is missing the .wbpj file. This is not useable.  Use the File > Archive... menu to create a .wbpz file.  This one file is shareable and useful.  You can attach a .wbpz file directly to a post after you post is using the Attach button.

peteroznewman posted this 12 September 2019

I looked at your model and have the following comments.

1) The Response Surface is doing a poor job modeling the mass over this range of input parameters. That may be because of problems mentioned in points 2 and 3 below.

2) Use Maximum Equivalent Stress < 125 MPa  instead of the equivalent Factor of Safety > 2.0  The reason is Stress varies linearly with some of the parameters, while Factor of Safety introduces a highly non-linear response that is more difficult to model in the Response Surface.

3) Use a finer mesh.  The mesh you had is too coarse to accurately represent the Maximum Stress so the RS model was getting poor quality data. You will be better off using a Sweep mesh control and a Sizing mesh control for the number of nodes around the hole. Use Proximity sizing to assure 3 elements across any gap.  Add an inflation layer around the hole.

4) Even with the above, the shape of the true response surface may have a lot of curves in it and the DOE will need to sample a lot more points to properly map out the shape of the response surface.

Attached Files

vagelan posted this 12 September 2019

Thank you very much again for your suggestions!

The file that you attached it is saved from a future ANSYS version so i can not open it..Can you save it in order to be opened from an older version?

1) I agree with you!

2) The change from  FOS to Maximum Equivalent Stress did not help to the prediction accuracy

3) Thank you for these suggestions! The reason that i used coarse mesh was to save time at the DOE phase and use better mesh later. Even with better mesh i could not get better predictions. And even the mass predictions were fail!

4) It is not possible to add more DP with the Central Composite Design with these parameters. I am thinking to use the Latin Hypercube Sampling (LHS) DOE method with user defined sample points and the Kriging as Response Surface Type using verification points.

peteroznewman posted this 12 September 2019

Since you are not using 2019 R2 please reply with the release you are using.

  • 2019 R1
  • 19.2
  • 19.1
  • 19.0
  • 18.2
  • 18.1
  • 18.0

vagelan posted this 12 September 2019

2019 R1

Thank you!!

peteroznewman posted this 12 September 2019

I ran the optimization and found that the fcp parameter is introducing a significant challenge to fitting a good Response Surface to the stress data.

The reason is you allowed a minimum value of fcp to be 0.1%.  What this means is that the 30 mm long force area gets pushed to the fixed support and leaves a tiny slice.  As the edge of the force area approaches the fixed support, the stress changes in a highly nonlinear way, and this makes it difficult to fit a Response Surface.

If you put a more reasonable lower limit on fcp like 10% then this highly nonlinear response would not be present, you would get a better fit of the response surface to the data and the optimization prediction would fall closer to the actual simulation result.

Here is the plot of Maximum Stress vs fcp.

Here is the geometry for fcp = 10

and it satisfies the stress limit of < 125 MPa.

Now this geometry is already at the minimum mass, because L, H and t are all at the lower limit and r is at the upper limit. This tells me that there is no tradeoff needed between mass and stress to achieve the stress limit.

  • Liked by
  • vagelan
vagelan posted this 13 September 2019

My intention was to move the force area (30mm) from the one side to the other.  But even using DesignModeler i could not make it:


Here is when d1=100mm (now d1 is measured from the right side of the rectangle:force area)

And here is the result when d1=30

The force placement is fail (same problem with Spaceclaim)...Is it possible to have fcp=0 and 100 (d1=30 and d1=100)??

peteroznewman posted this 13 September 2019

In the first DM model from earlier, you had the dimension like this:

In the new model attached above you moved the dimension to the far side of the area. Don't do that.

1) Is it possible to have fcp = 0 and 100?  The answer is no, because that introduces a topology change.  With fcp between 10 and 90, there are three faces on the top, at fcp = 0 there are only two faces on the top.  The same applies to hlp. If hlp = 0 the hole becomes tangent to the end and that may cause problems.

2) Look at this graph, it shows that as fcp approaches 0, the stress suddenly increases. Why do you even want fcp to approach 0? 

3) You made no comment on the fact that for the dimensional limits provided that you can minimize the mass by simply setting L, H and t at the lower limit and r at the upper limit and as long as fcp > 2%, the model satisfies the stress < 125 MPa constraint.

vagelan posted this 13 September 2019

Thank you very much for your tips and advices peretoznewman and sorry for the long discussion!

I will keep the solution with fcp 10-90 then. That was a simple example that i created in order to learn/test the DesignXplorer and i have learned a lot thank you.

Could you please attach the previous file that you sent for version 2019 R1?

vagelan posted this 17 September 2019

Hey Peter

Could you please send me the file again for R1 version in order to check the mesh that you used?

peteroznewman posted this 17 September 2019

I started with this attachment because I did my work in R2 and there is no going backward.

I redid the Mesh Controls in R1 the way I showed above to attach the file below.

Attached Files

  • Liked by
  • vagelan
vagelan posted this 17 September 2019

Thank you Peter!!