Subroutine USER_QUANTITY
Gives an access to data in named user quantities.
A user quantity is a set of double precision values indexed by integer labels that is given a name and stored in memory. These labels can be element or node IDs, or an arbitrary set of non-negative integers. The data stays in memory until it is modified at a later point of the run, by another user_quantity
call in the USER1
subroutine, or a similar call from user-written plugin in expression functions. Such named entities can be used for storing data from one user subroutine call to another, and/or for communicating data between user subroutine calls and user-plugin function calls. The first time a given label is used for a given user quantity name, the memory will be automatically allocated for its required storage.
Calling convention:
call user_quantity(code, name, label, value, ierr)
Arguments | Data type | Input/Output | Description |
---|---|---|---|
code |
Character(*) | Call | Determines the type of data operation. Character variable value is set to:
These values are used in combination to iterate over all existing label-value pairs in a given user quantity. To perform this operation, one must first call Keep calling |
name |
Character(*) | Call | The user quantity name. |
label |
Integer | Both | The input value when code is ’SET ’ or ‘GET ’, and output value when the code is ’NEXT ’. It is not used for other code values. |
value |
Double Precision | Both | User quantity value corresponding to the given label. The input value when code is ’SET ’ and output value when thecode is ’GET ’ or ‘NEXT ’. It is not used for other code values. |
ierr |
Integer | Return |
The error code of the operation.
|