only output from the root processor for parallel runs
This commit is contained in:
parent
063508c6c1
commit
c8929b47d3
|
@ -125,6 +125,9 @@ subroutine CPFEM_init
|
|||
IO_timeStamp, &
|
||||
IO_error
|
||||
use numerics, only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
DAMASK_NumThreadsInt
|
||||
use debug, only: &
|
||||
debug_level, &
|
||||
|
@ -157,10 +160,16 @@ subroutine CPFEM_init
|
|||
implicit none
|
||||
integer(pInt) :: k,l,m,ph,homog
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- CPFEM init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
#if defined(Marc4DAMASK) || defined(Abaqus)
|
||||
! initialize stress and jacobian to zero
|
||||
|
|
|
@ -75,6 +75,10 @@ subroutine FE_init
|
|||
IO_warning, &
|
||||
IO_timeStamp
|
||||
use DAMASK_interface
|
||||
#ifdef FEM
|
||||
use numerics, only: &
|
||||
worldrank
|
||||
#endif
|
||||
|
||||
implicit none
|
||||
#ifndef Spectral
|
||||
|
@ -89,10 +93,16 @@ subroutine FE_init
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- FEsolving init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
modelName = getSolverJobName()
|
||||
#ifdef Spectral
|
||||
|
|
12
code/IO.f90
12
code/IO.f90
|
@ -102,11 +102,23 @@ contains
|
|||
!--------------------------------------------------------------------------------------------------
|
||||
subroutine IO_init
|
||||
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment)
|
||||
#ifdef FEM
|
||||
#include <finclude/petsc.h90>
|
||||
PetscInt :: worldrank
|
||||
PetscErrorCode :: ierr
|
||||
#endif
|
||||
|
||||
#ifdef FEM
|
||||
call MPI_Comm_rank(PETSC_COMM_WORLD,worldrank,ierr);CHKERRQ(ierr)
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- IO init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
#ifdef HDF
|
||||
call HDF5_createJobFile
|
||||
|
|
|
@ -60,6 +60,9 @@ subroutine constitutive_init
|
|||
debug_constitutive, &
|
||||
debug_levelBasic
|
||||
use numerics, only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
numerics_integrator
|
||||
use IO, only: &
|
||||
IO_error, &
|
||||
|
@ -181,10 +184,16 @@ subroutine constitutive_init
|
|||
if (any(phase_thermal == LOCAL_THERMAL_adiabatic_ID)) call thermal_adiabatic_init(FILEUNIT)
|
||||
close(FILEUNIT)
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- constitutive init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! write description file for constitutive phase output
|
||||
|
|
|
@ -202,6 +202,9 @@ subroutine constitutive_dislokmc_init(fileUnit)
|
|||
MATERIAL_partPhase
|
||||
use lattice
|
||||
use numerics,only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
numerics_integrator
|
||||
|
||||
implicit none
|
||||
|
@ -221,10 +224,16 @@ subroutine constitutive_dislokmc_init(fileUnit)
|
|||
line = ''
|
||||
real(pReal), dimension(:), allocatable :: tempPerSlip, tempPerTwin
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_DISLOKMC_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstance = int(count(phase_plasticity == PLASTICITY_DISLOKMC_ID),pInt)
|
||||
if (maxNinstance == 0_pInt) return
|
||||
|
|
|
@ -216,6 +216,9 @@ subroutine constitutive_dislotwin_init(fileUnit)
|
|||
MATERIAL_partPhase
|
||||
use lattice
|
||||
use numerics,only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
numerics_integrator
|
||||
|
||||
implicit none
|
||||
|
@ -235,10 +238,16 @@ subroutine constitutive_dislotwin_init(fileUnit)
|
|||
line = ''
|
||||
real(pReal), dimension(:), allocatable :: tempPerSlip, tempPerTwin, tempPerTrans
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_DISLOTWIN_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstance = int(count(phase_plasticity == PLASTICITY_DISLOTWIN_ID),pInt)
|
||||
if (maxNinstance == 0_pInt) return
|
||||
|
|
|
@ -94,6 +94,9 @@ subroutine constitutive_j2_init(fileUnit)
|
|||
debug_constitutive, &
|
||||
debug_levelBasic
|
||||
use numerics, only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
numerics_integrator
|
||||
use math, only: &
|
||||
math_Mandel3333to66, &
|
||||
|
@ -152,10 +155,16 @@ subroutine constitutive_j2_init(fileUnit)
|
|||
integer(HID_T) :: ID,ID2,ID4
|
||||
#endif
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_J2_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstance = int(count(phase_plasticity == PLASTICITY_J2_ID),pInt)
|
||||
if (maxNinstance == 0_pInt) return
|
||||
|
|
|
@ -36,6 +36,9 @@ subroutine constitutive_none_init(fileUnit)
|
|||
use IO, only: &
|
||||
IO_timeStamp
|
||||
use numerics, only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
numerics_integrator
|
||||
use material, only: &
|
||||
phase_plasticity, &
|
||||
|
@ -56,10 +59,16 @@ subroutine constitutive_none_init(fileUnit)
|
|||
sizeState, &
|
||||
sizeDotState
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_NONE_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstance = int(count(phase_plasticity == PLASTICITY_none_ID),pInt)
|
||||
if (maxNinstance == 0_pInt) return
|
||||
|
|
|
@ -300,6 +300,9 @@ use material, only: homogenization_maxNgrains, &
|
|||
material_phase
|
||||
use lattice
|
||||
use numerics,only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
numerics_integrator
|
||||
|
||||
|
||||
|
@ -337,10 +340,16 @@ integer(pInt) :: phase, &
|
|||
|
||||
integer(pInt) :: NofMyPhase
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_NONLOCAL_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstances = int(count(phase_plasticity == PLASTICITY_NONLOCAL_ID),pInt)
|
||||
if (maxNinstances == 0) return ! we don't have to do anything if there's no instance for this constitutive law
|
||||
|
|
|
@ -138,6 +138,9 @@ subroutine constitutive_phenopowerlaw_init(fileUnit)
|
|||
MATERIAL_partPhase
|
||||
use lattice
|
||||
use numerics,only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
numerics_integrator
|
||||
|
||||
implicit none
|
||||
|
@ -158,10 +161,16 @@ subroutine constitutive_phenopowerlaw_init(fileUnit)
|
|||
integer(pInt) :: NofMyPhase
|
||||
real(pReal), dimension(:), allocatable :: tempPerSlip
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_PHENOPOWERLAW_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstance = int(count(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID),pInt)
|
||||
if (maxNinstance == 0_pInt) return
|
||||
|
|
|
@ -219,6 +219,9 @@ subroutine constitutive_titanmod_init(fileUnit)
|
|||
MATERIAL_partPhase
|
||||
use lattice
|
||||
use numerics,only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
numerics_integrator
|
||||
|
||||
implicit none
|
||||
|
@ -243,10 +246,16 @@ subroutine constitutive_titanmod_init(fileUnit)
|
|||
tag = '', &
|
||||
line = ''
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_TITANMOD_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstance = int(count(phase_plasticity == PLASTICITY_TITANMOD_ID),pInt)
|
||||
if (maxNinstance == 0_pInt) return
|
||||
|
|
|
@ -141,6 +141,9 @@ subroutine crystallite_init(temperature)
|
|||
debug_crystallite, &
|
||||
debug_levelBasic
|
||||
use numerics, only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
usePingPong
|
||||
use math, only: &
|
||||
math_I3, &
|
||||
|
@ -202,10 +205,16 @@ subroutine crystallite_init(temperature)
|
|||
tag = '', &
|
||||
line= ''
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- crystallite init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
gMax = homogenization_maxNgrains
|
||||
iMax = mesh_maxNips
|
||||
|
|
|
@ -88,6 +88,9 @@ subroutine damage_brittle_init(fileUnit)
|
|||
damageState, &
|
||||
MATERIAL_partPhase
|
||||
use numerics,only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
numerics_integrator
|
||||
|
||||
implicit none
|
||||
|
@ -101,10 +104,17 @@ subroutine damage_brittle_init(fileUnit)
|
|||
character(len=65536) :: &
|
||||
tag = '', &
|
||||
line = ''
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- damage_'//LOCAL_DAMAGE_BRITTLE_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id: damage_brittle.f90 3210 2014-06-17 15:24:44Z MPIE\m.diehl $'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstance = int(count(phase_damage == LOCAL_DAMAGE_BRITTLE_ID),pInt)
|
||||
if (maxNinstance == 0_pInt) return
|
||||
|
|
|
@ -88,6 +88,9 @@ subroutine damage_ductile_init(fileUnit)
|
|||
damageState, &
|
||||
MATERIAL_partPhase
|
||||
use numerics,only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
numerics_integrator
|
||||
|
||||
implicit none
|
||||
|
@ -101,10 +104,17 @@ subroutine damage_ductile_init(fileUnit)
|
|||
character(len=65536) :: &
|
||||
tag = '', &
|
||||
line = ''
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- damage_'//LOCAL_DAMAGE_DUCTILE_LABEL//' init -+>>>'
|
||||
write(6,'(a)') ' $Id: damage_ductile.f90 3210 2014-06-17 15:24:44Z MPIE\m.diehl $'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstance = int(count(phase_damage == LOCAL_DAMAGE_DUCTILE_ID),pInt)
|
||||
if (maxNinstance == 0_pInt) return
|
||||
|
|
|
@ -36,6 +36,9 @@ subroutine damage_none_init(fileUnit)
|
|||
use IO, only: &
|
||||
IO_timeStamp
|
||||
use numerics, only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
numerics_integrator
|
||||
use material, only: &
|
||||
phase_damage, &
|
||||
|
@ -55,10 +58,18 @@ subroutine damage_none_init(fileUnit)
|
|||
NofMyPhase, &
|
||||
sizeState, &
|
||||
sizeDotState
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- damage_'//LOCAL_DAMAGE_NONE_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id: damage_none.f90 3148 2014-05-27 14:46:03Z MPIE\m.diehl $'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstance = int(count(phase_damage == LOCAL_DAMAGE_NONE_ID),pInt)
|
||||
if (maxNinstance == 0_pInt) return
|
||||
|
||||
|
|
|
@ -102,6 +102,9 @@ contains
|
|||
subroutine debug_init
|
||||
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment)
|
||||
use numerics, only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
nStress, &
|
||||
nState, &
|
||||
nCryst, &
|
||||
|
@ -129,10 +132,16 @@ subroutine debug_init
|
|||
character(len=65536) :: tag
|
||||
character(len=65536) :: line
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- debug init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
if (allocated(debug_StressLoopDistribution)) &
|
||||
deallocate(debug_StressLoopDistribution)
|
||||
|
|
|
@ -123,6 +123,10 @@ subroutine homogenization_init()
|
|||
use homogenization_isostrain
|
||||
use homogenization_RGC
|
||||
use IO
|
||||
#ifdef FEM
|
||||
use numerics, only: &
|
||||
worldrank
|
||||
#endif
|
||||
|
||||
implicit none
|
||||
integer(pInt), parameter :: FILEUNIT = 200_pInt
|
||||
|
@ -308,10 +312,17 @@ subroutine homogenization_init()
|
|||
+ 1 + constitutive_maxSizePostResults) ! constitutive size & constitutive results
|
||||
allocate(materialpoint_results(materialpoint_sizeResults,mesh_maxNips,mesh_NcpElems))
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- homogenization init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
if (iand(debug_level(debug_homogenization), debug_levelBasic) /= 0_pInt) then
|
||||
#ifdef TODO
|
||||
write(6,'(a32,1x,7(i8,1x))') 'homogenization_state0: ', shape(homogenization_state0)
|
||||
|
|
|
@ -98,6 +98,10 @@ subroutine homogenization_RGC_init(fileUnit)
|
|||
FE_geomtype
|
||||
use IO
|
||||
use material
|
||||
#ifdef FEM
|
||||
use numerics, only: &
|
||||
worldrank
|
||||
#endif
|
||||
|
||||
implicit none
|
||||
integer(pInt), intent(in) :: fileUnit !< file pointer to material configuration
|
||||
|
@ -114,10 +118,16 @@ subroutine homogenization_RGC_init(fileUnit)
|
|||
tag = '', &
|
||||
line = ''
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_RGC_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstance = int(count(homogenization_type == HOMOGENIZATION_RGC_ID),pInt)
|
||||
if (maxNinstance == 0_pInt) return
|
||||
|
|
|
@ -60,6 +60,10 @@ subroutine homogenization_isostrain_init(fileUnit)
|
|||
debug_levelBasic
|
||||
use IO
|
||||
use material
|
||||
#ifdef FEM
|
||||
use numerics, only: &
|
||||
worldrank
|
||||
#endif
|
||||
|
||||
implicit none
|
||||
integer(pInt), intent(in) :: fileUnit
|
||||
|
@ -77,10 +81,16 @@ subroutine homogenization_isostrain_init(fileUnit)
|
|||
tag = '', &
|
||||
line = ''
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_ISOSTRAIN_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstance = count(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID)
|
||||
if (maxNinstance == 0) return
|
||||
|
|
|
@ -27,16 +27,26 @@ subroutine homogenization_none_init()
|
|||
use IO, only: &
|
||||
IO_timeStamp
|
||||
use material
|
||||
#ifdef FEM
|
||||
use numerics, only: &
|
||||
worldrank
|
||||
#endif
|
||||
|
||||
implicit none
|
||||
integer(pInt) :: &
|
||||
homog, &
|
||||
NofMyHomog
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_NONE_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
initializeInstances: do homog = 1_pInt, material_Nhomogenization
|
||||
|
||||
|
|
|
@ -915,6 +915,10 @@ subroutine lattice_init
|
|||
debug_level, &
|
||||
debug_lattice, &
|
||||
debug_levelBasic
|
||||
#ifdef FEM
|
||||
use numerics, only: &
|
||||
worldrank
|
||||
#endif
|
||||
|
||||
implicit none
|
||||
integer(pInt), parameter :: FILEUNIT = 200_pInt
|
||||
|
@ -931,10 +935,16 @@ subroutine lattice_init
|
|||
aM, & !< lattice paramater a for bcc martensite
|
||||
cM !< lattice parameter c for bcc martensite
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- lattice init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! consistency checks
|
||||
|
|
|
@ -263,6 +263,10 @@ subroutine material_init
|
|||
mesh_element, &
|
||||
FE_Nips, &
|
||||
FE_geomtype
|
||||
#ifdef FEM
|
||||
use numerics, only: &
|
||||
worldrank
|
||||
#endif
|
||||
|
||||
implicit none
|
||||
integer(pInt), parameter :: FILEUNIT = 200_pInt
|
||||
|
@ -280,10 +284,16 @@ subroutine material_init
|
|||
|
||||
myDebug = debug_level(debug_material)
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- material init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
if (.not. IO_open_jobFile_stat(FILEUNIT,material_localFileExt)) & ! no local material configuration present...
|
||||
call IO_open_file(FILEUNIT,material_configFile) ! ...open material.config file
|
||||
|
|
|
@ -210,7 +210,11 @@ subroutine math_init
|
|||
|
||||
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment)
|
||||
use prec, only: tol_math_check
|
||||
use numerics, only: fixedSeed
|
||||
use numerics, only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
fixedSeed
|
||||
use IO, only: IO_error, IO_timeStamp
|
||||
|
||||
implicit none
|
||||
|
@ -224,10 +228,16 @@ subroutine math_init
|
|||
! comment the first random_seed call out, set randSize to 1, and use ifort
|
||||
character(len=64) :: error_msg
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- math init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
call random_seed(size=randSize)
|
||||
if (allocated(randInit)) deallocate(randInit)
|
||||
|
@ -246,12 +256,18 @@ subroutine math_init
|
|||
call random_number(randTest(i))
|
||||
enddo
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,*) 'size of random seed: ', randSize
|
||||
do i =1, randSize
|
||||
write(6,*) 'value of random seed: ', i, randInit(i)
|
||||
enddo
|
||||
write(6,'(a,4(/,26x,f17.14))') ' start of random sequence: ', randTest
|
||||
write(6,*) ''
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
call random_seed(put = randInit)
|
||||
|
||||
|
|
|
@ -201,10 +201,18 @@ subroutine numerics_init
|
|||
line
|
||||
!$ character(len=6) DAMASK_NumThreadsString ! environment variable DAMASK_NUM_THREADS
|
||||
|
||||
#ifdef FEM
|
||||
call MPI_Comm_rank(PETSC_COMM_WORLD,worldrank,ierr);CHKERRQ(ierr)
|
||||
call MPI_Comm_size(PETSC_COMM_WORLD,worldsize,ierr);CHKERRQ(ierr)
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- numerics init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
!$ call GET_ENVIRONMENT_VARIABLE(NAME='DAMASK_NUM_THREADS',VALUE=DAMASK_NumThreadsString,STATUS=gotDAMASK_NUM_THREADS) ! get environment variable DAMASK_NUM_THREADS...
|
||||
!$ if(gotDAMASK_NUM_THREADS /= 0) then ! could not get number of threads, set it to 1
|
||||
|
@ -216,16 +224,17 @@ subroutine numerics_init
|
|||
!$ endif
|
||||
!$ call omp_set_num_threads(DAMASK_NumThreadsInt) ! set number of threads for parallel execution
|
||||
|
||||
#ifdef FEM
|
||||
call MPI_Comm_rank(PETSC_COMM_WORLD,worldrank,ierr);CHKERRQ(ierr)
|
||||
call MPI_Comm_size(PETSC_COMM_WORLD,worldsize,ierr);CHKERRQ(ierr)
|
||||
#endif
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! try to open the config file
|
||||
fileExists: if(IO_open_file_stat(FILEUNIT,numerics_configFile)) then
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(a,/)') ' using values from config file'
|
||||
flush(6)
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! read variables from config file and overwrite default parameters if keyword is present
|
||||
|
@ -425,8 +434,14 @@ subroutine numerics_init
|
|||
close(FILEUNIT)
|
||||
|
||||
else fileExists
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(a,/)') ' using standard values'
|
||||
flush(6)
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
endif fileExists
|
||||
|
||||
#ifdef Spectral
|
||||
|
@ -447,6 +462,9 @@ subroutine numerics_init
|
|||
|
||||
numerics_timeSyncing = numerics_timeSyncing .and. all(numerics_integrator==2_pInt) ! timeSyncing only allowed for explicit Euler integrator
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! writing parameters to output
|
||||
write(6,'(a24,1x,es8.1)') ' relevantStrain: ',relevantStrain
|
||||
|
@ -547,6 +565,9 @@ subroutine numerics_init
|
|||
write(6,'(a24,1x,es8.1)') ' residualStiffness: ',residualStiffness
|
||||
write(6,'(a24,1x,a)') ' PETSc_optionsFEM: ',trim(petsc_optionsFEM)
|
||||
#endif
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! sanity checks
|
||||
|
|
|
@ -96,9 +96,18 @@ subroutine prec_init
|
|||
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment)
|
||||
|
||||
implicit none
|
||||
#ifdef FEM
|
||||
#include <finclude/petsc.h90>
|
||||
PetscInt :: worldrank
|
||||
PetscErrorCode :: ierr
|
||||
#endif
|
||||
external :: &
|
||||
quit
|
||||
|
||||
#ifdef FEM
|
||||
call MPI_Comm_rank(PETSC_COMM_WORLD,worldrank,ierr);CHKERRQ(ierr)
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- prec init -+>>>'
|
||||
write(6,'(a)') ' $Id$'
|
||||
#include "compilation_info.f90"
|
||||
|
@ -107,6 +116,9 @@ subroutine prec_init
|
|||
write(6,'(a,i3)') ' Bytes for pLongInt: ',pLongInt
|
||||
write(6,'(a,e10.3)') ' NaN: ', DAMASK_NaN
|
||||
write(6,'(a,l3,/)') ' NaN /= NaN: ',DAMASK_NaN/=DAMASK_NaN
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
if (DAMASK_NaN == DAMASK_NaN) call quit(9000)
|
||||
|
||||
|
|
|
@ -85,6 +85,9 @@ subroutine thermal_adiabatic_init(fileUnit)
|
|||
thermalState, &
|
||||
MATERIAL_partPhase
|
||||
use numerics,only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
numerics_integrator
|
||||
|
||||
implicit none
|
||||
|
@ -99,10 +102,16 @@ subroutine thermal_adiabatic_init(fileUnit)
|
|||
tag = '', &
|
||||
line = ''
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- thermal_'//LOCAL_THERMAL_ADIABATIC_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id: thermal_adiabatic.f90 3210 2014-06-17 15:24:44Z MPIE\m.diehl $'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstance = int(count(phase_thermal == LOCAL_THERMAL_adiabatic_ID),pInt)
|
||||
if (maxNinstance == 0_pInt) return
|
||||
|
|
|
@ -85,6 +85,9 @@ subroutine thermal_heatGen_init(fileUnit)
|
|||
thermalState, &
|
||||
MATERIAL_partPhase
|
||||
use numerics,only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
numerics_integrator
|
||||
|
||||
implicit none
|
||||
|
@ -99,10 +102,16 @@ subroutine thermal_heatGen_init(fileUnit)
|
|||
tag = '', &
|
||||
line = ''
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- thermal_'//LOCAL_THERMAL_HEATGEN_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id: thermal_heatGen.f90 3210 2014-06-17 15:24:44Z MPIE\m.diehl $'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstance = int(count(phase_thermal == LOCAL_THERMAL_HEATGEN_ID),pInt)
|
||||
if (maxNinstance == 0_pInt) return
|
||||
|
|
|
@ -36,6 +36,9 @@ subroutine thermal_isothermal_init(fileUnit)
|
|||
use IO, only: &
|
||||
IO_timeStamp
|
||||
use numerics, only: &
|
||||
#ifdef FEM
|
||||
worldrank, &
|
||||
#endif
|
||||
numerics_integrator
|
||||
use material, only: &
|
||||
phase_thermal, &
|
||||
|
@ -56,10 +59,16 @@ subroutine thermal_isothermal_init(fileUnit)
|
|||
sizeState, &
|
||||
sizeDotState
|
||||
|
||||
#ifdef FEM
|
||||
if (worldrank == 0) then
|
||||
#endif
|
||||
write(6,'(/,a)') ' <<<+- thermal_'//LOCAL_THERMAL_ISOTHERMAL_label//' init -+>>>'
|
||||
write(6,'(a)') ' $Id: thermal_isothermal.f90 3148 2014-05-27 14:46:03Z MPIE\m.diehl $'
|
||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
#ifdef FEM
|
||||
endif
|
||||
#endif
|
||||
|
||||
maxNinstance = int(count(phase_thermal == LOCAL_THERMAL_ISOTHERMAL_ID),pInt)
|
||||
if (maxNinstance == 0_pInt) return
|
||||
|
|
Loading…
Reference in New Issue