-
-
March 29, 2021 at 6:02 pm
thospe
SubscriberHello,
I believe I have a similar issue to this thread here, though it's not clear if the recommendations there apply to my case. /forum/discussion/16298/geometry-dont-change-by-solving-different-design-points?
I'm attempting to perform a parameter sweep, modifying the dimensions of a pipe with multiple material layers. I am doing this using driving dimensions in Spaceclaim (see attached image).
I set all of my dimensions row by row in the parameter set dialog. If I set every row to "retain" for every case, then "set current", open up the fluent mesher, manually re-import the geometry and remesh, open fluent, and recalculate, everything works fine. However, if I click "update all design points", or if I just "set current" and update from the workbench, it keeps the geometry of the first design point and I get this error message:
Parameter update incorrect: Attempted = 5.1, Assigned = 4.6, Name = tss1
This only happens with parameters related to the geometry (fluid inlet temperature does not cause this problem). For even a modest parameter sweep, this will take weeks what should be doable overnight, so this workaround is really impractical. Is this a limitation of the student license or am I doing something wrong? Is there a way to force it to re-import the geometry and remesh as part of the run?
March 30, 2021 at 3:23 amKeyur Kanade
Ansys EmployeeCan you please upload some more images about which parameters you have defined.
Please check if each body moved to a new separate component.
Regards,
Keyur
How to access Ansys Online Help Document
How to show full resolution image
Guidelines on the Student Community
How to use Google to search within Ansys Student Community
March 31, 2021 at 12:09 amthospe
Subscriber.In the attached images, I have one variable, "tside", shown for two different cases (Figs. 1 and 2), as well as "ttop" (Fig. 3) and "tss" (Figs. 4 and 5). There is an additional set of variables that are adjusted together with tss in such a way that the geometry remains properly continuous and the red region has a constant thickness of 0.2 mm.
Each of these is associated with a pull command. I have a fluid flowing through the center (green) in the y-direction (into the screen) and a heat flux on the surface in the positive z-direction (left). In particular, I am interested in the maximum temperature of the red region.
If I take two design points, changing tside from 0 to 1 mm (comparing the cases from Figs. 1 and 2), highlight them both, right-click, and "update selected design points", I get 827.364 K in both cases (other output variables report exactly the same results as well). If I manually reload the mesh and run directly in fluent, I get 827.36 K and 817.59 K, respectively.
On further review, it seems that my issue is nearly identical to this one here: /forum/discussion/7134/doe-parametric-optimization-solution-is-different-than-fluent-stand-alone
Like both Flow and Antoinel, I am getting very different results when using the design point interface vs. opening fluent and running from there. Flow claimed the problem went away with the R12020 version, but that is what I'm using. I don't think automatic case modification can help me, as the variables that are causing problems aren't really internal to Fluent, but instead should modify the geometry that is sent to the fluent mesher.
There doesn't seem to be an obvious pattern to this - sometimes it correctly updates the geometry, sometimes it does not. This can happen with any of my geometric variables; tside and ttop do not give me the error message, I suspect because if one of the radial pull variables (like tss) fails it can result in overlapping geometry or a gap.
Here are five cases (the arrow corresponds to the boldened variable):
ttop=0, tside =0, tss=4.6 mm
ttop=0, tside=0, tss=4.6 mm
ttop=0, tside=0, tss=5.1 mm
.April 23, 2021 at 10:21 pmthospe
SubscriberI think I have found the problem, though I'm not sure how to solve it. I redid the whole thing from scratch, and instead of pull commands, I used move commands centered around the y-axis and driven by the radius of the semi-circular edges. This is definitely a much cleaner way of doing it, but doesn't solve the problem.
I have found that the problem is that it does not update these dimensions simultaneously, but instead does so in sequence. For example, suppose I increase the inner pipe diameter by 1 mm while moving the other surfaces to keep the layer thicknesses fixed. If the inner radius of the red region is updated first, it will move past the outer radius, which breaks the geometry even if the final result should be a sensible configuration.
Is there a workaround for this? It seems I need a way to ignore the connectivity while moving the surfaces, then redraw the connections between them once everything is in the correct place.
Edit: I think I have come to a solution by using dimensional annotations to drive the changes - it also didn't occur to me that I could have one move command that moves all the surfaces to accommodate the innermost diameter, another command that moves all but the innermost surface to accommodate the pink region thickness, etc. Will follow-up if this works.
April 24, 2021 at 10:34 ampeteroznewman
SubscriberArray
I recommend DesignModeler for parametric shape changes because it is a history-based modeler. Any set of numbers that ends up at a valid final geometry will work because it always rebuilds the geometry from the beginning whereas SpaceClaim edits the geometry from the current location and, as you have found, if it goes through a configuration where a face is consumed, that face is gone in the final state.
April 26, 2021 at 5:36 pmthospe
Subscriber.Thank you very much. That did clear up that part of the problem, but apparently that is not the root issue. Design Modeler makes the changes without issue, but if I run this from Workbench, I can see in the fluent solution field that the changes made in Design Modeler did not propagate down to fluent.
For example, I start in a configuration with a wide inner pipe (see first image), then check the fluent solution set (second image), I get a comparable geometry. If I retain a design point with a narrow pipe that I run from the workbench using "update design point", then set that point as current, I find that the DesignModeler geometry is properly updated (see image 3), but the fluent solution geometry is still identical to image 2 (see image 4).
I also have a report from fluent that simply measures the area of that innermost face (yellow). It measures the same area (25.13 mm^2) in all cases. If I manually change a new design point to current, refresh the DM point, and open fluent meshing, I find it still has the old geometry. (Image 5)
If I then click on import geometry -> revert and edit -> update, it loads in the new geometry (Image 6) and from there everything will work as intended. (The thin interlayer between the yellow and green is still there - it's just difficult to see).
.It seems to be skipping the step of importing the updated geometry into fluent meshing when I run from workbench.
May 12, 2021 at 4:49 pmthospe
Subscriber.I recorded a journal in an attempt to get some insight into what is happening when I update a design point. I'm not familiar with the scripting language and not sure if I'm interpreting this correctly, but it looks like it just sets the design point, selects the setup component (already skipping geometry and meshing, which appears to be the problem), and runs some gui operations from the workbench, which I presume tell setup to update. Is this accurate? I'd really like to use the design optimization tools, but they run into the same problem.
# encoding: utf-8
# 2021 R1
SetScriptVersion(Version="21.1.216")
designPoint1 = Parameters.GetDesignPoint(Name="42")
backgroundSession1 = UpdateAllDesignPoints(DesignPoints=[designPoint1])
system1 = GetSystem(Name="FLTG")
setup1 = system1.GetContainer(ComponentName="Setup")
setup1.SendCommand(Command='(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 1)')
setup1.SendCommand(Command='/file/set-tui-version "21.1"(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)')
setup1.SendCommand(Command='(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 1)')
setup1.SendCommand(Command='/file/set-tui-version "21.1"(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 1)')
setup1.SendCommand(Command="(newline)")
.May 12, 2021 at 7:12 pmthospe
Subscriber.Similarly, if I record a journal while using the response surface optimization interface, the result is:
# encoding: utf-8
# 2021 R1
SetScriptVersion(Version="21.1.216")
system1 = GetSystem(Name="RSO")
designofExperimentComponent1 = system1.GetComponent(Name="Design of Experiment")
designofExperimentComponent1.Refresh()
designofExperiment1 = system1.GetContainer(ComponentName="Design of Experiment")
dOEModel1 = designofExperiment1.GetModel()
designPointsTable1 = dOEModel1.PreviewDesignPoints()
designofExperimentComponent1.Update(AllDependencies=True)
system2 = GetSystem(Name="FLTG")
setup1 = system2.GetContainer(ComponentName="Setup")
setup1.SendCommand(Command='(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 1)')
setup1.SendCommand(Command='/file/set-tui-version "21.1"(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)')
setup1.SendCommand(Command='(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 1)')
setup1.SendCommand(Command='/file/set-tui-version "21.1"(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 1)')
setup1.SendCommand(Command="(newline)")
setup1.SendCommand(Command='(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 1)')
setup1.SendCommand(Command='/file/set-tui-version "21.1"(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)')
setup1.SendCommand(Command='(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 1)')
setup1.SendCommand(Command='/file/set-tui-version "21.1"(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 1)')
setup1.SendCommand(Command="(newline)")
setup1.SendCommand(Command='(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 1)')
setup1.SendCommand(Command='/file/set-tui-version "21.1"(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)')
setup1.SendCommand(Command='(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 1)')
setup1.SendCommand(Command='/file/set-tui-version "21.1"(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 0)(cx-gui-do cx-activate-tab-index "NavigationPane*Frame1(TreeTab)" 1)')
setup1.SendCommand(Command="(newline)")
Those last 5 lines repeat for each design point. Is there a way to modify this in such a way that it forces a re-mesh on each step, populating the design optimization table with values?
.May 21, 2021 at 5:19 pmthospe
Subscriber.I created a workaround. I'm not entirely sure that this is the most efficient way of doing this, but it appears to work. I'm also not sure I should mark this as solved because this feels like more of a hack and doesn't really resolve the underlying problem. It should be the expected behavior of clicking on "update design point". If there is a better way to do this, somebody please tell me.
A few drawbacks to this approach:
1) As far as I can tell, there's no way to port this directly into Design of Experiments - you need to use DoE to generate your points, copy them into the table of design points, run this script, then set the design of experiments to "custom" and set outputs to editable, then copy the results from the table of design points into the design of experiments table. Then you can use some of the design exploration tools like response surface optimization. I'm not yet sure how well things like refinement points work, but it's better than nothing.
2) Re-meshing seems to be flagged by Ansys as a non-parametric change. It marks all of your design points as out of date (the small lightning bolt icon). I'm not entirely sure if this affects anything, but it does make it difficult to keep track of which design points have been updated.
3) I couldn't figure out how to get the current design point or the total number of design points, or simply loop over all design points, so you need to edit the script to get the loop indices right.
4) This may be because of something not playing nicely with my OS or hardware, but I've found a lot of instability in general. In particular, I get frequent "Fluent failed to validate the connection" errors at random, despite me turning my firewall and antivirus off and fully updating Windows and IE. I don't know if this is the licensing server timing out or what. I only mention because it does make it difficult to loop over many points and requires a lot of micromanagement of the script.
With all that said, here's the script. It's currently set such that your current design point is 1 and you want to loop over 27 points. Also, the message board formatting gets rid of my indents - everything after the "if True:" line except for the "for i in range(secondPoint,points+1):Â " should be indented.
# encoding: utf-8
# 2021 R1
SetScriptVersion(Version="21.1.216")
secondPoint = 2 # the design point after the current one
points = 27 # total number of points
system1 = GetSystem(Name="FLTG")
setup1 = system1.GetContainer(ComponentName="Setup")
if True:Â
# This block is so I can toggle whether or not to run the current design point
# This has to be separate because Ansys throws an error and ends the script if you try to set the design point to the current design point
# open fluent meshing, revert geometry, generate mesh, close
mesh1 = system1.GetContainer(ComponentName="Mesh")
Fluent.Edit(Container=mesh1)
setup1.SendCommand(Command="(%py-exec "workflow.TaskObject['Import Geometry'].Revert()")")
setup1.SendCommand(Command="(%py-exec "workflow.TaskObject['Generate the Volume Mesh'].ExecuteUpstreamNonExecutedAndThisTask()")")
setup1.SendCommand(Command='(cx-gui-do cx-activate-item "MenuBar*FileMenu*Close Fluent")')
# update setup component
setupComponent1 = system1.GetComponent(Name="Setup")
setupComponent1.Refresh()
setupComponent1.Update(AllDependencies=True)
#update solution component
solutionComponent1 = system1.GetComponent(Name="Solution")
solutionComponent1.Refresh()
solutionComponent1.Update(AllDependencies=True)
# this is for all other design points
for i in range(secondPoint,points+1):Â
# change design point
designPoint1 = Parameters.GetDesignPoint(Name=repr(i))
Parameters.SetBaseDesignPoint(designPoint1)
# open fluent meshing, revert geometry, generate mesh, closeÂ
mesh1 = system1.GetContainer(ComponentName="Mesh")
Fluent.Edit(Container=mesh1)
setup1.SendCommand(Command="(%py-exec "workflow.TaskObject['Import Geometry'].Revert()")")
setup1.SendCommand(Command="(%py-exec "workflow.TaskObject['Generate the Volume Mesh'].ExecuteUpstreamNonExecutedAndThisTask()")")
setup1.SendCommand(Command='(cx-gui-do cx-activate-item "MenuBar*FileMenu*Close Fluent")')
# update setup component
setupComponent1 = system1.GetComponent(Name="Setup")
setupComponent1.Refresh()
setupComponent1.Update(AllDependencies=True)
#update solution component
solutionComponent1 = system1.GetComponent(Name="Solution")
solutionComponent1.Refresh()
solutionComponent1.Update(AllDependencies=True)
.August 30, 2021 at 5:37 pmvikas2244
Subscriber.Hello everyone. while doing the optimization of a centrifugal compressor I got an error i.e, ((DP 47) Update of the Geometry component in Geometry for Design Point 47 failed: The refresh failed because of an error. The parameter update failed for design point dp47).
can anyone tell me how to sort out this error? That would be a great help.
Thanks in advance.
.Viewing 9 reply threads- The topic ‘Cannot update geometry via design points’ is closed to new replies.
Ansys Innovation SpaceTrending discussions- FSAE CFD – Lesson 1 Preparation question (Using Discovery)
- Project lines/edges into a face with the direction normal to the face
- Script for subtracting models
- No preview in explorer with scdox file
- Multiple Instances of SpaceClaim taking multiple licenses
- Spaceclaim file reference error
- Issues after installing new service pack 2024R1 (sp5)
- Add-in Error Excel
- Problems with loading my Discovery Mesh into Fluent
- Missing SubDivWrapper.dll
Top Contributors-
3892
-
1414
-
1256
-
1118
-
1015
Top Rated Tags© 2025 Copyright ANSYS, Inc. All rights reserved.
Ansys does not support the usage of unauthorized Ansys software. Please visit www.ansys.com to obtain an official distribution.
-

Ansys Assistant

Welcome to Ansys Assistant!
An AI-based virtual assistant for active Ansys Academic Customers. Please login using your university issued email address.

Hey there, you are quite inquisitive! You have hit your hourly question limit. Please retry after '10' minutes. For questions, please reach out to ansyslearn@ansys.com.
RETRY