first call to hypela2 in inc 0 is done with computation mode 2 (=plain calc), but since rev. 539 the second call was done with computation mode 6 (=only return values) instead of 2. This doesnt work, because computation mode 2 might calculate stress and tangent for all materialpoints, but the mapping from lattice to current configuration is only done for the element/IP that triggers the call.
So switched back to the former order of calls which also works for marc2010: el 1 IP 1 | el 1 IP 2 | inc mode lovl | inc mode lovl ------------------ | ------------------ 0 2 6 | 0 2 6 1 6 4 | 1 6 4 1 4 6 | 1 3 6 1 6 4 | 1 6 4 1 1 6 | 1 2 6 Still to be checked: according to Franz the lovl order could be different in contact analysis (e.g. starting with lovl 4 instead of 6)
This commit is contained in:
parent
51da3b6242
commit
3a23dc4bbd
|
@ -230,8 +230,6 @@ subroutine hypela2(&
|
|||
write (6,'(a,x,i6,x,i2)') '<< hypela2 >> first call special case..!',n(1),nn; call flush(6)
|
||||
!$OMP END CRITICAL (write2out)
|
||||
|
||||
else if (inc == 0 .and. lovl == 6) then ! Marc2010 introduces second call (lovl=6) in inc 0
|
||||
computationMode = 6 ! --> just return known value
|
||||
else if (lovl == 4) then ! Marc requires stiffness in separate call
|
||||
if ( timinc < theDelta .and. theInc == inc ) then ! first after cutback
|
||||
computationMode = 7 ! --> restore tangent and return
|
||||
|
|
Loading…
Reference in New Issue