+ Reply to Thread
Results 1 to 6 of 6

Thread: Double precision with pre-compiled subroutine files

  1. Double precision with pre-compiled subroutine files

    Hi there,
    I have an object file of pre compile VUMAT. Do you know if there is a way that I can use this object file with the double precision option in ABAQUS.
    The problem is the source of the VUMAT file is written with C++ so I should first compile it to obtain an obj file. However, with the use of obj files abaqus seemingly just work in single precision mode! Is there a way to cope with problem?

    Thanks,

  2. #2
    Join Date
    2000-02
    Location
    Boston, USA
    Posts
    2,511
    Blog Entries
    2
    Yes, that problem can be solved, but it takes some effort...

    To run a double precision Abaqus/Explicit simulation actually requires both a single and double precision VUMAT since the packaging phase is always run in single precision. I basically have the same problem as you when I compile my user-material models. My current way to solving the problem is to create shared library versions of the user subroutines "manually" (i.e. not using Abaqus). That way you can create both the single and double precision shared libraries using the same source. All you need to do is to specify the floating point precision to the compiler.

    -Jorgen
    Jorgen Bergstrom, Ph.D.
    PolymerFEM Administrator

  3. Thank you for the reply,
    As far as I realized from your answer, ABAQUS assumes my object file is single precision and then links my object file to a library which is single precision. What I need to do is to make the double precision shared library (I assume the dll file) myself and then tell ABAQUS to use my library instead. Would please tell me or direct me to a source of information how I can link my object file which is from C++ to that library and what is the name of that library!

    Another point is I realized you have experience in writing vumat codes with c++. I have just written a very simple elastic model which just update new stress. I wrote the same code with fortran to compare. Although I have checked both codes and they are identical (and they are just a few lines) but c++ codes yields wrong answer unlike fortran code. When I used c++ object file it says the number of iterations exceeded 3000 ( I guess) so use of double precision is recommended. I guess the reason why my code gives wrong answer is the using simple precision. Have you ever faced such experience? Anyway the reason why I’m looking for running double precision c++ codes is this. However I should say I ran fortran code with single precision.
    Any information is highly appreciated.
    thanks

  4. Well, I should say that the second part of my previous post, where I said C++ wrongly calculate stresses compared to Fortran, was obviously my fault. I had a logical error in my code. So my problems reduce only to link my object file to the abaqus library.

    thanks

  5. #5
    Join Date
    2000-02
    Location
    Boston, USA
    Posts
    2,511
    Blog Entries
    2
    One way to compile your shared-library files is as follows:

    1) Compile your c++ code to single-precision object format

    2) link the object file together with some specific abaqus files to create the single-precision shared library

    3) Compile your c++ code to double precision object format

    4) link the object file together with some specific abaqus files to create the double-precision shared library


    You can determine how to perform Steps 2 and 4 by looking at the link commands defined in the system-wide abaqus_v6.env file. The specific details of how to do this is depending on the computer platform.

    -Jorgen
    Jorgen Bergstrom, Ph.D.
    PolymerFEM Administrator

  6. Thanks for the hints, the problem is now solved.

+ Reply to Thread

Similar Threads

  1. VUMAT precompiled in Windows XP and double precision
    By Kumar Kurambakurash in forum User Material Subroutines
    Replies: 10
    Last Post: 2009-09-09, 05:25
  2. Running user subroutine and disp subroutine simultaneously
    By nitinchandola in forum Constitutive Models
    Replies: 2
    Last Post: 2008-09-08, 08:36
  3. Replies: 4
    Last Post: 2008-05-26, 05:05
  4. Double dot contraction of 4 order tensors
    By Paul_S in forum Computer Software
    Replies: 2
    Last Post: 2007-09-26, 03:31
  5. vumat and double precision!
    By Shunlai.Zang in forum Constitutive Models
    Replies: 4
    Last Post: 2007-09-04, 05:39

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts