From 44f5f2cc0182738140e446943653f56ff44ad42b Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Mon, 7 Sep 2020 17:01:38 +0200 Subject: [PATCH 1/5] only statevar 2 is used for material definition --- examples/MSC.Marc/rotation.mud | Bin 14640 -> 20700 bytes processing/pre/mentat_spectralBox.py | 13 +++---------- src/marc/discretization_marc.f90 | 4 ++-- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/examples/MSC.Marc/rotation.mud b/examples/MSC.Marc/rotation.mud index bdcda99d4861edcb812cce0e03ba1a874d6f3850..21eff797487e1eb32b16d7463f7543ecb34797f0 100644 GIT binary patch delta 4769 zcmc)Odvp}l9l-IK>?6CIY;_DbA|%M8peW|CKp-R`iAq4a z0jWnV2+2hYSZxAYK?_DB3biWG9&Jy1MD0VZw#HYhR*!*dTOZYa@9fMH?9rot^`7(D zxpU`t@66n}b7yAz+g|BYcV@cFd{vR!j%(T?zM9(lHNIf?sEcw+6h$eIG&hth<#myj z?id_hX+?#na{h0NW39*r=)8u7U3#8yJlrATZ`1Hi57KOJ)3A%wa|Ro67u*<&@nW6JYx$U5idda6 zMg3586&4AfeY9}S}(tRBBL#TKrsZI2M6CE+xUQB%chW-q%62sd5wq-B%{r%w|# zmei#6Mx2r$T&8?WD(fauVV?Ovk)82KlZ>Rznydoa^y!hgVuR`weoM%11e*1@6Xty4 z{CeEl3pvrXwH=YR#@Z&%HJR`PsQPlGzLe)aLNAxw2IRV^wq{#al3OD#$j%nK@^i#$ zYoN#P7K8aVQF5Lw`q{zL&(E!^2@yk@7}gdnx4(a+_g_!-Pv4k!c-CthwuVlxdgG=e z|9*42u|2kQ>+yqn{fzM5Ju)2&?IggsBpJMW@9eqp&B((GXFbl^H{z$SFz2Hc37u?;)08+|BA;xeL&VLXW;I~h|j6=jG{=7RH6#Aa0zDPJD7t@F&FbtjT+3yWmtfPScEH4kF~hP$@TvMnQhpP zTd@PXa65Km5BB0t^kO@M_g3t{PIRLO0=sY036L;aq=uP4J_mSC$ z{kR+V;3v2j2XGMg;ePxShj17VpdSz7Aq?PQ9Kj=a6i0CkKf`1AIUdIocoN6${G7na zl!35qv`KXNeg6mP;@yimo7_!+^MVzn|h*n3dR{ATOkNo8|?{4cYTROeyDScVh zd-Cs}&$;B`vaeca&LIuy6V*`YvBzI{>DB9BF4rflC&hanUv%Vzot5`?z8;D#&*;I% z>~=v|Yhzd=UmM>w`P;=S)1%+A!r8O=+5=JMeZzL6`k4;ae8UQQ{PD}aUHn(|prbS1 z#*s~+QOnPDQveXu~a&6e^MwRDxZQfF|BAxK2l^#k1e!EjLb51X-`ZOOP&}? zc-xWnBOe%XFo`2(&D@;;~RB!ZMwevS^P z?oZX|GpwG%vv>~A<9GNy{(wK?1-ytq;bpvnKjSZW6@z#Uuj388iMJs8_-}X{AK*03 z;6r?bf6}>LSL)(V$$y6b;B$Ndd7LT|V1gMISdj>348;xyl8_81Qs9DH9rz^mj7gld zjg{|$iTW#$sC8_X?}bIjLdHvs+!;^ku(pU@IkLuGXA{f)6~^q?Puq2y}~Jn znM^epB~-U3Dof-QmxEOfA~!scgEbR5$i--kK_SNB0t7J;Qy^b;%Mr#*RADwQMKxk+ zMp#>RT^m~}etimk$W<0-h^*8$${$r+oj1YmCntw*q6p^|@T%KTAzz~9ku>2Z$Wi$| zW+j&SYINVjsEvIE2Ia1rn&5FAlgav23Ti_Q@eK z@Obu7HCoAP73Sbl7&AaM`5MTX;4&=0LM*~!$l2jae0hdwplk&iu^Ma8hIVw|8eEI( zuwGS0DV=0CU?b!u-h}TViY{>~(QCh%+%4EPuw|q$d5tfGb8nifv=QgCpOK4A3v-xH_&IfB=I4mp5NrCwfaxOKJJUDxIpI4mp=Z;|)O^wZKXx%t= zW9Z7_SObdjW!>FxYJBRdmJu>i9ecLWY!tQ+E3_De zZw)J?Uab0e3l@tL1!*GL;*hQVx?n|o7d9hiPT>mUutk62)_8zJ28ckhLo6&>5HC%N zmp(nLG+8fga0Uau!p8cR<_3DhE&7VR+N`JD;NpCDzEjS_UgRNP`hMjkT~OZx)~T zZi}2(6xo8?*uN|wg=wrts3mD7vBrkKP)sP5|JkfOs z=9J`!yGnBgo+wQ=4ctEd*#xbl>RZ~`-R4YhEND~dC_U&E%lWbehDD^dE!Gyl@{A=p v$Yhc&Gg}0e72-kv2#Y+j1o86J>hW^p@FScwDG=lc`B$l_NN$U_5)1k-EzXc& delta 1651 zcmZ8hUrbw77(eH>_x6^y6b37FZN~*hNmXjg)6IiArqxD;PVMDs394$;pgCqH40z*+#Q+{yl5<kJ@ z_?JU^z*GHEd1!GDt2uqy+=oVHho_d4t`5}d5R^_k{194)t!}HUfU~QJ-w}U;5pRK+ z(CWuqAr8NFcQx#9UoEOeA?8@PtEHo%crR@8+VL_kf&#-HHl;v1R@CP-oln=A5Pk~JLZr8kJJC06=HA9; z?A?Nq$thXvEllfe+~C3gWK{9v}J{ljwUY!>GNU*`VpaJ&=2d-~fF)U{tIZSnw8MF+k z^v>W9O9v>TbsjHFCeI&u{Mrlj=$3V3MX!|dr8Dv{wjPKFJoI}@)ZOnIO@{n*_21IeW; znZ*KCr<^YysKSEArr1;zzMt?5OHnv}I>1@=zlq0UOV%jwF)6NHCO>_AKhtfgzIbL! oNMbqkOlfZiwg1iz>|Bj4v88Cuy?tNupN=-u2C2ETQte^>4{{T7MF0Q* diff --git a/processing/pre/mentat_spectralBox.py b/processing/pre/mentat_spectralBox.py index b0694ec4a..027240044 100755 --- a/processing/pre/mentat_spectralBox.py +++ b/processing/pre/mentat_spectralBox.py @@ -130,7 +130,7 @@ def geometry(): #------------------------------------------------------------------------------------------------- -def initial_conditions(homogenization,microstructures): +def initial_conditions(microstructures): elements = [] element = 0 for id in microstructures: @@ -148,13 +148,6 @@ def initial_conditions(homogenization,microstructures): "*icond_dof_value var 300", "*add_icond_elements", "all_existing", - "*new_icond", - "*icond_name _homogenization", - "*icond_type state_variable", - "*icond_param_value state_var_id 2", - "*icond_dof_value var %i"%homogenization, - "*add_icond_elements", - "all_existing", ] for grain,elementList in enumerate(elements): @@ -162,7 +155,7 @@ def initial_conditions(homogenization,microstructures): "*new_icond", "*icond_name microstructure_%i"%(grain+1), "*icond_type state_variable", - "*icond_param_value state_var_id 3", + "*icond_param_value state_var_id 2", "*icond_dof_value var %i"%(grain+1), "*add_icond_elements", elementList, @@ -211,7 +204,7 @@ for name in filenames: mesh(geom.grid,geom.size), material(), geometry(), - initial_conditions(geom.homogenization,microstructure), + initial_conditions(microstructure), '*identify_sets', '*show_model', '*redraw', diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index fd0852257..edf99523c 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -706,7 +706,7 @@ subroutine inputRead_microstructure(microstructureAt,& k = merge(2,1,initialcondTableStyle == 2) chunkPos = IO_stringPos(fileContent(l+k)) sv = IO_IntValue(fileContent(l+k),chunkPos,1) ! figure state variable index - if( (sv == 2) .or. (sv == 3) ) then ! only state vars 2 and 3 of interest + if( (sv == 2)) then ! state var 2 is used to identify material from material.yaml m = 1 chunkPos = IO_stringPos(fileContent(l+k+m)) do while (scan(IO_stringValue(fileContent(l+k+m),chunkPos,1),'+-',back=.true.)>1) ! is noEfloat value? @@ -715,7 +715,7 @@ subroutine inputRead_microstructure(microstructureAt,& contInts = continuousIntValues(fileContent(l+k+m+1:),nElem,nameElemSet,mapElemSet,size(nameElemSet)) ! get affected elements do i = 1,contInts(1) e = mesh_FEM2DAMASK_elem(contInts(1+i)) - if (sv == 3) microstructureAt(e) = myVal + microstructureAt(e) = myVal enddo if (initialcondTableStyle == 0) m = m + 1 enddo From e43d8d208fe0ac88e53de8cab24247e4bfc46387 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Mon, 7 Sep 2020 17:20:59 +0200 Subject: [PATCH 2/5] updated tests --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index c6dc3f116..0cac68845 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit c6dc3f116fc6007caf076772d5c29f0a0523544d +Subproject commit 0cac6884550edbf22dec0e69b642fef8cf35e175 From 5c02fdae297d6028392dca80db8ffe580e10c36f Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Mon, 7 Sep 2020 18:22:29 +0200 Subject: [PATCH 3/5] updated reference --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 0cac68845..3b8e2de27 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 0cac6884550edbf22dec0e69b642fef8cf35e175 +Subproject commit 3b8e2de2769317b19559a376cff659e4545914e0 From 2fa84b5c70ef0a4cea4eb9146976228dee4784d3 Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Tue, 8 Sep 2020 18:06:57 +0200 Subject: [PATCH 4/5] coreccted line endings of Marc input files --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 3b8e2de27..0cbe1cdb1 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 3b8e2de2769317b19559a376cff659e4545914e0 +Subproject commit 0cbe1cdb13388e33ecc0427d83aab0e090ca8f9d From 95af422d5fb2722174419d892c170e5111d83c45 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 8 Sep 2020 23:41:30 +0200 Subject: [PATCH 5/5] complain about invalid microstructure many error messages are not needed any more --- src/IO.f90 | 24 +----------------------- src/marc/discretization_marc.f90 | 12 +++++++----- 2 files changed, 8 insertions(+), 28 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index d4533f47c..fd3b5bb48 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -484,8 +484,6 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'too many systems requested' case (146) msg = 'number of values does not match' - case (147) - msg = 'not supported anymore' case (148) msg = 'Nconstituents mismatch between homogenization and microstructure' @@ -497,22 +495,10 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'microstructure has no constituents' case (153) msg = 'sum of phase fractions differs from 1' - case (154) - msg = 'homogenization index out of bounds' case (155) msg = 'microstructure index out of bounds' - case (157) - msg = 'invalid texture transformation specified' - case (160) - msg = 'no entries in config part' - case (161) - msg = 'config part found twice' - case (165) - msg = 'homogenization configuration' - case (170) - msg = 'no homogenization specified via State Variable 2' case (180) - msg = 'no microstructure specified via State Variable 3' + msg = 'missing/invalid microstructure definition via State Variable 2' case (190) msg = 'unknown element type:' case (191) @@ -525,8 +511,6 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) case (201) msg = 'unknown plasticity specified:' - case (210) - msg = 'unknown material parameter:' case (211) msg = 'material parameter out of bounds:' case (212) @@ -534,8 +518,6 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) !-------------------------------------------------------------------------------------------------- ! numerics error messages - case (300) - msg = 'unknown numerics parameter:' case (301) msg = 'numerics parameter out of bounds:' @@ -555,10 +537,6 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) !-------------------------------------------------------------------------------------------------- ! user errors - case (600) - msg = 'Ping-Pong not possible when using non-DAMASK elements' - case (601) - msg = 'Ping-Pong needed when using non-local plasticity' case (602) msg = 'invalid selection for debug' diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index edf99523c..397e7514c 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -723,6 +723,8 @@ subroutine inputRead_microstructure(microstructureAt,& endif enddo + if(any(microstructureAt < 1)) call IO_error(190) + end subroutine inputRead_microstructure @@ -1061,7 +1063,7 @@ function IPneighborhood(elem,connectivity) integer, dimension(size(connectivity,1)) :: myConnectivity integer, dimension(size(elem%cellFace,1)) :: face_unordered integer :: e,i,f,n,c,s - + c = 0 do e = 1, size(connectivity,3) do i = 1, size(connectivity,2) @@ -1078,9 +1080,9 @@ function IPneighborhood(elem,connectivity) enddo; enddo !-------------------------------------------------------------------------------------------------- -! sort face definitions +! sort face definitions call math_sort(face,sortDim=1) - do c=2, size(face,1)-4 + do c=2, size(face,1)-4 s = 1 e = 1 do while (e < size(face,2)) @@ -1091,8 +1093,8 @@ function IPneighborhood(elem,connectivity) endif enddo enddo - - IPneighborhood = 0 + + IPneighborhood = 0 do c=1, size(face,2) - 1 if(all(face(:n-1,c) == face(:n-1,c+1))) then IPneighborhood(:,face(n+2,c+1),face(n+1,c+1),face(n+0,c+1)) = face(n:n+3,c+0)