Jump to content
Sign in to follow this  
masuarez1122

Compiling user-defined functions

Recommended Posts

i was able to compile user-defined functions for density and viscosity.  I compile them individually and when i run my analysis, it gives me the following error: 

 

*** ERROR: Unable to locate function <methaneViscosity> in libraries <./libusr.dll,~/libusr.dll>

 

where methaneViscosity is the first user defined function that i compile.  

 

to clarify, i submit the following two commands: acuMakeDll -src methaneViscosity.c  and  acuMakeDll -src methaneDensity.c . Since i submit the commands individually, each creates a  libusr.lib and object libusr.exp .  This means that the libusr.lib/libusr.exp created by the first acuMakeDll commands is overwritten by the second acuMakeDll.  I believe this is the reason why the error occurs.  

 

 

Share this post


Link to post
Share on other sites

Correct - you need to make sure the compiled DLL includes both functions.  If you don't add the -src flag (so just   acuMakeDLL   ) it will compile any .c file sitting in that directory.  You could also include the -src flag, then use a comma-separated list to indicate which .c files to include.  (On Windows, the comma-separated list may not be understood, in which case you'll need to put the list in the local Acusim.cnf file.  See    acuMakeDll -h    for usage.)

Share this post


Link to post
Share on other sites

acupro, 

 

thank you very much for the help.  Unfortunately, a comma-separated list did not work on windows, and I could not find any documentation on how to provide the list on the local Acusim.cnf file ( C:\Program Files\Altair\2017-edu\acusolve\win64\script\Acusim.cnf ).  Keep in mind that i have very basic computer skills, and acuMakeDll -h did not provide much assistance.  I was able to compile using only acuMakeDll (which you mentioned will compile any .c file in the directory), which meant i had to move other user-defined functions that i'm still working on to a different directory, while i compile the user defined functions i listed previously. 

 

if you have time, i would appreciate any help you can provide on how to provide a list to the .cnf file. 

 

Thank you

 

Share this post


Link to post
Share on other sites

You can have an Acusim.cnf file in your local problem directory as well.  The Acusim.cnf file in your installation would generally have option that apply to all projects.  The local (in problem directory) would apply only to that particular problem.  If you don't have one, create Acusim.cnf file in the local problem directory, then add to it:

 

problem  =  problem_name                            #Put the problem name there, - in place of problem_name, makes it easier so you don't have to type problem name so often

user_source_files  =  methaneViscosity.c,methaneDensity.c

 

To test that, issue     acuMakeDll  -h     and you should see that list of source files after the -src option

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...