Platform

Platform

I am not able to compile UDF and run simulation on HPC whenever I transfer the file from my windows

    • friday.abolorunke
      Subscriber

      Hello All,

      Whenever I try to run fluent simulation on my university HPC it fails to compile the UDF and refuse to run. I tried running without UDF and it worked perfectly but when I included the UDF I get the follow error message from the .out file.

      "faxxx/Desktop/3D_NC_v1/3dsoln/3dsolnv1_files/dp0/FFF/Fluent/libudf) is not compiled for parallel use on the current platform (lnamd64).

      Auto-compilation skipped. Could not find input files required for creating "C:/Users/faxxx/Desktop/3D_NC_v1/3dsoln/3dsolnv1_files/dp0/FFF/Fluent/libudf" library

      i2cmp003.pax.tufts.edu: Opening library "/cluster/home/faxxx/3dsoln/C:/Users/faxxx/Desktop/3D_NC_v1/3dsoln/3dsolnv1_files/dp0/FFF/Fluent/libudf"...rcx: couldn't decode arguments (4124).

      RPC RCX_SC_SET_ERR_MSG failed: RPC: Can't encode arguments

      Error at host: The UDF library you are trying to load (C:/Users/faxxx/Desktop/3D_NC_v1/3dsoln/3dsolnv1_files/dp0/FFF/Fluent/libudf) is not compiled for parallel use on the current platform (lnamd64).

      No such file or directory

      /cluster/home/faxxx/3dsoln/C:/Users/faxxx/Desktop/3D_NC_v1/3dsoln/3dsolnv1_files/dp0/FFF/Fluent/libudf/lnamd64/3ddp_host/libudf.so"

      Meanwhile, I have the UDF in the libudf folder. And the UDF has not issues because it works fine when i compile on my desktop. The issue only comes run I transfer the case, dat and all the other files to cluster.

      I have gone through some of the suggestions related to these issues on the forum. I converted the udf from dos2unix, so that’s not the issue.

      I have tried using expressions to define the density, viscosity, & mass diffusivity but it seems the option to do so is not available on version 21.1.


      command file

    • dcollier
      Ansys Employee
      Hello, You would need to compile the UDF on Windows first. Then login to the Linux machine and compile it again.Make sure you delete any libudf folders first.
      Make sure when you load you udf you are working in the same directory as the model is located it.
      --------------------------
      Once you have setup your case with a udf on your windows machine, you would still need to compile on your HPC cluster which is a Linux system (to be able to run that case on HPC).

      So, if you need to compile on Linux without a GUI you can just use the following two lines in your journal file (as the first 2 lines before reading the case file). Please change test.c with your udf file name, and copy case, journal, and udf files to your HPC folder for running on HPC.

      /define/user-defined/compiled-functions compile "libudf" yes "test.c" ""
      /define/user-defined/compiled-functions load "libudf"
    • friday.abolorunke
      Subscriber
      Hi dcollier
      Thank you for your quick response. I will try this and let know you the outcome.
      One more question, say I have 3 udfs should I do the following:
      /define/user-defined/compiled-functions compile "libudf" yes "test1.c" "test2.c" "test3.c" ""

      Regards Friday

    • friday.abolorunke
      Subscriber

    • friday.abolorunke
      Subscriber


      I made changes according to your recommendations. Now i am getting the error below. Please could you tell me what could be the cause of the issue



      # linking to ../../src/density_udf.c in lnamd64/3ddp_host
      # linking to ../../src/makefile in lnamd64/3ddp_host

      # building library in lnamd64/3ddp_host
      make[1]: Entering directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      # Generating udf_names.c because of makefile density_udf.c
      make[2]: Entering directory `/cluster/home/xx/3dsoln/libudf/lnamd64/3ddp_host'
      make libudf.so "CFLAGS=-D_lnamd64 -D_GNU_SOURCE -fpic -shared -std=c99 -Wall -O -DPTR_RESTRICT= " "LDFLAGS=-shared -lm"
      make[3]: Entering directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      make[3]: *** No rule to make target `compiled-functions', needed by `udf_names.o'.
      make[3]: *** No rule to make target `write-case-data', needed by `udf_names.o'.
      make[3]: *** No rule to make target `dual-time-iterate', needed by `udf_names.o'.
      make[3]: *** No rule to make target `time-step', needed by `udf_names.o'.
      make[3]: *** No rule to make target `0.01', needed by `udf_names.o'.
      make[3]: *** No rule to make target `10', needed by `udf_names.o'.
      make[3]: *** No rule to make target `3dsolnv1.cas', needed by `udf_names.o'.
      make[3]: *** No rule to make target `3dsolnv1.dat', needed by `udf_names.o'.
      make[3]: *** No rule to make target `60000', needed by `udf_names.o'.
      make[3]: *** No rule to make target `exit', needed by `udf_names.o'.
      make[3]: *** No rule to make target `libudf', needed by `udf_names.o'.
      make[3]: *** No rule to make target `load', needed by `udf_names.o'.
      make[3]: *** No rule to make target `rc', needed by `udf_names.o'.
      make[3]: Target `libudf.so' not remade because of errors.
      make[3]: Leaving directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      make[2]: *** [lnamd64] Error 2
      make[2]: Leaving directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      make[1]: *** [default] Error 2
      make[1]: Leaving directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      # linking to ../../src/density_udf.c in lnamd64/3ddp_node
      # linking to ../../src/makefile in lnamd64/3ddp_node



      Regards



    • friday.abolorunke
      Subscriber

      Hi @dcoll I made changes according to your recommendations. Now i am getting the error below. Please could you tell me what could be the cause of the issue



      # linking to ../../src/density_udf.c in lnamd64/3ddp_host
      # linking to ../../src/makefile in lnamd64/3ddp_host

      # building library in lnamd64/3ddp_host
      make[1]: Entering directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      # Generating udf_names.c because of makefile density_udf.c
      make[2]: Entering directory `/cluster/home/xx/3dsoln/libudf/lnamd64/3ddp_host'
      make libudf.so "CFLAGS=-D_lnamd64 -D_GNU_SOURCE -fpic -shared -std=c99 -Wall -O -DPTR_RESTRICT= " "LDFLAGS=-shared -lm"
      make[3]: Entering directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      make[3]: *** No rule to make target `compiled-functions', needed by `udf_names.o'.
      make[3]: *** No rule to make target `write-case-data', needed by `udf_names.o'.
      make[3]: *** No rule to make target `dual-time-iterate', needed by `udf_names.o'.
      make[3]: *** No rule to make target `time-step', needed by `udf_names.o'.
      make[3]: *** No rule to make target `0.01', needed by `udf_names.o'.
      make[3]: *** No rule to make target `10', needed by `udf_names.o'.
      make[3]: *** No rule to make target `3dsolnv1.cas', needed by `udf_names.o'.
      make[3]: *** No rule to make target `3dsolnv1.dat', needed by `udf_names.o'.
      make[3]: *** No rule to make target `60000', needed by `udf_names.o'.
      make[3]: *** No rule to make target `exit', needed by `udf_names.o'.
      make[3]: *** No rule to make target `libudf', needed by `udf_names.o'.
      make[3]: *** No rule to make target `load', needed by `udf_names.o'.
      make[3]: *** No rule to make target `rc', needed by `udf_names.o'.
      make[3]: Target `libudf.so' not remade because of errors.
      make[3]: Leaving directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      make[2]: *** [lnamd64] Error 2
      make[2]: Leaving directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      make[1]: *** [default] Error 2
      make[1]: Leaving directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      # linking to ../../src/density_udf.c in lnamd64/3ddp_node
      # linking to ../../src/makefile in lnamd64/3ddp_node



      Regards Friday



    • friday.abolorunke
      Subscriber

      Hi @dcoll I made changes according to your recommendations. Now i am getting the error below. Please could you tell me what could be the cause of the issue



      # linking to ../../src/density_udf.c in lnamd64/3ddp_host
      # linking to ../../src/makefile in lnamd64/3ddp_host

      # building library in lnamd64/3ddp_host
      make[1]: Entering directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      # Generating udf_names.c because of makefile density_udf.c
      make[2]: Entering directory `/cluster/home/xx/3dsoln/libudf/lnamd64/3ddp_host'
      make libudf.so "CFLAGS=-D_lnamd64 -D_GNU_SOURCE -fpic -shared -std=c99 -Wall -O -DPTR_RESTRICT= " "LDFLAGS=-shared -lm"
      make[3]: Entering directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      make[3]: *** No rule to make target `compiled-functions', needed by `udf_names.o'.
      make[3]: *** No rule to make target `write-case-data', needed by `udf_names.o'.
      make[3]: *** No rule to make target `dual-time-iterate', needed by `udf_names.o'.
      make[3]: *** No rule to make target `time-step', needed by `udf_names.o'.
      make[3]: *** No rule to make target `0.01', needed by `udf_names.o'.
      make[3]: *** No rule to make target `10', needed by `udf_names.o'.
      make[3]: *** No rule to make target `3dsolnv1.cas', needed by `udf_names.o'.
      make[3]: *** No rule to make target `3dsolnv1.dat', needed by `udf_names.o'.
      make[3]: *** No rule to make target `60000', needed by `udf_names.o'.
      make[3]: *** No rule to make target `exit', needed by `udf_names.o'.
      make[3]: *** No rule to make target `libudf', needed by `udf_names.o'.
      make[3]: *** No rule to make target `load', needed by `udf_names.o'.
      make[3]: *** No rule to make target `rc', needed by `udf_names.o'.
      make[3]: Target `libudf.so' not remade because of errors.
      make[3]: Leaving directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      make[2]: *** [lnamd64] Error 2
      make[2]: Leaving directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      make[1]: *** [default] Error 2
      make[1]: Leaving directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      # linking to ../../src/density_udf.c in lnamd64/3ddp_node
      # linking to ../../src/makefile in lnamd64/3ddp_node



      Regards Friday
    • friday.abolorunke
      Subscriber

      Hi @dcoll I made changes according to your recommendations. Now i am getting the error below. Please could you tell me what could be the cause of the issue



      # linking to ../../src/density_udf.c in lnamd64/3ddp_host
      # linking to ../../src/makefile in lnamd64/3ddp_host

      # building library in lnamd64/3ddp_host
      make[1]: Entering directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      # Generating udf_names.c because of makefile density_udf.c
      make[2]: Entering directory `/cluster/home/xx/3dsoln/libudf/lnamd64/3ddp_host'
      make libudf.so "CFLAGS=-D_lnamd64 -D_GNU_SOURCE -fpic -shared -std=c99 -Wall -O -DPTR_RESTRICT= " "LDFLAGS=-shared -lm"
      make[3]: Entering directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      make[3]: *** No rule to make target `compiled-functions', needed by `udf_names.o'.
      make[3]: *** No rule to make target `write-case-data', needed by `udf_names.o'.
      make[3]: *** No rule to make target `dual-time-iterate', needed by `udf_names.o'.
      make[3]: *** No rule to make target `time-step', needed by `udf_names.o'.
      make[3]: *** No rule to make target `0.01', needed by `udf_names.o'.
      make[3]: *** No rule to make target `10', needed by `udf_names.o'.
      make[3]: *** No rule to make target `3dsolnv1.cas', needed by `udf_names.o'.
      make[3]: *** No rule to make target `3dsolnv1.dat', needed by `udf_names.o'.
      make[3]: *** No rule to make target `60000', needed by `udf_names.o'.
      make[3]: *** No rule to make target `exit', needed by `udf_names.o'.
      make[3]: *** No rule to make target `libudf', needed by `udf_names.o'.
      make[3]: *** No rule to make target `load', needed by `udf_names.o'.
      make[3]: *** No rule to make target `rc', needed by `udf_names.o'.
      make[3]: Target `libudf.so' not remade because of errors.
      make[3]: Leaving directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      make[2]: *** [lnamd64] Error 2
      make[2]: Leaving directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      make[1]: *** [default] Error 2
      make[1]: Leaving directory `/cluster/home/users/3dsoln/libudf/lnamd64/3ddp_host'
      # linking to ../../src/density_udf.c in lnamd64/3ddp_node
      # linking to ../../src/makefile in lnamd64/3ddp_node



      Regards Friday



    • friday.abolorunke
      Subscriber


      I am so sorry. It seems that I spammed the platform. I was having network issues while trying to submit my response. I did not realize that they went through.
      I woke up only to find out I can't deleted them. So sorry for that.
    • prebenjs
      Subscriber
      did you find any solution to this ?
    • friday.abolorunke
      Subscriber

      No, I did not. But I figured it had nothing to do with my journal file. I sent my file to someone else and they were able to compile it with no issues on their HPC machine.
      So, the issue was with my school's HPC. The configuration for ANSYS was not properly setup and they are yet to fix it.
Viewing 10 reply threads
  • You must be logged in to reply to this topic.