Acusolve :Compile for UDF

User: "Altair Forum User"
Altair Employee
Updated by Altair Forum User

I'm learning Acusolve following the Acusolve_2017_Turtorials. In the example of ACU-5300, the wave is defined by UDF. But when I compiled the wave.c file, an error occurred: 'wave.obj can not be found in the working directory'. I don't konw why, because I have put all files in the folder of ACU5300_ShipStatic, which includes geomsim.jou, wave.c and Wigley_hull.x_t, to the working directory. I didnt find the wave.obj file. Could you tell me Why and what can I do to eliminate the errror? Thank you!

This figure is the error information.

image.png.d71ca7861be649fc65138270f5227a9e.png

Find more posts tagged with

Sort by:
1 - 8 of 81
    User: "ydigit"
    Altair Employee
    Updated by ydigit

    I am not sure why you have a 'dot' at the end of wave.c file? Could you try without that 'dot' at the end?

    User: "whj"
    Altair Community Member
    Updated by whj

    I'm learning Acusolve following the Acusolve_2017_Turtorials. In the example of ACU-5300, the wave is defined by UDF. But when I compiled the wave.c file, an error occurred: 'wave.obj can not be found in the working directory'. I don't konw why, because I have put all files in the folder of ACU5300_ShipStatic, which includes geomsim.jou, wave.c and Wigley_hull.x_t, to the working directory. I didnt find the wave.obj file. Could you tell me Why and what can I do to eliminate the errror? Thank you!

    This figure is the error information.

    <?xml version="1.0" encoding="UTF-8"?>image.png.d71ca7861be649fc65138270f5227a9e.png

    Hello, have you solved this problem? I have the same problem as you.
    E:3_leiyou.... Is this your way of working? How is this set up? My acusolve CMD prompt, do you know how to modify it?

    User: "Junta_20361"
    New Altair Community Member
    Updated by Junta_20361

    hello everyone,

    Any update on this post?

    Does anyone know what is mean of 'can not find wave.obj' ?

    I have faced the same message while compile for UDF file.

    But the compile process still worked and created new files in the folder.

    image.png.57cb9d393c448c47cb70bb82e00d1997.png

    User: "acupro"
    Altair Employee
    Updated by acupro

    According to the last line in your post, libusr.dll was successfully created - that is the linked/compiled library to be used by AcuSolve.  What files are in that ACU5300 directory after you run acuMakeDll?  Does the solver go through using the libusr.dll file that was created?

    User: "Junta_20361"
    New Altair Community Member
    Updated by Junta_20361

    According to the last line in your post, libusr.dll was successfully created - that is the linked/compiled library to be used by AcuSolve.  What files are in that ACU5300 directory after you run acuMakeDll?  Does the solver go through using the libusr.dll file that was created?

    Hi Acupro,

    I didn't completed Acu5300. But i will share info with Acu4002. They have similar step with compiling UDF file. ok?

    Below image are the files created after running AcuMakeDLL:

    image.png.1c9748cf54d5fbe2d253e96397ef942b.png

    The simulation worked, but in .log files, there are messages as below:

    <?xml version="1.0" encoding="UTF-8"?>image.thumb.png.c24607c6ba155c588c5ee679d989c940.png

     

    Can you tell me what is the meaning of acuMakeDll message in .log file? AcuSolve recompiled again?

    User: "Junta_20361"
    New Altair Community Member
    Updated by Junta_20361

    Also, when i submit the job to another PC (stronger than mine to reduce processing time) and that machine doesn't have compiler.

    The solver didn't run and show message as below:

    <?xml version="1.0" encoding="UTF-8"?>image.thumb.png.0e079c2e5b059764861a599ea0d108a2.png

    does this mean AcuSolve requires the current machine must have compiler?
    This is quite inconvenience. Since, for large complex model, engineer usually pre-processing on their desktop then submit the job on HPC for solving.

    User: "acupro"
    Altair Employee
    Updated by acupro

    When the user function is compiled, it includes the libraries necessary for the type of message passing to be used by the solver itself.  If you issue

    acuMakeDll  -h

    you'll see the option '-mp' with the default being  impi.  So if you're going to use impi at the solver level, the compiled library will be correct.  However, in the cases you show above, the message passing used by the solver is openmp, thus the user library needs to be recompiled.  The second system doesn't have the 64-bit compiler, so it fails.  If you want to compile for openmp to be used on the second system you would add

    -mp  openmp

    to the acuMakeDll command you used for the first attempt.  Then the compiled dll should be usable by the solver on both systems, without recompiling.

    User: "Junta_20361"
    New Altair Community Member
    Updated by Junta_20361

    When the user function is compiled, it includes the libraries necessary for the type of message passing to be used by the solver itself.  If you issue 

    acuMakeDll  -h

    you'll see the option '-mp' with the default being  impi.  So if you're going to use impi at the solver level, the compiled library will be correct.  However, in the cases you show above, the message passing used by the solver is openmp, thus the user library needs to be recompiled.  The second system doesn't have the 64-bit compiler, so it fails.  If you want to compile for openmp to be used on the second system you would add

    -mp  openmp

    to the acuMakeDll command you used for the first attempt.  Then the compiled dll should be usable by the solver on both systems, without recompiling.

    Hi acupro,

    Thanks for your detailed answer.

    i will try it. :D/emoticons/default_biggrin.png' srcset='/emoticons/biggrin@2x.png 2x' title=':D' width='20' />