store data where it is needed

This commit is contained in:
Martin Diehl 2020-03-29 20:04:51 +02:00
parent ba5538516c
commit 2a37acfe5e
3 changed files with 7 additions and 10 deletions

View File

@ -43,6 +43,9 @@ module DAMASK_interface
logical, protected, public :: symmetricSolver logical, protected, public :: symmetricSolver
character(len=*), parameter, public :: INPUTFILEEXTENSION = '.dat' character(len=*), parameter, public :: INPUTFILEEXTENSION = '.dat'
logical, dimension(:,:), public, allocatable :: &
calcMode !< calculate or collect (ping pong scheme)
public :: & public :: &
DAMASK_interface_init, & DAMASK_interface_init, &
getSolverJobName getSolverJobName
@ -102,7 +105,6 @@ function getSolverJobName()
character(len=*), parameter :: pathSep = achar(47)//achar(92) ! forward and backward slash character(len=*), parameter :: pathSep = achar(47)//achar(92) ! forward and backward slash
integer :: extPos integer :: extPos
inputName=''
inquire(5, name=inputName) ! determine inputfile inquire(5, name=inputName) ! determine inputfile
extPos = len_trim(inputName)-4 extPos = len_trim(inputName)-4
getSolverJobName=inputName(scan(inputName,pathSep,back=.true.)+1:extPos) getSolverJobName=inputName(scan(inputName,pathSep,back=.true.)+1:extPos)
@ -179,6 +181,7 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, &
use FEsolving use FEsolving
use debug use debug
use discretization_marc use discretization_marc
use homogenization
use CPFEM use CPFEM
implicit none implicit none

View File

@ -4,20 +4,12 @@
!> @brief global variables for flow control !> @brief global variables for flow control
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
module FEsolving module FEsolving
implicit none implicit none
public public
logical :: &
terminallyIll = .false. !< at least one material point is terminally ill
integer, dimension(2) :: & integer, dimension(2) :: &
FEsolving_execElem, & !< for ping-pong scheme always whole range, otherwise one specific element FEsolving_execElem, & !< for ping-pong scheme always whole range, otherwise one specific element
FEsolving_execIP !< for ping-pong scheme always range to max IP, otherwise one specific IP FEsolving_execIP !< for ping-pong scheme always range to max IP, otherwise one specific IP
#if defined(Marc4DAMASK)
logical, dimension(:,:), allocatable :: &
calcMode !< do calculation or simply collect when using ping pong scheme
#endif
end module FEsolving end module FEsolving

View File

@ -29,6 +29,8 @@ module homogenization
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! General variables for the homogenization at a material point ! General variables for the homogenization at a material point
logical, public :: &
terminallyIll = .false. !< at least one material point is terminally ill
real(pReal), dimension(:,:,:,:), allocatable, public :: & real(pReal), dimension(:,:,:,:), allocatable, public :: &
materialpoint_F0, & !< def grad of IP at start of FE increment materialpoint_F0, & !< def grad of IP at start of FE increment
materialpoint_F, & !< def grad of IP to be reached at end of FE increment materialpoint_F, & !< def grad of IP to be reached at end of FE increment