Subroutines!
Subroutines!
(OP)
Hi All,
I use Abaqus for biofluids and biomechanical research. I was wondering if there was a comprehensive guide anywhere for using subroutines? (i.e. book, powerpoint, etc.) I've searched these forums for a reference, and have also read over the documentation but that hasn't been very helpful. Anything would be greatly appreciated. Especially on how to use VDISP and VDLOAD, and implementing subroutines in general!
Thanks!
I use Abaqus for biofluids and biomechanical research. I was wondering if there was a comprehensive guide anywhere for using subroutines? (i.e. book, powerpoint, etc.) I've searched these forums for a reference, and have also read over the documentation but that hasn't been very helpful. Anything would be greatly appreciated. Especially on how to use VDISP and VDLOAD, and implementing subroutines in general!
Thanks!





RE: Subroutines!
There is also an Abaqus course on using subroutines. If you are an academic user you get a discount.
If you want help from this forum, I suggest you ask more specific questions.
RE: Subroutines!
RE: Subroutines!
If you also tried to compile the list of people asking questions that they could've looked up in Google or the documentation or tried a simple example, you'll understand why, once in a blue moon, we lose our patience. Please understand that people who are offering their help for free are human; I certainly am guilty of being one which explains why I have put a couple of links as my signature. People who are taking time off to help others sometimes need to be helped too.
Coming to your question, I have a counter-question: Have you managed to run any subroutine on your machine? Does your machine have a Fortran compiler and Visual Studio (or equivalents) installed on it? Once this barrier is crossed, then we can begin addressing your question. If you have never managed to get a subroutine to work with a model (plenty available in the documentation), then please search the archives for instructions.
http://www.eng-tips.com/faqs.cfm?fid=376
http://www.eng-tips.com/faqs.cfm?fid=1083
RE: Subroutines!
If this is still your question, this is the answer:
subroutine vdisp(
c Read only variables -
* nblock, nDof, nCoord, kstep, kinc,
* stepTime, totalTime, dtNext, dt,
* cbname, jBCType, jDof, jNodeUid, amp,
* coordNp, u, v, a, rf, rmass, rotaryI,
c Write only variable -
* rval )
c
include 'vaba_param.inc'
parameter( zero = 0.d0, half = 0.5d0, one = 1.d0 )
c
character*80 cbname
dimension jDof(nDof), jNodeUid(nblock),
* amp(nblock), coordNp(nCoord,nblock),
* u(nDof,nblock), v(nDof,nblock), a(nDof,nblock),
* rf(nDof,nblock), rmass(nblock),
* rotaryI(3,3,nblock), rval(nDof,nblock)
c
c Impose displacement
c jBCType
c Indicator for type of prescribed variable: 0 for displacement, 1 for velocity, and 2 for acceleration.
c
if( jBCType .eq. 0 ) then
c
if( stepTime .lt. zero ) then
c
c Initialization 1
c
a0 = zero
do 310 k=1, nblock
do 310 j=1, nDof
if ( jDof(j) .gt. 0 ) then
rval(j,k) = 0
end if
310 continue
c
else if( stepTime .eq. zero ) then
c
c Initialization 2
c
a0 = zero
do 320 k=1, nblock
do 320 j=1, nDof
if ( jDof(j) .gt. 0 ) then
rval(j,k) = a0
end if
320 continue
c
else
c
c Time incrementation
c
c
do 350 k=1, nblock
do 350 j=1, nDof
if ( jDof(j) .gt. 0 ) then
Xcoord = coordNp(1, k)
rval(j,k) = sin (Xcoord)*amp(k)
end if
350 continue
end if
end if
c
return
end
this is when using the amplitude, else you can scale using stepTime.
Note: I just adjusted this from the example in the manual, I did not debug or anything and don't know if it'll work.
Also when c/p, make sure to obey all fortran syntax rules.
The initialization are a bit stupid and are only useful for giving velocities & accelerations.
RE: Subroutines!
x=sin(t)
y=cos(t)
z=sin(t)*cos(t)
where t is the distance along the wire, and the other three are the Cartesian directions.
Like I said before, how would I model this in order to apply these constraints so that this wire takes this shape when it is pushed into a sphere? Would I use VDISP or VDLOAD in Exlicit, since I am modeling this wire as a beam section and need it to be applied to the nodes along the beam as it's being pushed out?
RE: Subroutines!
RE: Subroutines!
Yes. You will need additional software to be installed (in the correct order) on your machine before you can get subroutines to work.
http://www.eng-tips.com/faqs.cfm?fid=376
http://www.eng-tips.com/faqs.cfm?fid=1083
RE: Subroutines!