Search
Close this search box.
Notifications
Clear all

VUMAT precompiled in Windows XP and double precision

11 Posts
3 Users
0 Reactions
1,959 Views
Posts: 59
 lynx
Topic starter
(@lynx)
Trusted Member
Joined: 15 years ago

Hi Jorgen and all,

I have two questions which are listed below:

1) Can we create a compiled shared library version of our user subroutines

in windows. If so how? The subroutines require (v)aba_param includes as knowns.

2) As also clearly seen from other posts VUMAT is compiled twice by ABAQUS,

one with single precision and one with double. Under these circumstances

I am not allowed to use some built in double precision functions like

dabs, dexp, dsqrt. Can I put a control statement which keeps track

of the precision required, or do you have a suggestion for that.

Thank you in advance for your time,

Kumar

Topic Tags
10 Replies
Posts: 3998
(@jorgen)
Member
Joined: 5 years ago

Hi Kumar,

1) Yes, you can create a shared library user-material for Windows. I do this quite frequently, although my approach is non-standard.

I recommend that you check out the following two threads [[URL= http://polymerfem.com/forums/showthread.php?t=582 ]thread1[/URL], [URL= http://polymerfem.com/forums/showthread.php?t=576 ]thread2[/URL]].

In summary:
- I dont use (v)aba_params
- I use Fortran 90 with implicit none
- I manually compile the dll files without calling Abaqus

2) No I unfortunately I dont think you can keep track of that in an easy way. Instead I use compiler flags to set the precision for me.

-Jorgen

Topic Tags
10 Replies
Posts: 59
 lynx
Topic starter
(@lynx)
Trusted Member
Joined: 15 years ago

Thank you very much, I will check these out and turn back soon.

Best

Kumar

Reply
Posts: 59
 lynx
Topic starter
(@lynx)
Trusted Member
Joined: 15 years ago

Dear Jorgen,

I have checked the threads that you have sent. They are quite promising for my progress. However it is told that:

This particular command works for a 64-bit Linux computer running ABAQUS v6.7.

Accordingly I have 2 questions:

1) Is not it possible to compile my own code written in a style without (v)apa_param includes with my compaq Visual Fortran compiler, and use the object files as a substitute for my subroutine. If so there should be a command

in submitting a job which takes into account the object files, god knows where it is.

2) If 1 is not possible, do you know the substitute particular command for yours which works not for 64-bit linux but for windows.

Ill be glad if you put a light on this issue,

Best

Kumar

Reply
Posts: 3998
(@jorgen)
Member
Joined: 5 years ago

The problem is that you cannot provide an VUMAT in object file format to Abaqus/Explicit if you want to use double precision, since the simulation uses single precision in the packaging stage and then switches over to double precision.

You can also pre-compile the VUMAT into a dll-file and then just have Abaqus use the dll-file when running the simulation. This is the approach that I use.

I want to emphasis that what most people do is to use (v)aba_param include files and then simply use generic function call such as sqrt(), and not double precision function calls such as dsqrt().

I personally do not want to write Fortran 77 code with implicitly defined variables. I think that is very poor and outdated programming style. I have jumped through a number of hoops in order to enable me to use modern Fortran style and use a single code base base for both single and double precison VUMATs.

You will have to decide what approach will work best for you...
What material models are you working on implementing?

Thanks,
Jorgen

Reply
Posts: 59
 lynx
Topic starter
(@lynx)
Trusted Member
Joined: 15 years ago

Dear Jorgen,

Thank you for your suggestions.

My problem is a finite strain orthotropic plasticity model

which follows in the line of Papaodopulos and his colleagues.

I have completed the derivations and initially I will test it with VUMAT for the sake of simplicity. Then I will use my VUMAT as a core and expand it to UMAT

with supplying DDSDDE and required transformations and indicial modifications.

Everything in the code is double precision except for the unfortunate built in functions like exp[], sqrt[], etc. I will compile my code as a dll as you have mentioned and try to use it with ABAQUS and see what happens.

Best

Kumar

Reply
Posts: 59
 lynx
Topic starter
(@lynx)
Trusted Member
Joined: 15 years ago

Dear Jorgen,

I want to add a line for everyone:

Those, who implement their local return mapping algorithms with Newton Raphson method, should supply a Linesearch to enhance the convergence behaviour.

Although its efficiency is disguised in an isotropic hardening plastic model under simple loads, you will see the its advantages for anisotropic media subjected to complex loading paths, where linesearches eliminate and regularize divergence and oscillations.

Best

Kumar

Reply
Page 1 / 2
Share: