Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
507 Views

Errors while trying to link Fortran Composer XE 2011 with Abaqus 6.14-2

Hi,

This is my first post, so apologies if this is in the wrong place.

I am trying to perform an analysis with a user subroutine in Abaqus. The analysis is being called from MATLAB using the dos command, rather than being launched from the Abaqus command window.

When I try to run the analysis, I receive an error of "LINK: fatal error LNK1181: cannot open input file 'msmpi.lib'"

I have been troubleshooting the the setup on my machine with information from forums for a few days now, and I am stuck.
I am running:
win7
Abaqus 6.14-2
Visual Studio 2008 (with C++ and SDK)
Composer XE 2011

I'm guessing that msmpi.lib isn't properly located by my environment variables, but I have no idea where it is. Any help is appreciated, as this is not my area of expertise.
Before I call abaqus from the dos command, I call ifortvars.bat, as well as vcvars64.bat.

Thank you for any help.

 

0 Kudos
10 Replies
Highlighted
Black Belt
507 Views

The instructions for installing Abaqus ought to cover the msmpi installation (download from Microsoft).  Although msmpi supports ifort, that is an alternate product to the MPI included with ifort in the Cluster Studio edition, and so msmpi isn't covered on these forums, unless you're lucky enough to find someone with that knowledge.

I've seen those posts on independent forums indicating that people failed to upgrade to that version of Abaqus and fell back to an earlier version.  If you are properly licensed for Abaqus, the vendor's (Simulia) web sites would be the place to find customer support contact.

Your ifort version is rather old, but OK if it is designated in your Abaqus installation instructions.

0 Kudos
Highlighted
Beginner
507 Views

Tim P. wrote:

The instructions for installing Abaqus ought to cover the msmpi installation (download from Microsoft).  Although msmpi supports ifort, that is an alternate product to the MPI included with ifort in the Cluster Studio edition, and so msmpi isn't covered on these forums, unless you're lucky enough to find someone with that knowledge.

I've seen those posts on independent forums indicating that people failed to upgrade to that version of Abaqus and fell back to an earlier version.  If you are properly licensed for Abaqus, the vendor's (Simulia) web sites would be the place to find customer support contact.

Your ifort version is rather old, but OK if it is designated in your Abaqus installation instructions.



Thanks for your response.

So, to clarify, the msmpi is an Abaqus issue, rather than a fortran or visual studio issue? (I don't really understand what msmpi is, or what is looking for it, or why it is looking for it).

Simulia confirmed that Abaqus 6.14 is compatible Compser XE 2011. Originally I was using 6.9, and then updated as part of my troubleshooting.

 

0 Kudos
Highlighted
Beginner
507 Views

After doing some more digging I think maybe I understand. Abaqus uses msmpi for parallel computing applications, and so it is looking for it on my machine, but it's not there for some reason. Does that sound right?

I'm sorry if that is correct, and thus means it is not fortran related. I had been having trouble with fortran, and figured this was still related to those issues. I am slowly learning.

Thank you for your help, Tim. If I am in error in my thinking, please let me know.

0 Kudos
Highlighted
Beginner
507 Views

FYI, for anyone that ends up viewing this thread, I installed MS-MPI https://www.microsoft.com/en-us/download/details.aspx?id=52981

Had to add the libraries to the LIB variable path so Abaqus could find them. This seems to have solved my Abaqus/Fortran problem.

Thanks again!

0 Kudos
Highlighted
Novice
507 Views

Dear Torrey B.,

My name is David and I've thought I would just add a few comments to this, just to clarify some things, and assist people who will run into the same issue in the future. 

I am a senior engineer, at Intrinsys ltd in the United Kingdom (http://www.intrinsys.com/) a certified Simulia partner, and we supply and provide consultancy, training and support for the whole Simulia portfolio. As part of our helpdesk, we get many questions about how to get subroutines with Abaqus to work, and people are generally having difficulties with setting it up correctly.

The error you got is normally due to a version incompatibility between the Abaqus subroutine libraries and the MSMPI. What you have done is baiscally the solution, you have to find and install the correct version of MSMPI. What I would recommend is to always use the version that comes with your Abaqus installation media. In the case of Abaqus 6.14-2 this could be normally found here:

Install medium\SIMULIA_Abaqus_6.14_Refresh2.SIM_Abaqus.AllOS.4-4\SIM_Abaqus.AllOS\1\win86_64\mpi_3.0_x64.msi

I hope this was helpful, and that you have managed to get it all working.

Best regards,

David Sziroczak

0 Kudos
Highlighted
Beginner
507 Views

Thanks David!

That is actually very helpful for updating some instructions on my end.

And yes, now I have it all working :)

-Torrey

0 Kudos
Highlighted
Beginner
507 Views

SOLVED!!
it's simply due to the incompatibility of your microsoft MS-MPI product.
Please uninstall your current MS-MPI package and install with "msmpi installer" from your Abaqus installer DVD (iso).

 

 

 

0 Kudos
Highlighted
507 Views

Hi Torrey,

 

I am having the exact same problem as you had. I am using XE 2015 intel compiler with visual studio 2010 and abaqus 6.14-1. I think the linking overall is correct because when I start abaqus CAE it shows the lines intel visual fortran and visual studio code. Also I already succesfully linked subroutines on another computer once with the exact same versions, so I dont think this is the problem.

I followed your method and downloaded the link you provided. However, I do not completely understand what you mean with "add the libraries to the LIB variable path" . Could you please explain a bit more, I am not very experienced with this subject.

What I did is:

  • Do the usual linking steps, e.g. pasting the 3 lines in abaqas.bat
  • Downloaded the files you linked
  • Go to system properties->advanced->environmental variables->system variables->edit path --> and then I added this: ;C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.2.187\windows\bin;C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64  
  • Is this what you mean?

 

However, I am still obtaining the following error: LINK : fatal error LNK1181: cannot open input file 'msmpi.lib'

Any help is much appreciated.

Kind regards,

Nick

 

0 Kudos
Highlighted
507 Views

Hi,

If anyone else still has issues, I fixed mine by doing what Torrey did (downloading the files).

Then I copied the files to: C:\Programs\SIMULIA\Abaqus\6.14-1\code\lib

The files I copied were:

  • msmpi.lib
  • msmpifec.lib
  • msmpifmc.lib

I was able to find these files here:

  • C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64

Hope that this might help someone who is still having trouble.

 

Kind regards,

Nick

 

 

0 Kudos
Highlighted
507 Views

Hi,

Thank you for this very helpful post. After several frustrating attempts, I now have a PASS for Abaqus User Subroutines upon Verification..

I am currently running ABAQUS 6.14.1 on Windows 10, with Intel Parallel Studio XE 2016 Upate 3 Cluster Edition and Microsoft Visual Studio 2010 Ultimate Edition SP1.

Initially, I also had the "LINK: fatal error LNK1181: cannot open input file 'msmpi.lib'" issue. But after downloading and installing MS-MPI using the link provided above by @Torrey B. and then copying the files to Abaqus library as explained by @Wassenberg Nick, everything then worked smoothly!!

Regards,
Hashmi

0 Kudos