0-based indexing in MSC.Marc

inline with Python library and grid, still need to decide on mesh (neper
is 1-based)
This commit is contained in:
Martin Diehl 2021-07-10 09:49:29 +02:00
parent fdc501243c
commit df9a94422f
3 changed files with 7 additions and 6 deletions

@ -1 +1 @@
Subproject commit 1e8613bc2ac3b5e8315cb514a8c7fef153fed75d
Subproject commit 8fec909d1931b092b223b0560dd30c3339c6e5a7

View File

@ -345,7 +345,7 @@ oben_ziehen_nodes
initial state
2 6 1 0 0 0DAMASK
1.000000000000000+0
0.000000000000000+0
0
1
DAMASK_elements

View File

@ -698,6 +698,7 @@ end function inputRead_connectivityElem
!--------------------------------------------------------------------------------------------------
!> @brief Store material ID
!> @details 0-based ID in file is converted to 1-based ID used in DAMASK
!--------------------------------------------------------------------------------------------------
subroutine inputRead_material(materialAt,&
nElem,nNodes,nameElemSet,mapElemSet,initialcondTableStyle,fileContent)
@ -709,8 +710,8 @@ subroutine inputRead_material(materialAt,&
nNodes, & !< number of nodes per element
initialcondTableStyle
character(len=*), dimension(:), intent(in) :: nameElemSet
integer, dimension(:,:), intent(in) :: mapElemSet !< list of elements in elementSet
character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines
integer, dimension(:,:), intent(in) :: mapElemSet !< list of elements in elementSet
character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines
integer, allocatable, dimension(:) :: chunkPos
@ -718,7 +719,7 @@ subroutine inputRead_material(materialAt,&
integer :: i,j,t,sv,myVal,e,nNodesAlreadyRead,l,k,m
allocate(materialAt(nElem),source=0)
allocate(materialAt(nElem),source=1)
do l = 1, size(fileContent)
chunkPos = IO_stringPos(fileContent(l))
@ -737,7 +738,7 @@ subroutine inputRead_material(materialAt,&
contInts = continuousIntValues(fileContent(l+k+m+1:),nElem,nameElemSet,mapElemSet,size(nameElemSet)) ! get affected elements
do i = 1,contInts(1)
e = discretization_Marc_FEM2DAMASK_elem(contInts(1+i))
materialAt(e) = myVal
materialAt(e) = materialAt(e) + myVal
enddo
if (initialcondTableStyle == 0) m = m + 1
enddo