- added element type 54 for macro (2d 8node 4ip reduced integration)

- automatically raising error for unknown element type inside mapping function
This commit is contained in:
Christoph Kords 2013-04-10 09:38:40 +00:00
parent 338e338c9a
commit 4338cd13bc
2 changed files with 10 additions and 8 deletions

View File

@ -1453,6 +1453,8 @@ subroutine IO_error(error_ID,e,i,g,ext_msg)
msg = 'no homogenization specified via State Variable 2'
case (180_pInt)
msg = 'no microstructure specified via State Variable 3'
case (190_pInt)
msg = 'unknown element type:'
!--------------------------------------------------------------------------------------------------
! plasticity error messages
@ -1586,9 +1588,7 @@ subroutine IO_error(error_ID,e,i,g,ext_msg)
case (908_pInt)
msg = 'size of mesh_mapFEtoCPnode in mesh_abaqus_map_nodes'
case (909_pInt)
msg = 'size of mesh_node in mesh_abaqus_build_nodes not equal to mesh_Nnodes'
case (910_pInt)
msg = 'incorrect element type mapping in '
msg = 'size of mesh_node in mesh_abaqus_build_nodes not equal to mesh_Nnodes'
!-------------------------------------------------------------------------------------------------

View File

@ -117,7 +117,7 @@ module mesh
! Hence, I suggest to prefix with "FE_"
integer(pInt), parameter, public :: &
FE_Nelemtypes = 12_pInt, &
FE_Nelemtypes = 13_pInt, &
FE_Ngeomtypes = 10_pInt, &
FE_maxNnodes = 8_pInt, &
FE_maxNsubNodes = 56_pInt, &
@ -132,6 +132,7 @@ module mesh
2, & ! element 125 (2D 6node 3ip)
3, & ! element 11 (2D 4node 4ip)
4, & ! element 27 (2D 8node 9ip)
3, & ! element 54 (2D 8node 4ip)
5, & ! element 134 (3D 4node 1ip)
6, & ! element 157 (3D 5node 4ip)
6, & ! element 127 (3D 10node 4ip)
@ -148,6 +149,7 @@ module mesh
6, & ! element 125 (2D 6node 3ip)
4, & ! element 11 (2D 4node 4ip)
8, & ! element 27 (2D 8node 9ip)
8, & ! element 54 (2D 8node 4ip)
4, & ! element 134 (3D 4node 1ip)
5, & ! element 157 (3D 5node 4ip)
10, & ! element 127 (3D 10node 4ip)
@ -3308,7 +3310,6 @@ subroutine mesh_abaqus_count_cpSizes(myUnit)
IO_lc(IO_stringValue(line,myPos,2_pInt)) /= 'response' ) &
) then
t = FE_mapElemtype(IO_extractValue(IO_lc(IO_stringValue(line,myPos,2_pInt)),'type')) ! remember elem type
if (t == 0_pInt) call IO_error(error_ID=910_pInt,ext_msg='mesh_abaqus_count_cpSizes')
g = FE_geomtype(t)
mesh_maxNnodes = max(mesh_maxNnodes,FE_Nnodes(g))
mesh_maxNips = max(mesh_maxNips,FE_Nips(g))
@ -3367,7 +3368,6 @@ subroutine mesh_abaqus_build_elements(myUnit)
IO_lc(IO_stringValue(line,myPos,2_pInt)) /= 'response' ) &
) then
t = FE_mapElemtype(IO_extractValue(IO_lc(IO_stringValue(line,myPos,2_pInt)),'type')) ! remember elem type
if (t == 0_pInt) call IO_error(error_ID=910_pInt,ext_msg='mesh_abaqus_build_elements')
c = IO_countDataLines(myUnit)
do i = 1_pInt,c
backspace(myUnit)
@ -4029,7 +4029,7 @@ end subroutine mesh_tell_statistics
!***********************************************************
integer(pInt) function FE_mapElemtype(what)
use IO, only: IO_lc
use IO, only: IO_lc, IO_error
implicit none
character(len=*), intent(in) :: what
@ -4047,6 +4047,8 @@ integer(pInt) function FE_mapElemtype(what)
case ( '27', &
'cpe8')
FE_mapElemtype = 4_pInt ! Plane Strain, Eight-node Distorted Quadrilateral
case ( '54')
FE_mapElemtype = 3_pInt ! Plane Strain, Eight-node Distorted Quadrilateral with reduced integration
case ('134', &
'c3d4')
FE_mapElemtype = 5_pInt ! Three-dimensional Four-node Tetrahedron
@ -4071,7 +4073,7 @@ integer(pInt) function FE_mapElemtype(what)
'c3d20')
FE_mapElemtype = 12_pInt ! Three-dimensional Arbitrarily Distorted quadratic hexahedral
case default
FE_mapElemtype = 0_pInt ! unknown element --> should raise an error upstream..!
call IO_error(error_ID=190_pInt,ext_msg=IO_lc(what))
end select
end function FE_mapElemtype