I'm trying to write a subroutine for ABAQUS in fortran and during my research on how to write subroutines I only encountered subroutines for 3D models. So I was wandering if it's possible to make 1D subroutines.
2 Answers
That depends on what subroutine you are writing (UAMP, UEL, UMAT). Abaqus may give you data in 3D coordinates, or tensor values, but if you only care about one dimension, you don't have to use the others. Also, when defining some subroutines, such as a user element (UEL, VUEL) you can down-select the coordinates ahead of time in the input file (see the COORDINATES parameter in the abaqus docs for *User element https://abaqus-docs.mit.edu/2017/English/SIMACAEKEYRefMap/simakey-r-userelement.htm#simakey-r-userelement).

- 26
- 1
-
So basically if I wanted to write a UMAT subroutine wouldn't it be a problem? – MoDavari May 04 '22 at 09:56
-
@MoDavari, For a UMAT you need to specify all of the stress components so I'm not sure what you mean, but your model can still be ~1D (just a function of a strain invariant). Check out the [Example: Simple linear viscoelastic material](https://abaqus-docs.mit.edu/2017/English/SIMACAESUBRefMap/simasub-c-umat.htm#simasub-c-umat-t-SimpleLinearViscoelasticMaterial-example-topic2) from the UMAT documentation – bsnow May 05 '22 at 11:46
I think if you only care about one dimension, you don't have to use Abaqus to get data in 3D coordinates or tensor values. Additionally, you can down-select the coordinates in the input file prior to defining some subroutines, such as a UEL. This package was very useful for my project, I think it will help you too:
https://caeassistant.com/product/introduction-to-uel-subroutine-in-abaqus/

- 1
- 1