User login

Navigation

You are here

Passing Arrays between ABAQUS Subroutines

Hi,

I am new to ABAQUS subroutines and to Fortran in general and am having some trouble passing arrays between my subroutines in ABAQUS. I am using the subroutine uexternaldb to read data from a .csv file into an array at the start of the ABAQUS analysis. Then, I am using a common block to pass this array to the subroutine utracload. My issue is, according to the ABAQUS Analysis guide, large arrays should be declared as allocatable arrays so they will be stored in the heap instead of the stack (thus preventing stack overflow problems). However, when I declare the array as an allocatable array, I cannot make it part of a common block. Thus, I am not sure how to pass these large arrays between my subroutine. If anyone knows a good way, please let me know. Thanks!

Caleb

 

Gayan Aravinda's picture

Hi Caleb,

              First of all make sure that you are working on FORTRA 77 or FORTRAN 90..as far as i know FORTRAN77 does not allow to  allocate

variables..this is also called dynamic memory allocation. this could only be done in FORTRAN 90.

Subscribe to Comments for "Passing Arrays between ABAQUS Subroutines"

Recent comments

More comments

Syndicate

Subscribe to Syndicate