0
$\begingroup$

I work with Abaqus CAE/Standard a lot!

Whenever I have tried to put the number below the *Depvar keyword to be greater than 15 (and there can be any subroutines (UMAT or USDFLD) with no coding in it, just the basic input parameters as provided by Abaqus User Subroutine Guide), the job always, without fail, aborts right away and gives me the error: "Illegal memory reference (signal 11)".

Keep in mind, there is no actual code anywhere in the user subroutine where there could be any mistake; I have tried this just as a curiosity, and just as expected, as soon as the number of dependent variable is higher than 15, it aborts right away!!!

What's the cause of this?

$\endgroup$
2
  • $\begingroup$ I guess it is just hard coded this way, 15 variables of state sound like more than enough for any material model. $\endgroup$
    – user190081
    Sep 10, 2018 at 16:33
  • $\begingroup$ Hello @user190081, I am modelling proppant transport in Abaqus Standard, and instead of CFD-DEM method, I am using the continuum method whereby the state variables are proppant concentration, settlement velocity, proppant velocity, etc... at various material integration points! So, I need a lot of state variables in my case, that's why I am concerned with this! $\endgroup$
    – MousumiG
    Sep 11, 2018 at 21:43

2 Answers 2

1
$\begingroup$

They likely use a nibble (aka. half a byte or 4 bits) to represent the counter that represents that value. The largest unsigned value that a nibble can represent is 15, with a range of 0-15.

There is likely logic in place to throw the error you mentioned whenever you try to use a value that exceeds that range. A simple if(0xF0 & num_states) check is sufficient to detect a value greater than 15.

And while I can't comment on the reasoning the Abaqus developers used, nibbles are typically used when either:

  • Available memory is a limiting resource, and they are trying to squeeze things as much as is possible.
  • "No one will ever need more than 15 of these!" is declared
$\endgroup$
3
  • $\begingroup$ Thank you Glen for correcting my grammatical errors! So, this might sound stupid of me, so I apologize beforehand!!!! How does one fix up a 'nibble'? By the way, state variables are just any variables that the user defines at the integration point in materials. So, they can be logical, integer, or double precision or even characters! $\endgroup$
    – MousumiG
    Sep 11, 2018 at 21:38
  • $\begingroup$ It's just that I see no reason why there can't be more than 15 state variables; that's all! :) $\endgroup$
    – MousumiG
    Sep 11, 2018 at 21:39
  • $\begingroup$ in all probability you wont be able to fix it as it will be a hard coded 'feature'. At a guess it is a legacy thing that has never been updated $\endgroup$
    – DrBwts
    Sep 12, 2018 at 14:20
0
$\begingroup$

99.9 percent of the time signal 11 means there is a bug in the program. So in this case you have a bug that is only triggered when this variable is above 15. Either stay under 15 or ask the vendor to fix the bug

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.