Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

Varying Damping in Explicit Analysis

Status
Not open for further replies.

pgrossm000

Mechanical
Feb 16, 2017
11
I am looking to linearly vary the Rayleigh beta damping coefficient of a material. The Abaqus manual ( seems to indicate this is possible for an Explicit analysis by changing the inp, but I am missing some details. How do I do this process and how can I chekc that I did it correctly after?
 
Replies continue below

Recommended for you

Well, there are two possibilities: You can make the damping data dependent of the temperature or the field data.
The temperature dependency has the advantage, that you could use Abaqus/CAE to define the spatial variation of the temperature with an Analytical Field in the load module. This would lead to the same variation of the damping.

For the field variable you would have to write a user subroutine to define the spatial variation. I've heard the support for field variables in A/CAE will come in the next release.
 
Thank you for your reply! I have made the data dependent on a field variable controlled by a VUSDFLD User Subroutine. The same User Subroutine worked to vary the density correctly when I tried it before, but when I change the .inp to have the damping vary the same way (as indicated in the Abaqus manual), I am getting all sorts of errors.
For reference, the modified part of the .inp is:
Code:
*Damping, BETA=TABULAR, dependencies=1
 0.0002, , 0.0002
  0.001, ,  0.001
and the user subroutine is:
Code:
      subroutine vusdfld(
c Read only variables -
     1   nblock, nstatev, nfieldv, nprops, ndir, nshr, 
     2   jElem, kIntPt, kLayer, kSecPt, 
     3   stepTime, totalTime, dt, cmname, 
     4   coordMp, direct, T, charLength, props, 
     5   stateOld, 
c Write only variables -
     6   stateNew, field )
c
      include 'vaba_param.inc'
c
      dimension jElem(nblock), coordMp(nblock,*), 
     1          direct(nblock,3,3), T(nblock,3,3), 
     2          charLength(nblock), props(nprops), 
     3          stateOld(nblock,nstatev), 
     4          stateNew(nblock,nstatev),
     5          field(nblock,nfieldv)
      character*80 cmname
c
c     Local arrays from vgetvrm are dimensioned to 
c     maximum block size (maxblk)
c
      parameter( nrData=6 )
      character*3 cData(maxblk*nrData)
      dimension rData(maxblk*nrData), jData(maxblk*nrData)
c
      do k=1,nblock
	     y = coordMp(k,2)
		 beta=0.000025d0*y+0.0002d0
         field(k,1) = beta
         stateNew(k,1) = beta
         field(k,1) = stateNew(k,1)
      end do
c
      return
      end
 
Code:
[indent]y = coordMp(k,2)[/indent]
[indent][indent]beta=0.000025d0*y+0.0002d0[/indent][/indent]

What will tell FORTRAN what y and beta are supposed to be?

*********************************************************
Are you new to this forum? If so, please read these FAQs:

 
IceBreakerSours - y is defined with the coordinate Map function that you quoted. beta is just hte dummy variable I am using, which I later set the field variable equal to.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor