Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations pierreick on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

a question about vusdfld subroutine. 2

Status
Not open for further replies.

zahedi66

Mechanical
Apr 13, 2015
30
Hello everybody,
I have a question about VUSDFLD subroutine. I want to get Stress and Strain in any material point and we know that vgetvrm utility routine should be used. my question is here: for example in vgetvrm('LE',rData,...), rData (1) in any increment is standing for which material point??
 
Replies continue below

Recommended for you

Hi,

rData (1) in any increment is standing for which material point??
Number of material point is under kIntPt variable passed with VUSDFLD subroutine.

Regards,
Bartosz
 
thank you akabarten,
KIntPt is the number of Integratiopn points of element, i want to know that rData(1) is for which element???
I have another question,
How i can check that rData(1) for my whole model is true??
i mean how can i present (for example) (rData(1)+rData(2)) in the visualization window??


 
Hi,

i want to know that rData(1) is for which element

First you have to understand how Abaqus call VUSDFLD subroutine.
It can be more than once and depends on number of elements and element types in your model.

Number of the subroutine calls depends on element type and equals number of section points:
1) membrane with reduced integration (M3D4R)
- has one material point
- one section point per material point
- Abaqus calls VUSDFLD only once (1x1) per increment

2) shell with reduced integration (S4R)
- has one material point
- 5 section points per material point (depends on shell section parameters)
- Abaqus calls VUSDFLD five times (1x5)

3) shell with fully integration (S4)
- has four material point
- 5 section points per material point (depends on shell section parameters)
- Abaqus calls VUSDFLD twenty times (4x5)

In VUSDLFD you have variables to check which material point (kIntPt) and which section point (kSecPt) is used in current call.
Now we need to find element number. Id of elements is in jElem variable.

So if read rData(1) and jElem=1000, kIntPt=3 and kSectPt=2 you got output for 2nd section point of 3rd material point of element 1000.
This is true for one element model. When you have more than one element things are a little bit more complicated.

First you have to understand that Abaqus/Explicit does not call the subroutine for each element separately.
But instead he takes group of elements and pass into VUSDFLD. nblock variable has information how many elements is in the group.
So if you have two S4 elements you do not call the subroutine 40 times but still 20 (total number of section points for one element in the group).
jElem is array with id of all elements, so it can be like this [10, 33, 55] if nblock=3.
In one call you read 1st section point (kSecPt=1) of 1st material point (kIntPt=1) of three elements (jElem=[10, 33, 55]).
In next call you can read 5th section point (kSecPt=5) of 3rd material point (kIntPt=3) of these elements (jElem=[10, 33, 55]).
As you can see in one call you always read the same section point and material point but for many elements.
GETVRM gives you one rData array with all outputs. It's clear what section/material point because of kSectPt and kIntPt variables.

To know which element we need to know relations between rData and jElem array:
rData=[S11_jElem[1], S11_jElem[2], S11_jElem[3], ..., S11_jElem[nblock], S22_jElem[1], S22_jElem[2], S22_jElem[3], ... , S22_jElem[nblock], ...]
where:
jElem[x] - element id on x position on jElem array

Please read this:


i mean how can i present (for example) (rData(1)+rData(2)) in the visualization window??
Values of field variable you store with field(nblock,nfieldv) variable can be save as field output (FV).
You can also save state dependent variables with stateNew(nblock,nstatev) and use SDV field output.

Regards,
Bartosz
 
thank you very much Bartoz,
It was great in depth help for me to know what is going on in VUSDFLD,
I am going to study more about this subroutine and I hope that my next questions be more challenging ones.
thank you again
sincerely yours, Ali
 
Hello again Dear Experts,
I have faced with another question,
If I want to use field(nblock,nfield) or stateNew(nblock,nstatev) to show for example "S11+S22"
I write the code and it is ok when i define a field variable in Material property but I don't need a definition of field variable there and as I don't define a field variable run is aborting and in *.dat file there is two warning message:

***WARNING: OUTPUT VARIABLE FV HAS NO COMPONENTS IN THIS ANALYSIS FOR ELEMENT TYPE C3D8R
***WARNING: THE *USER DEFINED FIELD OPTION HAS BEEN USED, BUT THERE ARE NO USER-DEFINED FIELDS ACTIVE IN THE MODEL. USER-DEFINED FIELDS MAY BE ACTIVATED BY THE *FIELD OR *INITIAL CONDITIONS,TYPE=FIELD OPTIONS OR BY DEFINING MATERIALS WITH FIELD VARIABLE DEPENDENCIES
I have no idea about "USER-DEFINED FIELDS MAY BE ACTIVATED BY THE *FIELD OR *INITIAL CONDITIONS,TYPE=FIELD OPTIONS"
can anybody help me please?
I appreciate your attention
 
Hi I Got This Error Too For C3D8R please help...

***WARNING: OUTPUT VARIABLE FV HAS NO COMPONENTS IN THIS ANALYSIS FOR ELEMENT TYPE C3D8R
***WARNING: THE *USER DEFINED FIELD OPTION HAS BEEN USED, BUT THERE ARE NO USER-DEFINED FIELDS ACTIVE IN THE MODEL. USER-DEFINED FIELDS MAY BE ACTIVATED BY THE *FIELD OR *INITIAL CONDITIONS,TYPE=FIELD OPTIONS OR BY DEFINING MATERIALS WITH FIELD VARIABLE DEPENDENCIES
 
Hi,

Hi I Got This Error Too For C3D8R
The warning message has nothing to element type.
It is related to material definition in your model.

THE *USER DEFINED FIELD OPTION HAS BEEN USED
You have material with *USER DEFINED FIELD, it means you want to use field variable controlled with USDFLD/VUSDFLD subroutine.

THERE ARE NO USER-DEFINED FIELDS ACTIVE IN THE MODEL
There is nothing dependent on field variable in your model like density/elasticity/plasticity/... .

Your material definition is probably:
Code:
**
*MATERIAL, NAME=Steel
*DENSITY
 7.85e-09
*ELASTIC, TYPE=ISOTROPIC
 210.0e+03, 0.3
*USER DEFINED FIELD
**
And whole definition need to use filed variable somewhere (DEPENDENCIES option):
Code:
**
*MATERIAL, NAME=Steel
*DENSITY
 7.85e-09
*ELASTIC, TYPE=ISOTROPIC, DEPENDENCIES=1
**       E,   v, temp,  FV1
 210.0e+03, 0.3,     , 10.0
 250.0e+03, 0.3,     , 20.0
 275.0e+03, 0.3,     , 50.0
*USER DEFINED FIELD
**

USER-DEFINED FIELDS MAY BE ACTIVATED BY THE *FIELD OR *INITIAL CONDITIONS,TYPE=FIELD OPTIONS OR BY DEFINING MATERIALS WITH FIELD VARIABLE DEPENDENCIES
You have to options to add field variable to your model:
1. use *FIELD keyword (it is not work with USDFLD/VUSDFLD but with UFIELD/VUFIELD)
2. use DEPENDENCIES option in material definition (as showed in example above).

In other words you told Abaqus "use filed variable" and Abaqus say "great, but where?".

Regards,
Bartosz







VIM filetype plugin for Abaqus
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor