From 3a23dc4bbd19cb01557099a2ef00cf6284963eed Mon Sep 17 00:00:00 2001 From: Christoph Kords Date: Thu, 20 May 2010 09:14:59 +0000 Subject: [PATCH] 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) --- code/mpie_cpfem_marc.f90 | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/mpie_cpfem_marc.f90 b/code/mpie_cpfem_marc.f90 index 99319ff5c..980e166c0 100644 --- a/code/mpie_cpfem_marc.f90 +++ b/code/mpie_cpfem_marc.f90 @@ -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