diff --git a/PRIVATE b/PRIVATE index a13f94880..1b82ac397 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit a13f94880aeae06c14bde50c15f00d7f076d23ad +Subproject commit 1b82ac39703fdea70962aea47a0381d50bd1d44e diff --git a/examples/MSC.Marc/rotation.mud b/examples/MSC.Marc/rotation.mud index bdcda99d4..21eff7974 100644 Binary files a/examples/MSC.Marc/rotation.mud and b/examples/MSC.Marc/rotation.mud differ 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/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 fd0852257..397e7514c 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 @@ -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)