Jump to content

Recommended Posts

Hi together,

 

The pro edition of CAESES comes with a set of algorithms for design exploration and formal optimizations. However, people often already use an external optimization software in their company (such as HEEDS, Isight, modeFrontier, Optimus, optiSLang etc). In this case, one can make use of the batch mode of the CAESES pro edition, in order to automatically generate geometry design variants, using the given optimization tool.

 

I attached a small setup (sweepbatch.zip) which demonstrates how simple this works:

 

  • sweep.fdb
    Project file that contains the geometry model along with its design variables.
  • sweep.fsc
    ASCII file that controls the batch run. It starts CAESES, sets the values of the design variables and exports an STL file. This fsc-file is the one that needs to be manipulated by the external optimization software, i.e. parameterize the values of the design variables (see the "setValue"-command).
  • run.bat
    Run this file to execute the entire process.

 

The run of sweep.fdb also writes out the number of open edges into a file called "openedges.dat". It is merely a simple check for a closed STL geometry, and this information can be used as well by the optimization tool (geometry validity check).

 

Cheers

Joerg

 

PS: check out this related post as well.

 

UPDATE AUGUST 2017: The call in the bat/script file needs to be

 

"C:\Program Files (x86)\FRIENDSHIP-SYSTEMS\CAESES\bin\win64\CAESES_crt.exe" sweep.fsc

 

with the newer versions of CAESES (and not CAESES-FFW).

post-8-0-61813400-1405931919_thumb.gif

sweepbatch.zip

post-8-0-48098900-1405932384_thumb.png

Share this post


Link to post
Share on other sites

Hey,

 

I've created based on Jörgs batch mode setup for Windows a setup for Linux.

 

Please follow these steps:

  1. Download the zip file
  2. open "Runner" with an editor and change the path in line 3 to your CAESES installation director
  3. execute the "Runner"

post-41-0-53762700-1414141828_thumb.png

Please note that the batch mode of CAESES is not available in the Free Version.

 

Cheers,

 

Karsten

 

Update for CAESES 4.4.x: the name has changed in newer versions, use CAESES_crt now.

sweepbatchWindowsAndLinux.zip

Share this post


Link to post
Share on other sites
Guest Mr. YEONUK KANG

HI

I have a small question.

I use designassmbler sometimes for my optimization. I want to use batch file. 

 

forexample design variable (A B C) - ROWS 3

 

A B C

0 0 -1

0 0 -2

0 1  0

 

if I use writesetupintofile other Rows delete automatically.

 

so I don't know how can I make above things.

 

a.setvalue(0)

b.setvalue(0)

c.setvalue(-1)

 

optiengine.run() 

 

a.setvalue(0)

b.setvalue(0)

c.setvalue(-2)

 

optiengine.run() 

 

a.setvalue(0)

b.setvalue(1)

c.setvalue(0)

 

optiengine.run() 

 

 

Is this right?

 

Share this post


Link to post
Share on other sites

Hi,

 

The purpose of the method

writesetupintofile()

is only to provide a starting point for external batch processes. It plots the design variable name into the file, along with the lower and upper bounds, so it is easy to parameterize it with external optimization tools. Currently, it does not give you the logic of the design assembler setup. Your approach from above seems reasonable to me. Does it work like this in your case?

 

Joerg

Share this post


Link to post
Share on other sites
Guest Mr. YEONUK KANG
// [2.22507e-308,16]

|DWL.setValue(14.5)

 

// [2.22507e-308,389]

|LBP.setValue(389)

 

// [2.22507e-308,24]

|Ta.setValue(24)

 

// [2.22507e-308,24]

|Tb.setValue(24)

 

 

uk.setUseResultPool(false)

uk.run()

 

I try above. It is run but make 3 result because uk have 3 rows. 

so, I want to know how can I change the value in the uk (designassembler). 

 

do you know any method? uk.adddesignvalue(14.5 , 385 ,24 ,24) like this.

 

 

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

Hi,

 

I have checked with a colleague who did a similar thing some time ago, see the attachment. Unfortunately, it is not so straightforward, it is realized by means of a feature that sets the variable values from a text file. Maybe you can take a look at it, it is not super trivial. So far, this functionality has not been requested that often. We will think about an easier way to do this job and discuss it internally.

 

I hope this helps a bit :-)

 

Joerg

 

sample.zip

Share this post


Link to post
Share on other sites

Hi,

 

You don't need to read the values from a file, the feature in that project is just based on the requirement to fill the assembler from a file.

 

The relevant parts of the feature that adds the designvariables (line 20 to 29). That list needs to have the format [[deva, lowerbound, upperbound, active], ...]. So it is basically a list of lists, where each inner list represents one variable. Additionally, it is possible to add single design variables by using the command adddesignvariable(fparameter deva, fdouble lowerbound, fdouble upperbound, fbool active), however note that that command does not do anything if the design variable was already set at the design assembler.

The second relevant part is the setting of the values of the variables by using the setvariablevalues command (line 81). That command takes an objectlist of the format [[deva1Value1, deva2Value1, ... ,devaNValue1], [deva1Value2, deva2Value2, ... , devaNValue2], ... ]. So, again it is a list of lists, where each inner list represents the values for all designvariables for one design. Note that the inner lists need to have the same number of values and that number needs to match the number of designvariables that are set at the designassembler. The number of inner lists represents the number of designs that are created in the end.

 

Sorry that the comments in the feature are all in German, but I think with my explanation above, it should be possible to understand the feature.

 

The zip file also contains an fsc script, that, when executed, first runs the feature that sets the values of the variables in the designassembler and then runs the designassembler itself.

 

I hope this helps.

 

Cheers,

Arne

Share this post


Link to post
Share on other sites
Guest Mr. YEONUK KANG

I understand. thanks. 

 

I just know all things done by fsc file.

 

If I already setting Design Variables manually. (ex DWL, LBP, T) data is null.

 

 

so  I want to below way.

 

open(sample.fdb)

 

assemble.setVariablevalue([14.5,383,25],[13,383,25],[12,383,25])   // it doesnt work.

 

assemble.setUseResultPool(false)
assemble.run()

Share this post


Link to post
Share on other sites
Guest Mr. YEONUK KANG

assemble.setVariablevalue([[14.5,383,25],[13,383,25],[12,383,25]])   // it's work well . 

 

thanks

Share this post


Link to post
Share on other sites

Hi together,

 

the project from Joerg is working only with Caeses 3.

With the new Caeses 4, you have to change the code inside the run form "C:\Program Files (x86)\FRIENDSHIP-SYSTEMS\CAESES-FFW\bin\win64\CAESES-FFW_crt.exe" sweep.fsc  to "C:\programs\CAESES\bin\win64\CAESES_crt.exe" sweep.fsc .

 

Have a nice job with the new version!

Carlo

Share this post


Link to post
Share on other sites

CAESES on a Cluster:

 

In order to run CAESES on a Linux cluster, use the batch mode (CAESES_crt). If you would like to start a design engine (design study or optimization) on the cluster, use the following calls within the fsc-file:

// ...

engine.run()

// ...

saveProject()
close()

Share this post


Link to post
Share on other sites

Hello, Lately, I’ve been trying to run CAESES coupled with StarCCM+ in batch mode for Linux. Checking previous discussions, is it possible to reactivate again for downloading the zip file with the example on how to run CAESES in batch mode? and if you have suggestion please feel free to tell me

Thanks in advance,

Best,

Nuttarat
 

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...