Block or variable definition of integer and memory capacity
Does anyone have idea about this problem , I have a code that runs nicely for 3000 element mesh But when I want to run it for 17000 element mesh it shows me this error: A common block or variable may not exceed 2147483647 bytes
This is some parts of code:
PARAMETER(NDIM=398316702)
integer IA(NDF+1),LPIVTC(NDF),JA(NDIM)
DIMENSION AA(NDIM)
And it shows the error for
DIMENSI开发者_JAVA百科ON AA(NDIM)
Why is it in that way?
This isn't a characteristic of Fortran per se, but rather your particular compiler or operating system. Note that 2147483647 = 2^31 - 1 or 2 gigabits. Probably you have a 32-bit OS and it is unable to allocate larger amounts of memory. As to why you can't get a full 2^32, perhaps something is using a signed rather than unsigned integer to store addresses and one bit is unavailable.
精彩评论