User login

Navigation

You are here

material points will change while using subroutine in ABAQUS

This subroutine using VUSDFLD is to
determine position of damage and provide evolution of damage surface, when some
elements failed. The “outer” damage status will transfer to “inner” damage
status.

Now the problem is that when I read the
coordinates of material points, using coordMp
k,1),coordMpk,1),coordMpk,1), it returns wrong locations. Then I
tried a very simple loop:

Do
k=1,nblock
        stateNew(k,7)=nblock
end Do

I found the number of material points
(namely, nblock) varied! First time
I ran this loop, I got the contour of state variable 7 (SDV7) shown below. The
SDV7 were various. But from the subroutine they were supposed to be same.

 

Then I coarsen the mesh, and get a
different result, SDV7 of every element were same (equal to the material point
number=125)! Shown below:

 

Then I substituted coordMp(1,1) for nblock
in the above-mentioned loop, and found similar phenomenon.

 

I wonder if the number of material points
and their coordinates will vary in a loop? Those results are beyond my expectation.
Is that Fortran grammar problem or misunderstanding on subroutine in Abaqus?

 

I attached the subroutine "position.for" and its "Job-1.inp" below. But I switch their extensions into .txt for uploading.

Thank you all.

Comments

Regarding your quary about nblock: In your VUSDFLD sub-routine are saving stateNew(k,7) as:

k=1,nblock
        stateNew(k,7)=nblock
end Do

About nblock: nblock is the number of material points to be processed, and abaqus sends the material points in vector form (like packets) within nblock.  If your model contains very few elements, then abaqus may able to send all material points at a time. If there are large number of elements in your model then abaqus will send in several packets.

Your 1st Fig: Your model contains 1000 material points. Abaqus has sent 136 elements at a time for 7 times. After 7 times there are remaining 48 elements and abaqus sends these remaining material points at the last. For this reason, your fig. containts only 136 values (red) and 48 values (blue).

Your 2nd Fig: Your model contains only 125 number of material points and abaqus sends all 125 material points at a time. For this reason, your figure containts only 125 values.


Regarding your quary about co-ordinates:
 In position.txt  you have written stateNew(k,7)=coordMp(1,1). Instead of this you have to use stateNew(k,7)=coordMp(k,1),  then you will able to save correct co-ordinates at correct location, i.e. kth material point co-ordinate, coordMp(k,1) for the kth material point at SDV7, stateNew(k,7). Doing tis you will get a contour plot like the following figure.

 

 SDV7 plot

Here, your model's x-dimension is from 0 (zero) to -5. Each element is 0.5 unit cubes. Material points are situated at the middle of each elements i.e. at 0.25 unit distance from the edge. So, the value varies from -0.25 to -4.75.

Normal
0

false
false
false

EN-US
X-NONE
AR-SA

/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:8.0pt;
mso-para-margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:Arial;
mso-bidi-theme-font:minor-bidi;}

I am working on a SPD (Sever Plastic Deformation) process using a dynamic Explicit simulation in ABAQUS software.

I have a question which every respected answer will be appreciated:

How can I get the deformation gradient tensor provided by ABAQUS?

Thanks in advance.

Subscribe to Comments for "material points will change while using subroutine in ABAQUS"

Recent comments

More comments

Syndicate

Subscribe to Syndicate