Search
Close this search box.
Notifications
Clear all

how to make UMAT subroutine

9 Posts
4 Users
0 Reactions
2,015 Views
Posts: 4
Topic starter
(@ihiribar)
New Member
Joined: 11 years ago

hi all ,im new to abaqus! and i read abaqus documentation but tht didnt help me in making a subroutine for myself.. after tosn of searching i found tht subroutine making needs PYTHON or FORTRAN,but still i dont know abt writing codes/scripts for making a subroutine ! im working on [URL= http://www.findthatpdf.com/search-108988379-hPDF/download-documents-kim_impacttruckloadingdesignanalysisasphalticpavementstructuresphaseii.pdf.htm ]http://www.findthatpdf.com/search-108988379-hPDF/download-documents-kim_impacttruckloadingdesignanalysisasphalticpavementstructuresphaseii.pdf.htm[/URL]
which is to make a asphalt layer of viscoelastic material properties and the UMAT code, a typical pavement structure subjected to repeated heavy truck loads is modeled. and i m absolutely clueless about this subroutine thing 🙁 🙁 please some one could help with this thing !!
thank you

8 Replies
Posts: 10
(@GalbutDavid)
Active Member
Joined: 11 years ago

I would love to help you but I am having the same problem. I have found so much on installation but not really enough on coding or what to do when you have a code template or sample code. I know you need Visual Studios and Fortran and have for some subroutines you can only run them via abaqus command.

8 Replies
Posts: 4
Topic starter
(@ihiribar)
New Member
Joined: 11 years ago

[QUOTE=mdplacette,10767]I would love to help you but I am having the same problem. I have found so much on installation but not really enough on coding or what to do when you have a code template or sample code. I know you need Visual Studios and Fortran and have for some subroutines you can only run them via abaqus command.

i almost completed the code.. i will give u when its complete ~~ .. my topic is non linear behavoiur of asphaltc structures by schapery equation.. if ur topic is same ..its useful to u also then

Reply
Posts: 10
(@GalbutDavid)
Active Member
Joined: 11 years ago

Hi ali,

Unfortunately, thats not my area but it doesnt mean we cant help each other.

There are two ways you can run subroutines in ABAQUS. One is via command line, the other is in CAE. There are some subroutines that can only be used in command like FRIC_COEF. To run a subroutine one just enters in the command line abaqus job= user=.

There is documentation by iMechanica that details a lot about coding if you havent already seen it: [url] http://imechanica.org/files/Writing%20User%20Subroutines%20with%20ABAQUS.pdf [/url]

However, my problem is that I dont know what to do once I have the code. Right now I am debugging in VS and compiling with fortran but Im still getting a few errors.

Reply
Posts: 10
(@GalbutDavid)
Active Member
Joined: 11 years ago

I think I can help you actually. I just got my code to compile and work. I just need to figure out how to read the output file like i want.

Reply
Posts: 10
(@GalbutDavid)
Active Member
Joined: 11 years ago

I guess for those like me who arent that familiar with subroutines and Visual Studios & Fortran I will put my process up. I have my own selfish benefits as well since this is good documentation. Here are the list of steps one needs to use subroutines from installation to output database. I dont claim to be an expert so if someone finds a problem with this then please tell me.

1. Know your system (64 or 32 bit). I had 64 bit windows.

2. Acquire the proper versions of Abaqus, Visual Studios, and Fortran (these are a must for subroutines). Check the abaqus website for the list of compatible software.
I used Abaqus 6.12, Visual Studios 2008 Pro, and Intel Visual Fortran 11.

3. Install the programs in this order: Visual Studios, Fortran, Abaqus. I found that the most important is to install Visual Studios before Abaqus. I accidentally installed the wrong Fortran software but upon reinstallation it worked fine. Do full installation on all software. You might want to make sure you are installing all components if you are on a 64 bit machine.

4. Change Targets. Basically, you need to tell abaqus where to look to run the .bat files. Unfortunately, I am ignorant about exactly what file you need for the exact version but its something like an ifortvars.bat for Fortran and vcvars.bat for VS. It depends on the versions youve downloaded. Once everything is installed right click Abaqus CAE and change the target directory to C:\Program Files (x86)\Intel\Compiler\11.1\072\bin\intel64\ifortvars_intel64.bat && C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat && . Quotes are included in the target otherwise youll get an error message. is what is already there so include it. Do the same for Abaqus command and Abaqus verification.

***** If you find yourself out of space for the target on verification you can create a .cmd file in notepad that points to the two files.

5. Change environmental variables. Simply go Control Panel>System and Security>System>Advanced Settings>Environmental Variables.

Edit the PATH to include ,C:\Program Files (x86)\Intel\Compiler\11.1\072\bin\intel64\,C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\

semi-colons between directories, no quotes.

Also, you might want to include C:\SIMULIA\Abaqus\6.12-2\SMA\site

This is so the line inlcude aba_param.inc can compile without error.

6. Run Abaqus Verification. This is to ensure the above steps are correct. Everything should pass. If you are getting errors or fails for Fortran, C++, or subroutines then the PATH isnt correct probably.

7. Obtain a Sample subroutine (simple) and simple input file. This is to test if its working properly.

8. Create a new project in Visual Studios with properties of a .for file under source files in the project.

9. Copy the code into the source file. Make sure the subroutine name is one of the user-defined subroutine names.

10. Configure visual studios for fortran compiler. Its right next to Debug dropdown. You may not have to change this due to 64 bit or 32 bit but I had to change mine.

11. Compile the code. Right click the source file and select compile. You should not have errors. Debugging doesnt work unless you change it like it says here: [url] http://polymerfem.com/showthread.php?2138-Debugging-subroutines-with-Visual-Studio [/url] (thanks icebreaker)

12. Put fortran source code (subroutine) and input file in the working directory (usually temp as default).

13. Run abaqus command:

abaqus job= user=

It will ask for an input file. type the name of the input file.

The output database, dat file, msg file, etc. should all appear in the temp folder.

14. Open .odb to see results.

Special thanks to aref_tmu

[url] http://polymerfem.com/showthread.php?2655-Run-Subroutines-in-ABAQUS-6-11-3&p=9780#post9780 [/url]

Reply
Posts: 2
(@kavehrp)
New Member
Joined: 10 years ago

hi

I am also working on non linear behavoiur of asphaltc structures defined by schapery equation. It will be really useful if you send me your code

Reply
Page 1 / 2
Share: