repetition not needed
- implicit none at the beginning of the module is enough
This commit is contained in:
parent
67eb39255a
commit
8f7239b75d
|
@ -22,7 +22,6 @@ module crystallite
|
||||||
use future
|
use future
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
|
|
||||||
private
|
private
|
||||||
character(len=64), dimension(:,:), allocatable, private :: &
|
character(len=64), dimension(:,:), allocatable, private :: &
|
||||||
crystallite_output !< name of each post result output
|
crystallite_output !< name of each post result output
|
||||||
|
@ -186,8 +185,6 @@ subroutine crystallite_init
|
||||||
constitutive_initialFi, &
|
constitutive_initialFi, &
|
||||||
constitutive_microstructure ! derived (shortcut) quantities of given state
|
constitutive_microstructure ! derived (shortcut) quantities of given state
|
||||||
|
|
||||||
implicit none
|
|
||||||
|
|
||||||
integer, parameter :: FILEUNIT=434
|
integer, parameter :: FILEUNIT=434
|
||||||
logical, dimension(:,:), allocatable :: devNull
|
logical, dimension(:,:), allocatable :: devNull
|
||||||
integer :: &
|
integer :: &
|
||||||
|
@ -492,7 +489,6 @@ function crystallite_stress(dummyArgumentToPreventInternalCompilerErrorWithGCC)
|
||||||
phase_Nsources, &
|
phase_Nsources, &
|
||||||
phaseAt, phasememberAt
|
phaseAt, phasememberAt
|
||||||
|
|
||||||
implicit none
|
|
||||||
logical, dimension(theMesh%elem%nIPs,theMesh%Nelems) :: crystallite_stress
|
logical, dimension(theMesh%elem%nIPs,theMesh%Nelems) :: crystallite_stress
|
||||||
real(pReal), intent(in), optional :: &
|
real(pReal), intent(in), optional :: &
|
||||||
dummyArgumentToPreventInternalCompilerErrorWithGCC
|
dummyArgumentToPreventInternalCompilerErrorWithGCC
|
||||||
|
@ -757,7 +753,6 @@ subroutine crystallite_stressTangent()
|
||||||
constitutive_LpAndItsTangents, &
|
constitutive_LpAndItsTangents, &
|
||||||
constitutive_LiAndItsTangents
|
constitutive_LiAndItsTangents
|
||||||
|
|
||||||
implicit none
|
|
||||||
integer :: &
|
integer :: &
|
||||||
c, & !< counter in integration point component loop
|
c, & !< counter in integration point component loop
|
||||||
i, & !< counter in integration point loop
|
i, & !< counter in integration point loop
|
||||||
|
@ -911,7 +906,6 @@ subroutine crystallite_orientations
|
||||||
use plastic_nonlocal, only: &
|
use plastic_nonlocal, only: &
|
||||||
plastic_nonlocal_updateCompatibility
|
plastic_nonlocal_updateCompatibility
|
||||||
|
|
||||||
implicit none
|
|
||||||
integer &
|
integer &
|
||||||
c, & !< counter in integration point component loop
|
c, & !< counter in integration point component loop
|
||||||
i, & !< counter in integration point loop
|
i, & !< counter in integration point loop
|
||||||
|
@ -948,7 +942,6 @@ function crystallite_push33ToRef(ipc,ip,el, tensor33)
|
||||||
use material, only: &
|
use material, only: &
|
||||||
material_EulerAngles ! ToDo: Why stored? We also have crystallite_orientation0
|
material_EulerAngles ! ToDo: Why stored? We also have crystallite_orientation0
|
||||||
|
|
||||||
implicit none
|
|
||||||
real(pReal), dimension(3,3) :: crystallite_push33ToRef
|
real(pReal), dimension(3,3) :: crystallite_push33ToRef
|
||||||
real(pReal), dimension(3,3), intent(in) :: tensor33
|
real(pReal), dimension(3,3), intent(in) :: tensor33
|
||||||
real(pReal), dimension(3,3) :: T
|
real(pReal), dimension(3,3) :: T
|
||||||
|
@ -993,7 +986,6 @@ function crystallite_postResults(ipc, ip, el)
|
||||||
use rotations, only: &
|
use rotations, only: &
|
||||||
rotation
|
rotation
|
||||||
|
|
||||||
implicit none
|
|
||||||
integer, intent(in):: &
|
integer, intent(in):: &
|
||||||
el, & !< element index
|
el, & !< element index
|
||||||
ip, & !< integration point index
|
ip, & !< integration point index
|
||||||
|
@ -1120,7 +1112,6 @@ subroutine crystallite_results
|
||||||
use material, only: &
|
use material, only: &
|
||||||
material_phase_plasticity_type => phase_plasticity
|
material_phase_plasticity_type => phase_plasticity
|
||||||
|
|
||||||
implicit none
|
|
||||||
integer :: p,o
|
integer :: p,o
|
||||||
real(pReal), allocatable, dimension(:,:,:) :: selected_tensors
|
real(pReal), allocatable, dimension(:,:,:) :: selected_tensors
|
||||||
type(rotation), allocatable, dimension(:) :: selected_rotations
|
type(rotation), allocatable, dimension(:) :: selected_rotations
|
||||||
|
@ -1292,7 +1283,6 @@ logical function integrateStress(ipc,ip,el,timeFraction)
|
||||||
math_33to9, &
|
math_33to9, &
|
||||||
math_9to33
|
math_9to33
|
||||||
|
|
||||||
implicit none
|
|
||||||
integer, intent(in):: el, & ! element index
|
integer, intent(in):: el, & ! element index
|
||||||
ip, & ! integration point index
|
ip, & ! integration point index
|
||||||
ipc ! grain index
|
ipc ! grain index
|
||||||
|
@ -1690,7 +1680,7 @@ end function integrateStress
|
||||||
!> @brief integrate stress, state with adaptive 1st order explicit Euler method
|
!> @brief integrate stress, state with adaptive 1st order explicit Euler method
|
||||||
!> using Fixed Point Iteration to adapt the stepsize
|
!> using Fixed Point Iteration to adapt the stepsize
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine integrateStateFPI()
|
subroutine integrateStateFPI
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
use debug, only: debug_level, &
|
use debug, only: debug_level, &
|
||||||
debug_e, &
|
debug_e, &
|
||||||
|
@ -1715,8 +1705,6 @@ subroutine integrateStateFPI()
|
||||||
constitutive_plasticity_maxSizeDotState, &
|
constitutive_plasticity_maxSizeDotState, &
|
||||||
constitutive_source_maxSizeDotState
|
constitutive_source_maxSizeDotState
|
||||||
|
|
||||||
implicit none
|
|
||||||
|
|
||||||
integer :: &
|
integer :: &
|
||||||
NiterationState, & !< number of iterations in state loop
|
NiterationState, & !< number of iterations in state loop
|
||||||
e, & !< element index in element loop
|
e, & !< element index in element loop
|
||||||
|
@ -1881,7 +1869,6 @@ subroutine integrateStateFPI()
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
real(pReal) pure function damper(current,previous,previous2)
|
real(pReal) pure function damper(current,previous,previous2)
|
||||||
|
|
||||||
implicit none
|
|
||||||
real(pReal), dimension(:), intent(in) ::&
|
real(pReal), dimension(:), intent(in) ::&
|
||||||
current, previous, previous2
|
current, previous, previous2
|
||||||
|
|
||||||
|
@ -1907,8 +1894,6 @@ subroutine integrateStateEuler()
|
||||||
use material, only: &
|
use material, only: &
|
||||||
plasticState
|
plasticState
|
||||||
|
|
||||||
implicit none
|
|
||||||
|
|
||||||
call update_dotState(1.0_pReal)
|
call update_dotState(1.0_pReal)
|
||||||
call update_state(1.0_pReal)
|
call update_state(1.0_pReal)
|
||||||
call update_deltaState
|
call update_deltaState
|
||||||
|
@ -1938,7 +1923,6 @@ subroutine integrateStateAdaptiveEuler()
|
||||||
constitutive_plasticity_maxSizeDotState, &
|
constitutive_plasticity_maxSizeDotState, &
|
||||||
constitutive_source_maxSizeDotState
|
constitutive_source_maxSizeDotState
|
||||||
|
|
||||||
implicit none
|
|
||||||
integer :: &
|
integer :: &
|
||||||
e, & ! element index in element loop
|
e, & ! element index in element loop
|
||||||
i, & ! integration point index in ip loop
|
i, & ! integration point index in ip loop
|
||||||
|
@ -2040,7 +2024,6 @@ subroutine integrateStateRK4()
|
||||||
phase_Nsources, &
|
phase_Nsources, &
|
||||||
phaseAt, phasememberAt
|
phaseAt, phasememberAt
|
||||||
|
|
||||||
implicit none
|
|
||||||
real(pReal), dimension(4), parameter :: &
|
real(pReal), dimension(4), parameter :: &
|
||||||
TIMESTEPFRACTION = [0.5_pReal, 0.5_pReal, 1.0_pReal, 1.0_pReal] ! factor giving the fraction of the original timestep used for Runge Kutta Integration
|
TIMESTEPFRACTION = [0.5_pReal, 0.5_pReal, 1.0_pReal, 1.0_pReal] ! factor giving the fraction of the original timestep used for Runge Kutta Integration
|
||||||
real(pReal), dimension(4), parameter :: &
|
real(pReal), dimension(4), parameter :: &
|
||||||
|
@ -2113,7 +2096,6 @@ subroutine integrateStateRKCK45()
|
||||||
constitutive_plasticity_maxSizeDotState, &
|
constitutive_plasticity_maxSizeDotState, &
|
||||||
constitutive_source_maxSizeDotState
|
constitutive_source_maxSizeDotState
|
||||||
|
|
||||||
implicit none
|
|
||||||
real(pReal), dimension(5,5), parameter :: &
|
real(pReal), dimension(5,5), parameter :: &
|
||||||
A = reshape([&
|
A = reshape([&
|
||||||
.2_pReal, .075_pReal, .3_pReal, -11.0_pReal/54.0_pReal, 1631.0_pReal/55296.0_pReal, &
|
.2_pReal, .075_pReal, .3_pReal, -11.0_pReal/54.0_pReal, 1631.0_pReal/55296.0_pReal, &
|
||||||
|
@ -2281,9 +2263,7 @@ end subroutine integrateStateRKCK45
|
||||||
!> @brief sets convergence flag for nonlocal calculations
|
!> @brief sets convergence flag for nonlocal calculations
|
||||||
!> @detail one non-converged nonlocal sets all other nonlocals to non-converged to trigger cut back
|
!> @detail one non-converged nonlocal sets all other nonlocals to non-converged to trigger cut back
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine nonlocalConvergenceCheck()
|
subroutine nonlocalConvergenceCheck
|
||||||
|
|
||||||
implicit none
|
|
||||||
|
|
||||||
if (any(.not. crystallite_converged .and. .not. crystallite_localPlasticity)) & ! any non-local not yet converged (or broken)...
|
if (any(.not. crystallite_converged .and. .not. crystallite_localPlasticity)) & ! any non-local not yet converged (or broken)...
|
||||||
where( .not. crystallite_localPlasticity) crystallite_converged = .false.
|
where( .not. crystallite_localPlasticity) crystallite_converged = .false.
|
||||||
|
@ -2296,10 +2276,10 @@ end subroutine nonlocalConvergenceCheck
|
||||||
! still .true. is considered as converged
|
! still .true. is considered as converged
|
||||||
!> @details: For explicitEuler, RK4 and RKCK45, adaptive Euler and FPI have their on criteria
|
!> @details: For explicitEuler, RK4 and RKCK45, adaptive Euler and FPI have their on criteria
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine setConvergenceFlag()
|
subroutine setConvergenceFlag
|
||||||
use mesh, only: &
|
use mesh, only: &
|
||||||
mesh_element
|
mesh_element
|
||||||
implicit none
|
|
||||||
integer :: &
|
integer :: &
|
||||||
e, & !< element index in element loop
|
e, & !< element index in element loop
|
||||||
i, & !< integration point index in ip loop
|
i, & !< integration point index in ip loop
|
||||||
|
@ -2321,7 +2301,6 @@ end subroutine setConvergenceFlag
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
logical pure function converged(residuum,state,aTol)
|
logical pure function converged(residuum,state,aTol)
|
||||||
|
|
||||||
implicit none
|
|
||||||
real(pReal), intent(in), dimension(:) ::&
|
real(pReal), intent(in), dimension(:) ::&
|
||||||
residuum, state, aTol
|
residuum, state, aTol
|
||||||
real(pReal) :: &
|
real(pReal) :: &
|
||||||
|
@ -2340,7 +2319,7 @@ end subroutine setConvergenceFlag
|
||||||
subroutine update_stress(timeFraction)
|
subroutine update_stress(timeFraction)
|
||||||
use mesh, only: &
|
use mesh, only: &
|
||||||
mesh_element
|
mesh_element
|
||||||
implicit none
|
|
||||||
real(pReal), intent(in) :: &
|
real(pReal), intent(in) :: &
|
||||||
timeFraction
|
timeFraction
|
||||||
integer :: &
|
integer :: &
|
||||||
|
@ -2376,7 +2355,6 @@ subroutine update_dependentState()
|
||||||
use constitutive, only: &
|
use constitutive, only: &
|
||||||
constitutive_dependentState => constitutive_microstructure
|
constitutive_dependentState => constitutive_microstructure
|
||||||
|
|
||||||
implicit none
|
|
||||||
integer :: e, & ! element index in element loop
|
integer :: e, & ! element index in element loop
|
||||||
i, & ! integration point index in ip loop
|
i, & ! integration point index in ip loop
|
||||||
g ! grain index in grain loop
|
g ! grain index in grain loop
|
||||||
|
@ -2407,7 +2385,6 @@ subroutine update_state(timeFraction)
|
||||||
use mesh, only: &
|
use mesh, only: &
|
||||||
mesh_element
|
mesh_element
|
||||||
|
|
||||||
implicit none
|
|
||||||
real(pReal), intent(in) :: &
|
real(pReal), intent(in) :: &
|
||||||
timeFraction
|
timeFraction
|
||||||
integer :: &
|
integer :: &
|
||||||
|
@ -2460,7 +2437,6 @@ subroutine update_dotState(timeFraction)
|
||||||
use constitutive, only: &
|
use constitutive, only: &
|
||||||
constitutive_collectDotState
|
constitutive_collectDotState
|
||||||
|
|
||||||
implicit none
|
|
||||||
real(pReal), intent(in) :: &
|
real(pReal), intent(in) :: &
|
||||||
timeFraction
|
timeFraction
|
||||||
integer :: &
|
integer :: &
|
||||||
|
@ -2519,7 +2495,6 @@ subroutine update_deltaState
|
||||||
phaseAt, phasememberAt
|
phaseAt, phasememberAt
|
||||||
use constitutive, only: &
|
use constitutive, only: &
|
||||||
constitutive_collectDeltaState
|
constitutive_collectDeltaState
|
||||||
implicit none
|
|
||||||
integer :: &
|
integer :: &
|
||||||
e, & !< element index in element loop
|
e, & !< element index in element loop
|
||||||
i, & !< integration point index in ip loop
|
i, & !< integration point index in ip loop
|
||||||
|
@ -2608,7 +2583,6 @@ logical function stateJump(ipc,ip,el)
|
||||||
use constitutive, only: &
|
use constitutive, only: &
|
||||||
constitutive_collectDeltaState
|
constitutive_collectDeltaState
|
||||||
|
|
||||||
implicit none
|
|
||||||
integer, intent(in):: &
|
integer, intent(in):: &
|
||||||
el, & ! element index
|
el, & ! element index
|
||||||
ip, & ! integration point index
|
ip, & ! integration point index
|
||||||
|
|
Loading…
Reference in New Issue