Hi,
I am using the above procedure to obrain logharitmic strains, however, it produces a table which does not include initial strain step (when I print strains using UMAT procedure there is one initial step when stresses are zero and only some small strain values are applied). How can I include this initial step in the output (it happens so that this data is useful to me)?
Best regards,
Filip
Hello again Filip!
I have come up with a possible solution for your case. Please do the following:
-----------------------
1) Specify in your input file
*DEPVAR
9
under the user material definition and also:
*FILE FORMAT, ASCII
*EL FILE
SDV
within the step definition.
2) Specify in you UMAT:
STATEV(1)=STRESS(1)
STATEV(2)=STRESS(2)
STATEV(3)=STRESS(3)
STATEV(4)=STRAN(1)
STATEV(5)=STRAN(2)
STATEV(6)=STRAN(3)
STATEV(7)=DSTRAN(1)
STATEV(8)=DSTRAN(2)
STATEV(9)=DSTRAN(3)
and delete any write(8,*) or print* commands in the Fortran code.
3) Run your analysis with the user subroutine.
4) After this, you can read the results of STRESS, STRAN and DSTRAN (stored in the STATEV variable as shown above) which are written in the *fil file using the function Rec5.m.
-----------------------
The function Rec5.m is not included neither in the first (open source) nor in the second version of Abaqus2Matlab, but I can send it to you through email as open source. In case that you decide to use the above workaround, you can send me your email to send you this function, so that you do your job efficiently.
Best regards and apologies,
George
PS: Just realized that this won't print in the fil file the value of DSTRAN for the initial increment of your step. Therefore, some manipulations have to be done in order to print these values in the log file using print* and then read them back using appropriate Matlab commands.
Please accept my apologies but I am not aware of any other way to do what you want using the current version of Abaqus2Matlab. In any case, feel free to ask me for help, if needed. Thank you for using Abaqus2Matlab for your research!
Hi Filip,
Have you searched the odb file to see if the desired STRAN values can be retrieved from there? The values that you have pasted above are from the log file, written there using the command print*. If you want to write these values in the fil file, then you can use the command write(8,*) (for Abaqus/Standard). If the extraction of these values from the odb is not possible, then the only way to do your job is to extract these values either from the log file or from the fil file using Matlab script(s) developed on your own (I can help you on this of course).
In addition, you must be careful that in certain iterations during the analysis the UMAT is called multiple times per integration point (e.g. one for the jacobian and one for the stress).
The new version of Abaqus2Matlab will include many utilities regarding user subroutines of Abaqus among which there will be Matlab scripts intended to read results printed by commands inside user subroutines.
Best regards
George
Hi George,
The part of the code responsible for printout is:
x(1,1)=STRESS(1)
x(1,2)=STRESS(2)
x(1,3)=STRESS(3)
x(1,4)=STRAN(1)
x(1,5)=STRAN(2)
x(1,6)=STRAN(3)
x(1,7)=DSTRAN(1)
x(1,8)=DSTRAN(2)
x(1,9)=DSTRAN(3)
print*, 'x'
print*, x
The stepping definition is:
*Step, NLGEOM=YES, INC=50
*static
0, 1., 0, 0.02000000
I have not prescribed any initialization. Printout is:
x
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
x
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
-5.559276080679583E-003 1.640573877138422E-002 1.554190954826081E-003
x
143.974550423339 661.004332330516 18.7190791921087
-5.559282183433788E-003 1.640574487413842E-002 1.554018447627679E-003
-5.590955180487633E-003 1.614034701812044E-002 1.537654016678037E-003
x
143.974733520412 661.004149233444 18.7216076341353
-5.559274583255469E-003 1.640573727396011E-002 1.554233279731832E-003
-6.063655461437235E-003 1.835243011301032E-002 1.774553450541595E-003
The following data is not included in Abaqus to matlab output:
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
-5.559276080679583E-003 1.640573877138422E-002 1.554190954826081E-003
I could just take STRAN values from the next step and use them as DSTRAN that is missing but I was wondering if I could just include the previous step with A2M.
Best regards,
Filip
Hi Filip,
Thank you for your interest in Abaqus2Matlab.
Could you please explain what do you mean by "print strains using UMAT procedure"?
Furthermore, have you explicitly defined an initial step in which the unbalanced stresses become zero before the first step of your analysis?
It would help if you shared the input file and the UMAT code in order for me to understand better what you want to do (my email is gpapazafeiropoulos@yahoo.gr). Your files (if shared) will be treated as confidential and your copyrights will be reserved.
Best regards,
George