Eng-Tips is the largest forum for Engineering Professionals on the Internet.

Members share and learn making Eng-Tips Forums the best source of engineering information on the Internet!

  • Congratulations JStephen on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

How to use a debugger with Abaqus subroutines?

Status
Not open for further replies.

gunardilin

Industrial
Joined
Jan 5, 2017
Messages
7
Location
IT
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 .

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
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top