FEAP User Forum
FEAP => Programming => Topic started by: ws18 on October 16, 2024, 08:32:33 PM
-
Dear all,
I have a question regarding how to obtain the "element size" in a UMAT file in FEAP85 and 86. I need the element size to regularize the computed dissipated energy for damage modeling (following Bazant's crack band model). Is there a header file I can include to directly access the characteristic element size, similar to how "dt" is available in the tdata.h file?
Thank you in advance for your help.
-
I don't think FEAP computes or saves this any place convenient. My suggestion would be to create a separate copy of say sld3d1.f (or what ever element you are using) and program in the characteristic size formula you wish to use. Then place it in a common block so that you can easily gain assess to it your material subroutine.
-
We do not compute an element size, however, you can always access the element nodal coordinates from your UMAT. They are stored in hr(np(44)) and dimensioned xl(ndm,nel). The ndm and nel are accessible from the include files sdata.h (ndm) and eldata.h (nel). The programmer manual should provide information getting information from pointers using (pointer.h and comblk.h). You can compute an element size from the coordinates.
-
Many thanks for your helpful replies.
-
To do what Prof. Taylor suggests you would do something like the following, then you will have access to the nodal coordinates. This would be preferred to my other suggestion.
include 'eldata.h'
include 'pointer.h'
include 'sdata.h'
include 'comblk.h'
real (kind=8) :: xl(:,:)
xl(1:ndm,1:nel) => hr(np(44):np(44)+ndm*nel-1)
This will allow you to access xl( , ) in the 'usual way'. Note for this to work your comblk.h needs to be set up with the target attribute (the archive will need to be recompiled):
!-----[--+---------+---------+---------+---------+---------+---------+-]
! Modification log Date(dd/mm/year)
! 1. Increase dimension to 1024 to force loops on 03/10/2011
! long arrays
real (kind=8), target:: hr
integer , target:: mr
common /comblk/ hr(1024),mr(1024)