Jump to content

Mr. Henrik Philipsen

Members
  • Content Count

    18
  • Joined

  • Last visited

Posts posted by Mr. Henrik Philipsen


  1. Dear Caeses crew,

     

    I am trying to utilize the Dakota engine to optimize a hull. I use between 2 and 8 design variables, but only one result objective, the total resistance in this case.

     

    How do I set the Dakota engine up to search towards the minimum of the result variable?

    And I am a bit in doubt about how to implement constraints with the design variables. How do I set the limitation scope?

     

    Thanks, Henrik


  2. Hi Caeses team,

     

    I am trying to compute the volume of the bulb that I am modifying. I have the forward section including the bow modelled as 'FImageOffsetGroup' but I just want the volume of the protruding bulb ahead of the forward perpendicular.

    Do you have any tricks on how to do that?

     

    I have attached a section illustration, where the outer red section lines describe the modified bulb I would like to integrate the volume of.

     

    post-383-0-08239400-1437597657_thumb.png

     

    Cheers, Henrik


  3. Hi Karsten,

     

    Yes, it is a Sobol series that I have already run the simulations on (3 days appr. wall clock runtime on a cluster), and the results are already available in (for one design instance):

    /home/henrik/Documents/Dropbox/HullOptimDB/Friendship/FeSTL02/02_Sobol/Sobol_02_des0001/computation/DragTotal.csv

     

    So I need to read the DragTotal.csv and average the last 397 timesteps for each instance and then get it to update the Sobol Design list with the values.

    I cannot get it to accept the new set result value in the "evaluations" of each design after the first run, even after unlocking all variants? Is that possible?

     

    Is there a default directory structure for it to find the result values? Because it keeps looking through Runner.

    And the command

     

     

    computation.getResults().getAverageOfLastRows("DragTotal.csv.table",397,1)

     

    When I try to assign the above command in a FParameter in one individual design variant (no 15 this case) inside the CAD edit menu of this design no, I get the following error:

     

    *** INFO FGenIntReader : Could not open file /home/henrik/Documents/Dropbox/HullOptimDB/Friendship/FeSTL02/02_Sobol/Sobol_02_des0015/Runner//DragTotal.csv for reading [parsing process aborted]

     

    I have loaded the DragTotal.csv file from the baseline design into the "Result files" and "Result values" field in the software connector, shouldn't that be sufficient for all following designs to do the same, when the direcotory structure is the same?


  4. Hello Patricia,

     

    I am using Joergs command, and am getting the error messages in my previos post. It seems like it is looking for the .csv file in .../baseline/Runner/.... as default. I could move the files over to .../Runner ??

     

    I just want to average over a specified number of timesteps for each result file DragTotal.csv, to be able to compare the designs


  5. Thank you very much Jörg,

    That seems a very useful function. I am having a bit of problems implementing it though. I have the complete series of 30 designs that has run, then specifies DragTotal.csv in the result files from the baseline directory,

    /home/henrik/Documents/Dropbox/HullOptimDB/Friendship/FeSTL02/manual_results/baseline/computation/DragTotal.csv

     

    Shouldn't it then automatically update the available DragTotal.csv file for each design variant already simulated externally, and with the the result file available in eg:

    /home/henrik/Documents/Dropbox/HullOptimDB/Friendship/FeSTL02/02_Sobol/Sobol_02_des0001/computation/DragTotal.csv

     

    When I try to press "read existing result" files in the runner object window, I get this error message again:

     

    *** INFO FResultsGenInt : File read error [Failed to open file /home/henrik/Documents/Dropbox/HullOptimDB/Friendship/FeSTL02/manual_results/baseline/Runner/DragTotal.csv]

    Even I specified the DragTotal.csv to be in:

    /home/henrik/Documents/Dropbox/HullOptimDB/Friendship/FeSTL02/manual_results/baseline/computation/DragTotal.csv

     

    Somehow it specifies .../Runner/... as default dir even I have loaded the .csv file from the computation dir?

     

    What am I doing wrong?


  6. Hi again,

     

    I have completed some designs and evaluated them externally in StarCCM+. I have the .csv files copied back into

    this directory with full path for one design instance as an example:

     

    home/henrik/Documents/Dropbox/HullOptimDB/Friendship/FeSTL02/02_Sobol/Sobol_02_des0003/computation/DragTotal.csv

     

    I use the attached averaging definition, as I need to time average the data. But I get the below error message:

     

    *** INFO FGenIntReader : Could not open file /home/henrik/Documents/Dropbox/HullOptimDB/Friendship/FeSTL02/02_Sobol/Sobol_02_des0003/Runner//DragTotal.csv for reading [parsing process aborted]

     

    Seems it is trying to get the data from another directory than where it should look.

    I have tried to change the code, but without luck. Maybe you can assist me?

    Kind regards, Henrik

     

     

    Here is the bulk of the code:

     

     

    // --- This feature creator has been automatically modified to suit the new syntax of if-commands. ---

    double evalDummy(dummy)

     

    int iter(numIterations)

     

    string path(getDesignDir()+"/"+computation+"/"+fileName)

     

    if (pathSwitch)

    path=absPath

    endif

     

    FFileIn in(path)

     

    if (NOT(in.openRead()))

    echo("*** INFO " + this.getName() + " : Error Opening File")

    goto(end)

    endif

     

    loopHeader:

     

    FObjectList vals(in.readline().simplified().splitByRegExp(","))

     

    if (vals.at(0).castTo(FString).toDouble()==0)

    goto(loopHeader)

    endif

     

    double firstTimeStepAfterHeader(vals.at(0).castTo(FString).toDouble())

     

    //----------------------------------------------------------------------

     

    unsigned i(2)

     

    loopNot:

     

    in.readLine()

     

    i+=1

     

    if (i <= (numIterations - itRead))

    goto(loopNot)

    endif

     

    //----------------------------------------------------------------------

     

    double temp()

    double sum(0)

     

    loopRead:

     

    FObjectList vals(in.readline().simplified().splitByRegExp(","))

     

    temp.setValue(-vals.at(1).castTo(FString).toDouble())

     

    sum+=temp

     

    i+=1

     

    if (i <= numIterations)

    goto(loopRead)

    endif

     

    //----------------------------------------------------------------------

     

    double average(sum/itRead)

     

    in.close()

     

    end:

    computeAverageStar.fdfc


  7. Hello Arne, and thanks for your swift reply.

     

    I do not use the SSH ressource manager, it proved not to be necessary, and also the jobs I submit via Torque needs to be in a queue.

     

    I saw during simulation that I was limited to 4 optimization processes, meaning only 4 design variants could be run at the same time via ssh scripting. It would be nice to be able to run more, as I principally can get many cores (if they are available in the queue).

    I do not know if I have understood it right with respect to number of local and remote processes.

     

    Kind regards, Henrik


  8. I have coupled Friendship to STAR-CCM+ running batch jobs on a Torque cluster system. The optimization is generating designs that are evaluated in STAR-CCM+

     

    I would like to couple Red Cedar Heeds to Friendship for Heeds to control the generation of designs and evaluation of sensitivity of the design variables, hence choosing the most sensitive ones.

     

    How do I couple the interface of Friendship to be controlled by HEEDS. Are designs then generated and evaluated individually or based on a limited number of previous designs?

    Can you help me with that?

    Is it at all possible with my present student license?


  9. Dear Friendship crew,

     

    I am using a student license to control StarCCM+ in batch mode externally on a Torque cluster system.

    How many external simulations can I run and manage at the same time via SSH with my current license?

    Does the number of maximum internal processes affect the allowed number of external processes?

    At the moment I am simulating 30 design variants each with a runtime around 2,5 hours.

     

    Kind regards, Henrik

×
×
  • Create New...