Merge branch 'fix-random-infinite-loop-marc' into 'development'
Fix random infinite loop marc See merge request damask/DAMASK!163
This commit is contained in:
commit
524706d346
|
@ -73,28 +73,24 @@ subroutine CPFEM_initAll(el,ip)
|
|||
integer(pInt), intent(in) :: el, & !< FE el number
|
||||
ip !< FE integration point number
|
||||
|
||||
!$OMP CRITICAL(init)
|
||||
if (.not. CPFEM_init_done) then
|
||||
call DAMASK_interface_init
|
||||
call prec_init
|
||||
call IO_init
|
||||
call numerics_init
|
||||
call debug_init
|
||||
call config_init
|
||||
call math_init
|
||||
call rotations_init
|
||||
call HDF5_utilities_init
|
||||
call results_init
|
||||
call discretization_marc_init(ip, el)
|
||||
call lattice_init
|
||||
call material_init
|
||||
call constitutive_init
|
||||
call crystallite_init
|
||||
call homogenization_init
|
||||
call CPFEM_init
|
||||
CPFEM_init_done = .true.
|
||||
endif
|
||||
!$OMP END CRITICAL(init)
|
||||
CPFEM_init_done = .true.
|
||||
call DAMASK_interface_init
|
||||
call prec_init
|
||||
call IO_init
|
||||
call numerics_init
|
||||
call debug_init
|
||||
call config_init
|
||||
call math_init
|
||||
call rotations_init
|
||||
call HDF5_utilities_init
|
||||
call results_init
|
||||
call discretization_marc_init(ip, el)
|
||||
call lattice_init
|
||||
call material_init
|
||||
call constitutive_init
|
||||
call crystallite_init
|
||||
call homogenization_init
|
||||
call CPFEM_init
|
||||
|
||||
end subroutine CPFEM_initAll
|
||||
|
||||
|
|
|
@ -261,11 +261,10 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, &
|
|||
endif
|
||||
|
||||
!$ defaultNumThreadsInt = omp_get_num_threads() ! remember number of threads set by Marc
|
||||
!$ call omp_set_num_threads(DAMASK_NumThreadsInt) ! set number of threads for parallel execution set by DAMASK_NUM_THREADS
|
||||
|
||||
if (.not. CPFEM_init_done) call CPFEM_initAll(m(1),nn)
|
||||
|
||||
!$ call omp_set_num_threads(DAMASK_NumThreadsInt) ! set number of threads for parallel execution set by DAMASK_NUM_THREADS
|
||||
|
||||
computationMode = 0 ! save initialization value, since it does not result in any calculation
|
||||
if (lovl == 4 ) then ! jacobian requested by marc
|
||||
if (timinc < theDelta .and. theInc == inc .and. lastLovl /= lovl) & ! first after cutback
|
||||
|
|
|
@ -303,6 +303,7 @@ function crystallite_stress(dummyArgumentToPreventInternalCompilerErrorWithGCC)
|
|||
s
|
||||
logical, dimension(homogenization_maxNgrains,discretization_nIP,discretization_nElem) :: todo !ToDo: need to set some values to false for different Ngrains
|
||||
|
||||
todo = .false.
|
||||
#ifdef DEBUG
|
||||
if (iand(debug_level(debug_crystallite),debug_levelSelective) /= 0 &
|
||||
.and. FEsolving_execElem(1) <= debug_e &
|
||||
|
|
Loading…
Reference in New Issue