Compiling user routine into object file.
Hi All,
I need to run multiple jobs on different compute nodes of a cluster. For that I need to first compile my user subroutine into an *.o file.
Has anybody tried compiling a user subroutine into an object file on Linux with out using ABAQUS ?
I am assuming once I compile the code into an object file I will not the Intel Fortran License for all the nodes. I have only one Intel Fortran license that too not for compute node.
Regards
Yes, you can compile the code on one computer and then use output on other nodes that do not have a compiler. Note that you should not compile to an object file, though. You should compile it to a shared library, i.e. a so-file.
You can perform this compilation using the command:
abaqus make library=[file.f]
The compilation can also be performed without using Abaqus.
-Jorgen
Yes, you can compile the code on one computer and then use output on other nodes that do not have a compiler. Note that you should not compile to an object file, though. You should compile it to a shared library, i.e. a so-file.
You can perform this compilation using the command:
abaqus make library=[file.f]
The compilation can also be performed without using Abaqus.
-Jorgen
re:
Hi Jorgen,
I compile it exactly as you told:
abaqus make library=myumat.f
and it gives me the following files:
myumat-std-o
libstandardU.so
Then I tried the *.so file on abaqus job command to run the simulation like this:
(1) abaqus job=myinput input=myinput user=libstandardU.so
also
(2) abaqus job=myinput input=myinput user=myumat.f
(with the above *.so library file in the local directory)
But neither work out.
(1) Showed Error: The following file(s) could not be located: libstandardU.f, libstandardU.o
(2) showed Error: A license for FCompL could not be obtained.
Am I missing something here?
Thanks for your reply.
A
Once you have the libstandardU.so file you should copy that file to a location that can be read by each node. Then you need to add the following line your your abaqus_v6.env file on each node:
usub_lib_dir = path to the directory where libstandardU.so is stored
Then run abaqus without any user=... option.
- Jorgen
Result Files Missing
Thanks Jorgen,
It worked pretty well. However, I am missing the text files I write within my program. I wanted to save those files in the same directory where I run my input file. I could not locate them even in the ABAQUS home directory.
Alankar
Have you tried to provide the full path name when you open the text files?
-Jorgen
- 21 Forums
- 3,863 Topics
- 13.2 K Posts
- 1 Online
- 29.3 K Members