I'm happy that you like it. I am going to work on updating the files to 2020, soon. Also working on videos for the Examples in the textbook. Lot's of work!
Thank you so much for your helpful video. I am so happy that I found your channel, so hopefully, I can get answers for my PLENTY of questions by going through the resources that you are providing.
Thanks for the great lecture. It is rare to have one that bridges the gap between theory and application. One thing that I struggled in recreating this example: My fortran compiler somehow assumes the file is in fixed form, causing failure in compiling. Putting "!DIR$ FREEFORM" in the first line declares the file in free form, fixing the issue.
Yes, !DIR$ FREEFORM fixes the problem. Thank you for your comment. It is not easy to get it to work but you got it! -- Another way is to modify the file C:\Program Files\Dassault Systemes\SimulationServices\V6R2017x\win_b64\SMA\site\ win86_64.env , but here are the files already made for Abaqus 2017, look for the last link at the bottom of this page: barbero.cadec-online.com/feacm-abaqus/sourceCode.html -- Also I have another video specifically for installation: ruclips.net/video/qGNAdlDoeTs/видео.html
Hello sir, In damage modeling using UMAT, the following error is coming.. ''Time increment required is less than minimum provided''. My model consist of more than one material. Once the damage reaches maximum value in one element this error is coming and other elements are not even reaching the peak stress.
Hello professor think you for the information but i want something for you and i wish to answer me i have a late of sous program of E-FGM and P-FGM but in 3D and 2 typ of degradation one with Z and another with R and I wich to halp me for use the best one or if you have m I have them if you want and thank you
It’s too complicated. We did a shell and discovered that Abaqus does not give access to the orientation of the element is space, which obviously has, so we had to code that ourselves, what a nightmare.
Hello Barbero, thank you for your sharing! I have a question about "Implicit None". In subroutine, what time do I need use this announcement? For example, in UMAT you didn't use it. And variables such as E1,E2 in your UMAT, you use it directly without defining it. Does it use "ijkl" rules? But in another Fortran subroutine "tmsfc" you use "Implicit None".
Implicit none forces me to define every variable. It is good/great programming practice. That way I forget the ridiculous ijlkmn -> integer, the rest are -> real, but then you have to define all real to be double or else the precision is bad, what a mess. If I did not use it in UMAT is because that was a template I got from SIMULIA. I should have cleaned it up. Like the tmsfc() routine is nicely written. Much less chance for errors.
@@EverBarbero Thank you for your answer. So if I use the UMAT template without "Implicit None", it defaults to use the ijklmn rules, isn't it? If I want, I can add "Implicit None" in the UMAT subroutine to make much less chance for errors.
@@user-oz7kh5fp8j Yes, without "implicit none" not only reverts to ijklmn rules but also you the compiler will not want you if you accidentally have a typo in a variable. Now the variable with the typo is meaningless, your code will break, and it is hard to spot the error. Fortran is particularly bad because the code is difficult to read. Implicit none forces you to actually explicitly define each new variable and if you make a typo, the compiler will tell you that variable, with the typo, is not defined! Other languages such as Python do not force you define variables but are much more "readable" so you can spot the typos yourself.
Thanks Professor for the nice lecture. I would like to ask you for this UMAT is it possibly to use in Low Cyclic Loading or still need to modify the code?
nice video sir. Is it possible to provide material properties for two different materials using UMAT. I am modeling a composite material and I want to give both matrix and fiber properties.
Yes, you can provide properties for as many materials as you want, just increase NPROPS and send all the values to the UMAT in PROPS, but you have to manage the data, for example, PROPS(1) and (2) have E and PR for material A, PROPS(3) and (4) have E and PR for material B, etc. Also, in PROPS you can send parameters such as dimensions, etc.
@@EverBarbero thank you very much. I am trying to model composite of isotropic material and anisotropic material. with the part name used in abaqus, is it possible to assign the material properties in subroutine
Sir I want bending and tension and torsion test with respect to 1d beam element. Can you please provide me a subroutine for that with respect to plasticity.
impressive lecture!if i want to write a linear-kinematic hardening model in matlab,how can i define DSTRAN in matlab?which is a key variable. a student from china
Dear Professor, I am doing a project in the field of numerical biomechanics. I am involving a research project in which I should simulate a four-point bending test for ceramics(ZrO2). As you know, ceramics don’t have a plasticity stage and after pass through the elastic region, they ruptured. In order to simulate the four-point bending test, I need more information about the criteria and mechanical rupture equation, especially in ceramics after that, I should make a subroutine code(UMAT) for simulation with ABAQUS. I would like to know how can I find this kind of information for ceramic material which I can implement in simulation software
If it is a 4PB test, a closed-form solution from "mechanics of materials" would be better, or at least give you a good approximation. If the material is brittle, homogeneous, and defect-free, the 4PB or 3PB are tests designed to measure the bending strength Fb of the material, which then is used as tensile strength Ft because of the difficulty of testing these brittle materials in a tensile test. So, the test you are doing will give you the Fb, thus the Ft. If the material is not homogeneous, for example, it has particle inclusions, and/or surface defects such as notches, cracks, scratches, voids, then your Fb data will have large variability from specimen to specimen. if that is the case, you gave to use fracture mechanics to predict failure. Basically, you have to measure the fracture toughness of the material, which combined with the crack size and location helps you predict the strength Fb, Ft, etc. See the discussion about fracture toughness in chapter 7 in www.amazon.com/exec/obidos/ASIN/1138196800/booksoncompos-20
Hashin damage should no be called like that because Prof. Hashin did not formulate the damage-part of the model, only the failure criterion, which is a first ply failure criterion such as maximum stress, etc. The damage model uses Hashin's failure criterion as damage initiation criteria, that is all. After that, damage evolution follows the general methodology called CDM (continuum damage mechanics), which is described in the Abaqus documentation (Theory) and many papers, chapter 8 in my book, etc. An implementation like that but using TMS (truncated maximum strain) could be done in a UMAT, I don't of anyone that has done that but it is not difficult to do. It is a bit tricky to get UMAT to work in Abaqus though. I have videos for that on this channel.
Thanks for sharing your video. I downloaded the same model (3.13 CAE and .for file) on your web that you put in description but I got a problem when start to simulate. Job is aborted "Problem during compilation".
Well, Abaqus is very delicate, you need to follow the installation instruction for all the software components and use exactly the versions that I mentioned there.
Professor thanks for the video it is very useful. I am trying to implement the same UMAT in Abaqus 2019 but it gives me a compiling error. Do you thin it is because of the version? or could it be something else?
1)Sir... Is is really difficult to code a UMAT?... 2)Do we have to maintain the SI unit consistency also for writing the UMAT? 3)Sir... What is the number after DO statement indicate?...In your example-'10' and '20' for calculation of stiffness matrix
#1) The difficulty depends on the complexity of the constitutive equations. For a linear elastic problem is really easy. For 1D or 2D continuum damage, I have examples in my textbook, not so hard to code the UMAT but hard to understand the mathematics behind it. #2) Abaqus has no units. The input data must be consistent, like everything in [N,m,Pa] or [N.mm,MPa], or [lb,in,psi], anything like that, but in your code you do not have to do anything. #3) In old F77 fixed formatted Fortran code, the number after DO is where the loop ends. In F90/95 free format you use the DO ENDDO construct. You see old format because the examples in the Abaqus documentation are in F77 style.
Hi, when I try this myself, (UMAT and VUMAT), it gives me the error: "Elements are missing required transverse shear stiffnesses. Use *TRANSVERSE SHEAR STIFFNESS option under the *SHELL SECTION to specify their values". Why is this occuring for me, but did not happen for you? Thanks
hking162 If you are using General Stiffness Section to enter the A B D matrices of a composite laminate you have to enter the H matrix in a separate window in CAE, see pages 107-109 in my Abaqus book for an explanation about how to obtain those coefficients and where to enter them in CAE. Otherwise please tell us exactly how you enter the material properties and how you define the section in module Property. Thanks.
Ever Barbero hello, I am using a isotopic viscoplastic material model to simulate the behaviour of a hot metal sheet deforming (metal forming process). I would like to use shell elements. I am using a homogeneous shell section (thickness 2mm). Under the “advanced” tab in the section properties, it has an option for “transverse shear stiffness” which it requires me to fill out. However I do not know which values to put here? This happens when I want to run my VUMAT subroutine. It also happened when I downloaded your UMAT subroutine and tried to run it. Thanks
@@hking162 In ISBN 978-1-138-19680-3, eq. (6.22), p. 181, using Latex notation, H_{ij}=\sum_{k=1}^N{Q_{ih}^k t_k}. If the material is othotropic Q_{44}=G_{23} Q_{55}=G_{13}=G_{12} If the material of the layers is isotropic Q_{44}=Q_{55}=G_{12}=E/2/(1+v); v is Poisson's ratio. So H reduces to H_{ij}=\sum_{k=1}^N{G_{12} t_k} If the shell does not have layers, but it is homogeneous through the thickness "t", then H_{ij}=G_{12} t In ISBN 978-1-46-651661-8, eq (3.16)p. 108 K11=H55=G13 t K22=H44=G23 t K12=H45=0 for N=1 only, otherwise see the book. If the material is isotropic K11=K12=G t and G=E/2/(1-v), where E is the modulus of elasticity and v is the Poisson's ratio.
Sir... Iam trying to execute the UMAT in ABAQUS. But the ABA_PARAM is creating a problem. It's not opening due to which there is a problem in compilation. Kindly help me in this regard so that the coding can proceed.
ABA_PARAM.INC is available in the Abaqus distribution, so when you link your UMAT to Abaqus, the linker will find it. You need a copy only to use the USERTMAT_tester.for outside of Abaqus. Both files are available on my website at barbero.cadec-online.com/feacm-abaqus/Examples_web/Chapter_12/ Anything else missing, please ask me.
@@EverBarbero Sir... iam not able to download the file given in the link. When I try to download the file, it's giving an error..which says file not available.
Thanks for the nice lecture, it seems very useful for me. As a beginner, I wonder how to construct the file with suffix .for. which software can I use?
Hi sir...I have almost solved the issues related to connection of fortran to ABAQUS software... But at the end Iam getting the error which says 1) error in job messaging system- disconnection to the job analysis. Pls guide me to how should I tackle this problem.
Thank you so much for sharing this video. I am a PhD student in the area of Civil Engineering, could you share with me an example of the VFRIC subroutine?
Hi sir, Can you upload tutorial for dissimilar metal welding and UMAT usage? .Like how to include phase transformation when it deals with dissimilar welding?
Dear sir, Thankyou very much for your reply. I am asking one more question that how to impose/apply my USDFLD.for file to Abaqus cae, can you please make a video or give me some pdfs
Many authors in their research paper found out by simulation using UMAT subroutine in abaqus. I also need to do the same. Please mention me the steps to do in abaqus.
Thanks for the video. I downloaded these two files "Ex_3.13_TMS.cae & umatTMS.for" from your web site, barbero.cadec-online.com/feacm-abaqus/Examples/Chapter_3/Ex_3.13/Abaqus2017. But the job was Aborted saying an error message " Unable to start analysis job". So I tried again with command line "abaqus job=Job-1 user=umatTMS.for" Then it returns these error logs as below................ Are there more setups even if I get PASS by checking "Abaqus verify -user_std? (I am using Abaqus 2020 with "Microsoft Visual Studio community 2019 & Intel® Parallel Studio XE for Windows 2020 update1") umatTMS.for(1): error #5082: Syntax error, found '&' when expecting one of: * SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,& -----------------------------------------------------------^ umatTMS.for(2): error #5082: Syntax error, found '&' when expecting one of: * & RPL,DDSDDT,DRPLDE,DRPLDT,& --------------------------------^ umatTMS.for(3): error #5082: Syntax error, found '&' when expecting one of: * & STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,& --------------------------------------------------------------^ umatTMS.for(4): error #5082: Syntax error, found '&' when expecting one of: * & NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,& -------------------------------------------------------------^ umatTMS.for(16): error #5082: Syntax error, found '&' when expecting one of: DIMENSION STRESS(NTENS),STATEV(NSTATV),& ---------------------------------------------^ umatTMS.for(17): error #5082: Syntax error, found '&' when expecting one of: & DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),& -------------------------------------------------------^ umatTMS.for(18): error #5082: Syntax error, found '&' when expecting one of: & STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),& -------------------------------------------------------------^ umatTMS.for(19): error #5082: Syntax error, found '&' when expecting one of: & PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3),& -----------------------------------------------------------------^ umatTMS.for(104): error #5149: Illegal character in statement label field [s] subrou tmsfc (strain, xet, xec, yet, nu12, SDV) ^ umatTMS.for(104): error #5149: Illegal character in statement label field [u] subrou tmsfc (strain, xet, xec, yet, nu12, SDV) -^ umatTMS.for(104): error #5149: Illegal character in statement label field [b] subrou tmsfc (strain, xet, xec, yet, nu12, SDV) --^ umatTMS.for(104): error #5149: Illegal character in statement label field [r] subrou tmsfc (strain, xet, xec, yet, nu12, SDV) ---^ umatTMS.for(104): error #5149: Illegal character in statement label field [o] subrou tmsfc (strain, xet, xec, yet, nu12, SDV) ----^ umatTMS.for(122): error #5149: Illegal character in statement label field [i] implicit noneuble ----^ umatTMS.for(123): error #5149: Illegal character in statement label field [d] do precision strain(5), xet, xec, yet, nu12uble ----^ umatTMS.for(124): error #5149: Illegal character in statement label field [d] do precision SDV(4) ----^ umatTMS.for(125): error #5149: Illegal character in statement label field [d] double precision s, tmp, ht(4) ----^ umatTMS.for(126): error #5149: Illegal character in statement label field [d] double precision, parameter :: zero=0.0D0 ----^ umatTMS.for(129): error #5149: Illegal character in statement label field [h] ht = zero !but set them to zero for now ----^ umatTMS.for(130): error #5149: Illegal character in statement label field [S] SDV = zero !initialize when calculating I_F (like Abaqus) ----^ umatTMS.for(122): error #5082: Syntax error, found IDENTIFIER 'PLICITNONEUBLEPRECISIONSTRAIN' when expecting one of: ) ( , : ; % [ . = / => implicit noneuble ------^ umatTMS.for(125): error #5082: Syntax error, found IDENTIFIER 'UBLEPRECISIONS' when expecting one of: :: ) ( , : * ; . % (/ + - [ ] /) . = ' ** > ... double precision s, tmp, ht(4) ------^ umatTMS.for(126): error #5082: Syntax error, found IDENTIFIER 'UBLEPRECISION' when expecting one of: :: ) ( , : * ; . % (/ + - [ ] /) . = ' ** > ... double precision, parameter :: zero=0.0D0 ------^ umatTMS.for(126): error #5082: Syntax error, found '=' when expecting one of: :: ) ( , : * ; . % (/ + - [ ] /) . ** > ... double precision, parameter :: zero=0.0D0 ---------------------------------------^ umatTMS.for(142): error #5149: Illegal character in statement label field [i] if ( strain(2).gt.zero.and.(yet-ht(1)).ne.zero ) SDV(4)=strain(2)/(yet-ht(2)) !matrix failure, when the transverse strain is positive ----^ C:\Users\ATIS\AppData\Local\Temp\3475613.i(153): catastrophic error: Too many errors, exiting
that was perfect. Also, I checked your website and I review the references that you have advised and mentioned. thank you Dr. Barbero
I'm happy that you like it. I am going to work on updating the files to 2020, soon. Also working on videos for the Examples in the textbook. Lot's of work!
Thank you so much for your helpful video. I am so happy that I found your channel, so hopefully, I can get answers for my PLENTY of questions by going through the resources that you are providing.
Thanks
thank you very much, it wworks very well wwith abaqus 2020 compiled with visual studio 2019 and parralel studio 20219
I am happy.
Thank you very much, sir. the explanation is crystal clear, I was not seen this type clear video about how to write a an Abaqus umat.
I am glad you like it. Now I am doing videos for all the 36 examples in my Abaqus textbook.
@@EverBarbero then it's good Sir. but how can I get all of them. When will you upload the examples sir?
Thank you Professor for sharing your knowledge. We expect more from you. Many thanks again :)
You are most welcome
HI Prof.Barbero
Thank you so much for your fruitful lecture.
thank you!
thank you Dr. Barbero, you gave me a simple detailed example about abaqus umat!
Glad it was helpful!
Thanks for the great lecture. It is rare to have one that bridges the gap between theory and application.
One thing that I struggled in recreating this example:
My fortran compiler somehow assumes the file is in fixed form, causing failure in compiling. Putting "!DIR$ FREEFORM" in the first line declares the file in free form, fixing the issue.
Yes, !DIR$ FREEFORM fixes the problem. Thank you for your comment. It is not easy to get it to work but you got it! -- Another way is to modify the file C:\Program Files\Dassault Systemes\SimulationServices\V6R2017x\win_b64\SMA\site\ win86_64.env , but here are the files already made for Abaqus 2017, look for the last link at the bottom of this page: barbero.cadec-online.com/feacm-abaqus/sourceCode.html -- Also I have another video specifically for installation: ruclips.net/video/qGNAdlDoeTs/видео.html
It's a very clear and useful video lecture. Thank you very much!
You are welcome!
Thank you very much for your scientific sharing prof Barbero
My pleasure!
Thanks for sharing your knowledge. Its easier to understand in videos than book.
So nice of you
Thank you very much! Helps me understand my PhD tasks.
Thank you very much,Prof.Barbero ,that's very useful
CAUC?
!
that's very nice Video Sir, similarly, can you show us how to define material properties with the help of VUMAT.
thanks in Advance!
I am working on it
Hello sir, In damage modeling using UMAT, the following error is coming.. ''Time increment required is less than minimum provided''. My model consist of more than one material. Once the damage reaches maximum value in one element this error is coming and other elements are not even reaching the peak stress.
Good work professor you are a good man thank you
You are welcome
Thanks a lot Professor
Thanks.
Hello professor think you for the information but i want something for you and i wish to answer me i have a late of sous program of E-FGM and P-FGM but in 3D and 2 typ of degradation one with Z and another with R and I wich to halp me for use the best one or if you have m I have them if you want and thank you
Can make a vidéo about damage evolution in VUMAT ?
I am learning how to program a VUMAT but I am not ready to make a video yet.
Can i ask something...maybe you know it
Thank You for the great lecture. Could you possibly share your knowledge on writing a User Element Subroutine?
It’s too complicated. We did a shell and discovered that Abaqus does not give access to the orientation of the element is space, which obviously has, so we had to code that ourselves, what a nightmare.
You are great, sir
Thanks
Can I write amplitude driven by temperature
superb
Hello Barbero, thank you for your sharing! I have a question about "Implicit None". In subroutine, what time do I need use this announcement? For example, in UMAT you didn't use it. And variables such as E1,E2 in your UMAT, you use it directly without defining it. Does it use "ijkl" rules? But in another Fortran subroutine "tmsfc" you use "Implicit None".
Implicit none forces me to define every variable. It is good/great programming practice. That way I forget the ridiculous ijlkmn -> integer, the rest are -> real, but then you have to define all real to be double or else the precision is bad, what a mess. If I did not use it in UMAT is because that was a template I got from SIMULIA. I should have cleaned it up. Like the tmsfc() routine is nicely written. Much less chance for errors.
you're welcome!
@@EverBarbero Thank you for your answer. So if I use the UMAT template without "Implicit None", it defaults to use the ijklmn rules, isn't it? If I want, I can add "Implicit None" in the UMAT subroutine to make much less chance for errors.
@@user-oz7kh5fp8j Yes, without "implicit none" not only reverts to ijklmn rules but also you the compiler will not want you if you accidentally have a typo in a variable. Now the variable with the typo is meaningless, your code will break, and it is hard to spot the error. Fortran is particularly bad because the code is difficult to read. Implicit none forces you to actually explicitly define each new variable and if you make a typo, the compiler will tell you that variable, with the typo, is not defined! Other languages such as Python do not force you define variables but are much more "readable" so you can spot the typos yourself.
Very useful video.. Thanks
Welcome 😊
Thanks Professor for the nice lecture. I would like to ask you for this UMAT is it possibly to use in Low Cyclic Loading or still need to modify the code?
This code is for static analysis, if used for fatigue, on the second cycle and later it will not do anything. The code has to be modified.
@@EverBarbero do you have any code for cyclic loading that you can share? cause UMAT code is a new thing for me.
nice video sir. Is it possible to provide material properties for two different materials using UMAT. I am modeling a composite material and I want to give both matrix and fiber properties.
Yes, you can provide properties for as many materials as you want, just increase NPROPS and send all the values to the UMAT in PROPS, but you have to manage the data, for example, PROPS(1) and (2) have E and PR for material A, PROPS(3) and (4) have E and PR for material B, etc. Also, in PROPS you can send parameters such as dimensions, etc.
@@EverBarbero thank you very much. I am trying to model composite of isotropic material and anisotropic material. with the part name used in abaqus, is it possible to assign the material properties in subroutine
Hi Professor - is there a possibility if you could help me with the jacobian matrix for jhoson cook model please
Sir I want bending and tension and torsion test with respect to 1d beam element. Can you please provide me a subroutine for that with respect to plasticity.
please perform drilling composite material vumat.we will appreciate your effort thanks
Can’t
How can I calculate JH2 parameters for B4C?
impressive lecture!if i want to write a linear-kinematic hardening model in matlab,how can i define DSTRAN in matlab?which is a key variable.
a student from china
Not possible
Many thanks professor
So nice of you
Dear Professor,
I am doing a project in the field of numerical biomechanics. I am involving a research project in which I should simulate a four-point bending test for ceramics(ZrO2). As you know, ceramics don’t have a plasticity stage and after pass through the elastic region, they ruptured. In order to simulate the four-point bending test, I need more information about the criteria and mechanical rupture equation, especially in ceramics after that, I should make a subroutine code(UMAT) for simulation with ABAQUS. I would like to know how can I find this kind of information for ceramic material which I can implement in simulation software
If it is a 4PB test, a closed-form solution from "mechanics of materials" would be better, or at least give you a good approximation. If the material is brittle, homogeneous, and defect-free, the 4PB or 3PB are tests designed to measure the bending strength Fb of the material, which then is used as tensile strength Ft because of the difficulty of testing these brittle materials in a tensile test. So, the test you are doing will give you the Fb, thus the Ft. If the material is not homogeneous, for example, it has particle inclusions, and/or surface defects such as notches, cracks, scratches, voids, then your Fb data will have large variability from specimen to specimen. if that is the case, you gave to use fracture mechanics to predict failure. Basically, you have to measure the fracture toughness of the material, which combined with the crack size and location helps you predict the strength Fb, Ft, etc. See the discussion about fracture toughness in chapter 7 in www.amazon.com/exec/obidos/ASIN/1138196800/booksoncompos-20
Sir, one more thing...If i need to model Hashin's damage.. is there any subroutine/function to call ?
Hashin damage should no be called like that because Prof. Hashin did not formulate the damage-part of the model, only the failure criterion, which is a first ply failure criterion such as maximum stress, etc. The damage model uses Hashin's failure criterion as damage initiation criteria, that is all. After that, damage evolution follows the general methodology called CDM (continuum damage mechanics), which is described in the Abaqus documentation (Theory) and many papers, chapter 8 in my book, etc. An implementation like that but using TMS (truncated maximum strain) could be done in a UMAT, I don't of anyone that has done that but it is not difficult to do. It is a bit tricky to get UMAT to work in Abaqus though. I have videos for that on this channel.
Great video, thank you
Thanks
Thanks for sharing your video. I downloaded the same model (3.13 CAE and .for file) on your web that you put in description but I got a problem when start to simulate. Job is aborted "Problem during compilation".
Well, Abaqus is very delicate, you need to follow the installation instruction for all the software components and use exactly the versions that I mentioned there.
Professor thanks for the video it is very useful. I am trying to implement the same UMAT in Abaqus 2019 but it gives me a compiling error. Do you thin it is because of the version? or could it be something else?
@Ever Barbero Thank you I will try
I do not have access to 2019 because my university is closed due to covid-19
1)Sir... Is is really difficult to code a UMAT?...
2)Do we have to maintain the SI unit consistency also for writing the UMAT?
3)Sir... What is the number after DO statement indicate?...In your example-'10' and '20' for calculation of stiffness matrix
#1) The difficulty depends on the complexity of the constitutive equations. For a linear elastic problem is really easy. For 1D or 2D continuum damage, I have examples in my textbook, not so hard to code the UMAT but hard to understand the mathematics behind it. #2) Abaqus has no units. The input data must be consistent, like everything in [N,m,Pa] or [N.mm,MPa], or [lb,in,psi], anything like that, but in your code you do not have to do anything. #3) In old F77 fixed formatted Fortran code, the number after DO is where the loop ends. In F90/95 free format you use the DO ENDDO construct. You see old format because the examples in the Abaqus documentation are in F77 style.
@@EverBarbero Thank you sir... the video was very beneficial.
Hi, when I try this myself, (UMAT and VUMAT), it gives me the error: "Elements are missing required transverse shear stiffnesses. Use *TRANSVERSE SHEAR STIFFNESS option under the *SHELL SECTION to specify their values". Why is this occuring for me, but did not happen for you? Thanks
hking162 If you are using General Stiffness Section to enter the A B D matrices of a composite laminate you have to enter the H matrix in a separate window in CAE, see pages 107-109 in my Abaqus book for an explanation about how to obtain those coefficients and where to enter them in CAE. Otherwise please tell us exactly how you enter the material properties and how you define the section in module Property. Thanks.
Ever Barbero hello, I am using a isotopic viscoplastic material model to simulate the behaviour of a hot metal sheet deforming (metal forming process). I would like to use shell elements. I am using a homogeneous shell section (thickness 2mm). Under the “advanced” tab in the section properties, it has an option for “transverse shear stiffness” which it requires me to fill out. However I do not know which values to put here? This happens when I want to run my VUMAT subroutine. It also happened when I downloaded your UMAT subroutine and tried to run it. Thanks
@@hking162 In ISBN 978-1-138-19680-3, eq. (6.22), p. 181, using Latex notation,
H_{ij}=\sum_{k=1}^N{Q_{ih}^k t_k}.
If the material is othotropic
Q_{44}=G_{23}
Q_{55}=G_{13}=G_{12}
If the material of the layers is isotropic
Q_{44}=Q_{55}=G_{12}=E/2/(1+v); v is Poisson's ratio.
So H reduces to
H_{ij}=\sum_{k=1}^N{G_{12} t_k}
If the shell does not have layers, but it is homogeneous through the thickness "t", then
H_{ij}=G_{12} t
In ISBN 978-1-46-651661-8, eq (3.16)p. 108
K11=H55=G13 t
K22=H44=G23 t
K12=H45=0 for N=1 only, otherwise see the book.
If the material is isotropic
K11=K12=G t
and
G=E/2/(1-v), where E is the modulus of elasticity and v is the Poisson's ratio.
Thanks Sir, did Abaqus subroutine Dload and UMAT are the same ?
I do not know what is DLOAD
Thank you so much Prof. Barbero,
If someone has an idea or did experimental things, could he contact you for collaboration in coding or so?
You can contact me by email (find it by searching for my name).
Sir... Iam trying to execute the UMAT in ABAQUS. But the ABA_PARAM is creating a problem. It's not opening due to which there is a problem in compilation. Kindly help me in this regard so that the coding can proceed.
ABA_PARAM.INC is available in the Abaqus distribution, so when you link your UMAT to Abaqus, the linker will find it. You need a copy only to use the USERTMAT_tester.for outside of Abaqus. Both files are available on my website at barbero.cadec-online.com/feacm-abaqus/Examples_web/Chapter_12/ Anything else missing, please ask me.
@@EverBarbero ok... Thank you very much sir...
@@EverBarbero Sir... iam not able to download the file given in the link. When I try to download the file, it's giving an error..which says file not available.
Thanks for the nice lecture, it seems very useful for me. As a beginner, I wonder how to construct the file with suffix .for. which software can I use?
.for is a text file so any text editor will work but you need to learn Fortran and best use a Editor that supports Fortran such as Visual Studio.
@@EverBarbero Okay, I see, Prof.Barbero. really appreciate for your prompt response and useful answer.
Hi sir...I have almost solved the issues related to connection of fortran to ABAQUS software... But at the end Iam getting the error which says
1) error in job messaging system- disconnection to the job analysis.
Pls guide me to how should I tackle this problem.
Sorry, I have never seen this error.
@@EverBarbero Sir...I have solved the problem..Thank you very much for the guidance.
Thank you so much for sharing this video. I am a PhD student in the area of Civil Engineering, could you share with me an example of the VFRIC subroutine?
Sorry, I don't know was a VFRIC is. What is it?
hi , i want to make a rotation stiffness for z steel purlin with k =300n/rad
could you please tell me how to do it the steps?
I can't respond to "how to" questions. I can answer questions about the videos, to clarify or expand the content of a video, it is ok. Sorry.
@@EverBarbero could you make a video to clarify ?
Hi sir,
Can you upload tutorial for dissimilar metal welding and UMAT usage? .Like how to include phase transformation when it deals with dissimilar welding?
Not my area of expertise
Thank you so much
Is it possible for you to write umat for my particular project and I pay for it to you?
pls contact me by email.
Sir Is it possible that can we write a user subroutine for plasticity model
Search the literature, web, etc., it is very likely people have done this already.
Dear sir, Thankyou very much for your reply. I am asking one more question that how to impose/apply my USDFLD.for file to Abaqus cae, can you please make a video or give me some pdfs
sir could you make a video to find hardness using UMAT subroutine in abaqus (need to find hardness after laser operation)
As far as I know, hardness is a material property, to be measured experimentally, by Brinell or Rockwell indentation. Do you mean something else?
@@EverBarbero I need to find by simulation also. Need to cross verify with simulated and experiment both.
Many authors in their research paper found out by simulation using UMAT subroutine in abaqus. I also need to do the same. Please mention me the steps to do in abaqus.
Great
OK :)
Can you please make video on USDFLD subroutine
Sorry, I have never used it.
Dear Sir,
Thanks for this video. I will be pleased if you can provide me with UAMP Subroutines.
Takns in advance !!!
I do not know what UAMP is.
Thanks for the video.
I downloaded these two files "Ex_3.13_TMS.cae & umatTMS.for" from your web site, barbero.cadec-online.com/feacm-abaqus/Examples/Chapter_3/Ex_3.13/Abaqus2017. But the job was Aborted saying an error message " Unable to start analysis job".
So I tried again with command line
"abaqus job=Job-1 user=umatTMS.for"
Then it returns these error logs as below................ Are there more setups even if I get PASS by checking "Abaqus verify -user_std?
(I am using Abaqus 2020 with "Microsoft Visual Studio community 2019 & Intel® Parallel Studio XE for Windows 2020 update1")
umatTMS.for(1): error #5082: Syntax error, found '&' when expecting one of: *
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,&
-----------------------------------------------------------^
umatTMS.for(2): error #5082: Syntax error, found '&' when expecting one of: *
& RPL,DDSDDT,DRPLDE,DRPLDT,&
--------------------------------^
umatTMS.for(3): error #5082: Syntax error, found '&' when expecting one of: *
& STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,&
--------------------------------------------------------------^
umatTMS.for(4): error #5082: Syntax error, found '&' when expecting one of: *
& NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,&
-------------------------------------------------------------^
umatTMS.for(16): error #5082: Syntax error, found '&' when expecting one of:
DIMENSION STRESS(NTENS),STATEV(NSTATV),&
---------------------------------------------^
umatTMS.for(17): error #5082: Syntax error, found '&' when expecting one of:
& DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),&
-------------------------------------------------------^
umatTMS.for(18): error #5082: Syntax error, found '&' when expecting one of:
& STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),&
-------------------------------------------------------------^
umatTMS.for(19): error #5082: Syntax error, found '&' when expecting one of:
& PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3),&
-----------------------------------------------------------------^
umatTMS.for(104): error #5149: Illegal character in statement label field [s]
subrou tmsfc (strain, xet, xec, yet, nu12, SDV)
^
umatTMS.for(104): error #5149: Illegal character in statement label field [u]
subrou tmsfc (strain, xet, xec, yet, nu12, SDV)
-^
umatTMS.for(104): error #5149: Illegal character in statement label field [b]
subrou tmsfc (strain, xet, xec, yet, nu12, SDV)
--^
umatTMS.for(104): error #5149: Illegal character in statement label field [r]
subrou tmsfc (strain, xet, xec, yet, nu12, SDV)
---^
umatTMS.for(104): error #5149: Illegal character in statement label field [o]
subrou tmsfc (strain, xet, xec, yet, nu12, SDV)
----^
umatTMS.for(122): error #5149: Illegal character in statement label field [i]
implicit noneuble
----^
umatTMS.for(123): error #5149: Illegal character in statement label field [d]
do precision strain(5), xet, xec, yet, nu12uble
----^
umatTMS.for(124): error #5149: Illegal character in statement label field [d]
do precision SDV(4)
----^
umatTMS.for(125): error #5149: Illegal character in statement label field [d]
double precision s, tmp, ht(4)
----^
umatTMS.for(126): error #5149: Illegal character in statement label field [d]
double precision, parameter :: zero=0.0D0
----^
umatTMS.for(129): error #5149: Illegal character in statement label field [h]
ht = zero !but set them to zero for now
----^
umatTMS.for(130): error #5149: Illegal character in statement label field [S]
SDV = zero !initialize when calculating I_F (like Abaqus)
----^
umatTMS.for(122): error #5082: Syntax error, found IDENTIFIER 'PLICITNONEUBLEPRECISIONSTRAIN' when expecting one of: ) ( , : ; % [ . = / =>
implicit noneuble
------^
umatTMS.for(125): error #5082: Syntax error, found IDENTIFIER 'UBLEPRECISIONS' when expecting one of: :: ) ( , : * ; . % (/ + - [ ] /) . = ' ** > ...
double precision s, tmp, ht(4)
------^
umatTMS.for(126): error #5082: Syntax error, found IDENTIFIER 'UBLEPRECISION' when expecting one of: :: ) ( , : * ; . % (/ + - [ ] /) . = ' ** > ...
double precision, parameter :: zero=0.0D0
------^
umatTMS.for(126): error #5082: Syntax error, found '=' when expecting one of: :: ) ( , : * ; . % (/ + - [ ] /) . ** > ...
double precision, parameter :: zero=0.0D0
---------------------------------------^
umatTMS.for(142): error #5149: Illegal character in statement label field [i]
if ( strain(2).gt.zero.and.(yet-ht(1)).ne.zero ) SDV(4)=strain(2)/(yet-ht(2)) !matrix failure, when the transverse strain is positive
----^
C:\Users\ATIS\AppData\Local\Temp\3475613.i(153): catastrophic error: Too many errors, exiting
@Ever Barbero Thank you Sir.
You're welcome.
Apd
?