UDF on HPC for a Batch job
Hi,
I am trying to execute a UDF (Define_Spcific_Heat) that runs nicely on my own machine. However, I am facing issues when trying to execute the same via a batch job on the HPC. The sequence of my workflow is as follows, please let me know if it needs any correction
- I have complied the UDF on my machine (Cp inputted as a user-defined function) and then exporting the cas file to be run on the HPC.
- The directory of the HPC contains both the cas file and the libudf folder
- The journal file has the following commands
- /define/user-defined/compiled-functions compile libudf yes 'Specific_Heat.c' ""
- /define/user-defined/compiled-funcitons load libudf
- Finally the error I get is as follows:
for d in lnamd64/[23]*; do \ ( \ cd $d; \ if [ -f udf_names.c ]; then \ mv -f udf_names.c udf_names.cRenamed; \ fi; \ rm -rf *.{c,h,cpp,hpp}; \ if [ -f udf_names.cRenamed ]; then \ mv -f udf_names.cRenamed udf_names.c; \ fi; \ for f in ../../src/*.{c,h,cpp,hpp} ../../src/makefile ../../src/user.udf; do \ if [ -f $f -a ! -f `basename $f` ]; then \ echo "# linking to" $f "in" $d; \ ln -s $f .; \ fi; \ done; \ echo ""; \ echo "# building library in" $d; \ if [ "" = "1" ]; then \ echo "# using gcc64"; \ make ARCHC=gcc64 -k>makelog 2>&1; \ else \ if [ "" = "1" ]; then \ echo "# using gcc"; \ make ARCHC=gcc -k>makelog 2>&1; \ else \ make -k>makelog 2>&1; \ fi; \ fi;\ cat makelog; \ ) \ done # linking to ../../src/Specific_Heat.c in lnamd64/3ddp_host # building library in lnamd64/3ddp_host make[1]: Entering directory `/zhome/d7/e/113826/Ashish/Corner_Air_Gap_200_290/libudf/lnamd64/3ddp_host' make[1]: *** No rule to make target `compiled-funcitons', needed by `'Specific_Heat.c''. make[1]: *** No rule to make target `read-case', needed by `'Specific_Heat.c''. make[1]: *** No rule to make target `FLTG.2-Setup-Output.cas.gz', needed by `'Specific_Heat.c''. make[1]: *** No rule to make target `libudf', needed by `'Specific_Heat.c''. make[1]: *** No rule to make target `load', needed by `'Specific_Heat.c''. make[1]: Target `default' not remade because of errors. make[1]: Leaving directory `/zhome/d7/e/113826/Ashish/Corner_Air_Gap_200_290/libudf/lnamd64/3ddp_host' # linking to ../../src/Specific_Heat.c in lnamd64/3ddp_node # building library in lnamd64/3ddp_node make[1]: Entering directory `/zhome/d7/e/113826/Ashish/Corner_Air_Gap_200_290/libudf/lnamd64/3ddp_node' make[1]: *** No rule to make target `compiled-funcitons', needed by `'Specific_Heat.c''. make[1]: *** No rule to make target `read-case', needed by `'Specific_Heat.c''. make[1]: *** No rule to make target `FLTG.2-Setup-Output.cas.gz', needed by `'Specific_Heat.c''. make[1]: *** No rule to make target `libudf', needed by `'Specific_Heat.c''. make[1]: *** No rule to make target `load', needed by `'Specific_Heat.c''. make[1]: Target `default' not remade because of errors. make[1]: Leaving directory `/zhome/d7/e/113826/Ashish/Corner_Air_Gap_200_290/libudf/lnamd64/3ddp_node'
The above picture showcases the way all the files are organized.
Any comments/suggestions would be highly appreciatyed
Thanks,
Ashish
Tagged:
Answers
Hello,
Please check the command in point #5. You have a typo there in the word "functions" /define/user-defined/compiled-funcitons load libudf . You have used a wrong spelling. Please correct this and recheck.
Hope this helps.
Regards,
SD
Hi @sdeb
Thanks fo your comments,
Unfortunately, I'm having the same problem and errors as before.
Thanks,
Ashish
Hello,
Did you try setting environment variables properly? You might want to check the link below.
export FLUENT_ARCH = lnamd64 can be also tested before you launch Fluent.
Regards,
SD