Dear friends,
I have written a code in fortran for a special application in a commercial software (Abaqus) and I have received an error which is presented below:
°error 773 - Variable DEFGRADOLD follows another operand (possible unexpected space?)°
I also put some related lines of my main code here to take a look at that.
It would be really appreciated if someone tell me the reason of the error.
Thanks,
Hadi
here is the main part of the code:
--------------------------------------------------------------------------------------
subroutine vumat (
c Read only -
1 nblock, ndir, nshr, nstatev, nfieldv, nprops, lanneal,
2 stepTime, totalTime, dt, cmname, coordMp, charLength,
3 props, density, strainInc, relSpinInc,
4 tempOld, stretchOld, defgradOld, fieldOld,
5 stressOld, stateOld, enerInternOld, enerInelasOld,
6 tempNew, stretchNew, defgradNew, fieldNew,
c Write only -
7 stressNew, stateNew, enerInternNew, enerInelasNew)
c include 'vaba_param.inc'
c
dimension props(nprops), density(nblock), coordMp(nblock,*),
1 charLength(*), strainInc(nblock,ndir+nshr),
2 relSpinInc(nblock,*), tempOld(*),
3 stretchOld(nblock,*),
4 defgradOld(nblock,ndir+nshr+nshr),
5 fieldOld(nblock,*), stressOld(nblock,ndir+nshr),
6 stateOld(nblock,nstatev), enerInternOld(nblock),
7 enerInelasOld(*), tempNew(*),
8 stretchNew(nblock,*),
9 defgradNew(nblock,*)
dimension fieldNew(nblock,*),
1 stressNew(nblock,ndir+nshr), stateNew(nblock,nstatev),
2 enerInternNew(nblock), enerInelasNew(*),
3 strainOld(nblock,ndir+nshr), strant(nblock,ndir+nshr)
4 , CFULL(6,6), CDFULL(6,6), CDTHREE(3,3)
character*80 cmname
c define the type of variables and constants
double precision E_11, E_22, G_12, G_23, Nu_12, Nu_23, Nu_21,
1 X_T, X_C, Y_C, Y_T, S_12, S_23, ALPHA, DFOLD, DMOLD
integer I, km
parameter (ZERO = 0.D0,ONE = 1.D0,TWO = 2.D0, HALF = 0.5D0,
1 THREE =3.D0)
............
c strain(k,l) = 0.5 (F(j,k).F(j,l)-delta_cronicker(k,l))
strainOld(km,1) = HALF * (defgradOld(km,1)** two +
1 defgradOld(km,7)** two+defgradOld(km,6)** two - one)
strainOld(km,2) = HALF*( defgradOld(km,4) ** two +
1 defgradOld(km,2)** two + defgradOld(km,8)** two - one)
strainOld(km,3) = HALF * (defgradOld(km,9)** two +
1 defgradOld(km,5) ** two + defgradOld(km,3) ** two - one)
strainOld(km,4) = HALF * (defgradOld(km,1) *
1 defgradOld(km,4) + defgradOld(km,7) * defgradOld(km,2) +
2 defgradOld(km,6) * defgradOld(km,8) )
strainOld(km,5) = HALF * (defgradOld(km,4) * defgradOld(km,9)
1 defgradOld(km,2) * defgradOld(km,5) + defgradOld(km,8)
2 * defgradOld(km,3))
strainOld(km,6) = HALF * ( defgradOld(km,9) * defgradOld(km,1)
1 + defgradOld(km,5) * defgradOld(km,5) + defgradOld(km,3)
2 * defgradOld(km,6) )