×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

How to use a debugger with Abaqus subroutines?

How to use a debugger with Abaqus subroutines?

How to use a debugger with Abaqus subroutines?

(OP)
Hey Everyone,

I am running an Abaqus simulation with a subroutine and it terminated itself because of "floating point error". I tried after that running the simulation without the subroutine by giving it a material property, that doesn't require any subroutine. (In my case, the subroutine is for viscosity definition that is dependent on temperature and shear stress). With material property that independent to temperature and shear stress (no subroutine required), the simulation runs smoothly. That's why I think the problem has to be in my subroutine. That's why I would like to run a debugger to my subroutine by following the manual from https://www.ichec.ie/support/tutorials/abaqusdebug... .

Following are my questions:

1. What could be gone wrong in subroutine that leads to "floating point error"? Excuse me, if the answer is obvious, because I have no or less experience with fortran. Following is the subroutine:

subroutine vuviscosity (
C Read only -
* nblock,
* jElem, kIntPt, kLayer, kSecPt,
* stepTime, totalTime, dt, cmname,
* nstatev, nfieldv, nprops,
* props, tempOld, tempNew, fieldOld, fieldNew,
* stateOld,
* shrRate,
C Write only -
* viscosity,
* stateNew )
C
include 'vaba_param.inc'
C
dimension props(nprops),
* tempOld(nblock),
* fieldOld(nblock,nfieldv),
* stateOld(nblock,nstatev),
* shrRate(nblock),
* tempNew(nblock),
* fieldNew(nblock,nfieldv),
* viscosity(nblock),
* stateNew(nblock,nstatev)
C
character*80 cmname
C
parameter ( one = 1.d0)
REAL, DIMENSION(nblock) :: n0, T
C
C VARIABLES
n = 0.2647
Tau = 309343
D1 = 1.68413e+13
D2 = 323.15
A1 = 31.206
A2 = 51.6

C
C Cross-WLF viscosity model
C
do k = 1, nblock
T(k) = tempOld(k) + 273.15
n0(k) = D1 * exp (-(A1 * (T(k) - D2)) / (A2 + T(k) - D2))
viscosity(k) = n0(k) / (one + ((n0(k) * shrRate(k)) / Tau)**(one-n))
end do
C
return
end

2. How could I link the subroutine with a debugger? I don't understand the 2nd step of the manual (login to stokes or stoney on two seperate termials). It would be ideal for debugging purpose, if I could read the values stored in variables for the subroutine.

I really appreciate for any input or advice from Everyone :)

Many regards,

Gunardi

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources