- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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) )
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There is no operand at the end of the first line:
strainOld(km,5) = HALF * (defgradOld(km,4) * defgradOld(km,9)
1 defgradOld(km,2) * defgradOld(km,5) + defgradOld(km,8)
2 * defgradOld(km,3))
That means that the compilers sees something like: *defgradOld(km,9)defgradOld(km,2)
(I removed the spaces to clarify the issue)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you so much Arjenmarkus... Sometimes I get really tired and my eyes do not obey. I modified that line as you said (such as below) and you were absolutely right abou it, but again I have faced the same error which mentions these lines of the code. please take another look at it.
error 773 - Variable DEFGRADOLD follows another operand (possible unexpected space?)
----------------------------------------modified part of the code----------------------------------
strainOld(km,5) = HALF * (defgradOld(km,4) * defgradOld(km,9) +
1 defgradOld(km,2) * defgradOld(km,5) + defgradOld(km,8) *
2 defgradOld(km,3))
---------------------------------------------------------------------------------------
thanks,
Hadi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
the problem solved ..... Thank you so much
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I will comment that the error message shown is from some compiler other than Intel's. Intel Fortran's message would look different.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You Are absolutely right Steve and I just used PLATO to test my code and got that error. But my main work is working with Fortran codes which are implementing in a commercial software (Abaqus). For implementing Fortran subroutines in the software we have to link it to Intel compiler.
Thank you so much for the attention,
Hadi

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page