To avoid troubles, you will not want to install the Visual Studio of which the version is larger than 2013. Due to the limitation, the newest Intel Fortran can be installed is 2017. Here are some steps to link Abaqus and Intel Fortran compiler:
If you have some reasons that you need to use the newer Visual Studio, I wrote some tips in ResearchGate. I put it below
--
Hello,
I use Abaqus 6.14-1, VS2017 community (free) and Intel parallel studio XE 2018 (free for student) and passed the verification. I added three libraries in the "link_sl" and "link_exe" lines in abaqus_v6.env. They are 'legacy_stdio_definitions.lib', 'ucrt.lib', 'vcruntime.lib'. The first one is to solve the error about "printf". You can check the link
(https://stackoverflow.com/questions/30412951/unresolved-external-symbol-imp-fprintf-and-imp-iob-func-sdl2). The following two are for some changes of libraries, taking place from VS2015 (https://msdn.microsoft.com/en-us/library/abx4dbyh.aspx). For those who only need to compile Fortran subroutine, adding three files should be good enough. However, I must say that I did not have a chance to really run any analysis with my own subroutine, but only passed the verification.
For those who need to compile C++ files, because I use VS2017 community, I need to define __MS_VC_INSTALL_PATH using absolute path in stdint.h of the Intel Fortran compiler (at C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\compiler\include\stdint.h in my computer). The line will look like this (#define __MS_VC_INSTALL_PATH C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.12.25827) in my computer. Hope my experience can help you.
--
Basically, I mentioned everything essential in the reply. I will add some details if I have time.
Here are some tips:
Remember to rotate any state variable which depends on the element orientation since the elements may have rigid body motion. In each step, the incremental stress and strain are calculated without consideration of finite strain in Abaqus (called updated Lagragian). In UMAT, Abaqus rotate stresses before the beginning of each step so you do not need to rotate them in your code. However, if you have any state variables which depend on the element orientation. You need to rotate them by yourself (such as back stresses). You can use the built-in subroutine ROTSIG to rotate the stress- and strain-like variables. For vectors, the simple way is DROT*[x y z]'.
Based on the discussions in Nguyen and Waas [link], in Abaqus, the consistent Jacobian matrix DDSDDE is derived based on the Jaumann rate of the Kirchhoff stress but the the material tangent moduli C_{ijkl} is derived based on the Jaumann rate of the Cauchy stress. After forming the material tangent moduli, such as elastic matrix, we need to use the relationship below between these two matrices to obtain the accurate DDSDDE:
DDSDDE_{ijkl} = C_{ijkl} + sigma_{ij}*delta_{kl}
The convergence speed can be improved a little bit after this modification.