only output from the root processor for parallel runs

This commit is contained in:
Pratheek Shanthraj 2014-10-09 20:23:06 +00:00
parent 063508c6c1
commit c8929b47d3
28 changed files with 295 additions and 6 deletions

View File

@ -125,6 +125,9 @@ subroutine CPFEM_init
IO_timeStamp, & IO_timeStamp, &
IO_error IO_error
use numerics, only: & use numerics, only: &
#ifdef FEM
worldrank, &
#endif
DAMASK_NumThreadsInt DAMASK_NumThreadsInt
use debug, only: & use debug, only: &
debug_level, & debug_level, &
@ -157,10 +160,16 @@ subroutine CPFEM_init
implicit none implicit none
integer(pInt) :: k,l,m,ph,homog integer(pInt) :: k,l,m,ph,homog
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- CPFEM init -+>>>' write(6,'(/,a)') ' <<<+- CPFEM init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
#if defined(Marc4DAMASK) || defined(Abaqus) #if defined(Marc4DAMASK) || defined(Abaqus)
! initialize stress and jacobian to zero ! initialize stress and jacobian to zero

View File

@ -75,6 +75,10 @@ subroutine FE_init
IO_warning, & IO_warning, &
IO_timeStamp IO_timeStamp
use DAMASK_interface use DAMASK_interface
#ifdef FEM
use numerics, only: &
worldrank
#endif
implicit none implicit none
#ifndef Spectral #ifndef Spectral
@ -89,10 +93,16 @@ subroutine FE_init
#endif #endif
#endif #endif
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- FEsolving init -+>>>' write(6,'(/,a)') ' <<<+- FEsolving init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
modelName = getSolverJobName() modelName = getSolverJobName()
#ifdef Spectral #ifdef Spectral

View File

@ -102,11 +102,23 @@ contains
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
subroutine IO_init subroutine IO_init
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment) 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)') ' <<<+- IO init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
#ifdef HDF #ifdef HDF
call HDF5_createJobFile call HDF5_createJobFile

View File

@ -60,6 +60,9 @@ subroutine constitutive_init
debug_constitutive, & debug_constitutive, &
debug_levelBasic debug_levelBasic
use numerics, only: & use numerics, only: &
#ifdef FEM
worldrank, &
#endif
numerics_integrator numerics_integrator
use IO, only: & use IO, only: &
IO_error, & IO_error, &
@ -181,10 +184,16 @@ subroutine constitutive_init
if (any(phase_thermal == LOCAL_THERMAL_adiabatic_ID)) call thermal_adiabatic_init(FILEUNIT) if (any(phase_thermal == LOCAL_THERMAL_adiabatic_ID)) call thermal_adiabatic_init(FILEUNIT)
close(FILEUNIT) close(FILEUNIT)
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- constitutive init -+>>>' write(6,'(/,a)') ' <<<+- constitutive init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! write description file for constitutive phase output ! write description file for constitutive phase output

View File

@ -202,6 +202,9 @@ subroutine constitutive_dislokmc_init(fileUnit)
MATERIAL_partPhase MATERIAL_partPhase
use lattice use lattice
use numerics,only: & use numerics,only: &
#ifdef FEM
worldrank, &
#endif
numerics_integrator numerics_integrator
implicit none implicit none
@ -221,10 +224,16 @@ subroutine constitutive_dislokmc_init(fileUnit)
line = '' line = ''
real(pReal), dimension(:), allocatable :: tempPerSlip, tempPerTwin real(pReal), dimension(:), allocatable :: tempPerSlip, tempPerTwin
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_DISLOKMC_label//' init -+>>>' write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_DISLOKMC_label//' init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstance = int(count(phase_plasticity == PLASTICITY_DISLOKMC_ID),pInt) maxNinstance = int(count(phase_plasticity == PLASTICITY_DISLOKMC_ID),pInt)
if (maxNinstance == 0_pInt) return if (maxNinstance == 0_pInt) return

View File

@ -216,6 +216,9 @@ subroutine constitutive_dislotwin_init(fileUnit)
MATERIAL_partPhase MATERIAL_partPhase
use lattice use lattice
use numerics,only: & use numerics,only: &
#ifdef FEM
worldrank, &
#endif
numerics_integrator numerics_integrator
implicit none implicit none
@ -235,10 +238,16 @@ subroutine constitutive_dislotwin_init(fileUnit)
line = '' line = ''
real(pReal), dimension(:), allocatable :: tempPerSlip, tempPerTwin, tempPerTrans 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)') ' <<<+- constitutive_'//PLASTICITY_DISLOTWIN_label//' init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstance = int(count(phase_plasticity == PLASTICITY_DISLOTWIN_ID),pInt) maxNinstance = int(count(phase_plasticity == PLASTICITY_DISLOTWIN_ID),pInt)
if (maxNinstance == 0_pInt) return if (maxNinstance == 0_pInt) return

View File

@ -94,6 +94,9 @@ subroutine constitutive_j2_init(fileUnit)
debug_constitutive, & debug_constitutive, &
debug_levelBasic debug_levelBasic
use numerics, only: & use numerics, only: &
#ifdef FEM
worldrank, &
#endif
numerics_integrator numerics_integrator
use math, only: & use math, only: &
math_Mandel3333to66, & math_Mandel3333to66, &
@ -152,10 +155,16 @@ subroutine constitutive_j2_init(fileUnit)
integer(HID_T) :: ID,ID2,ID4 integer(HID_T) :: ID,ID2,ID4
#endif #endif
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_J2_label//' init -+>>>' write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_J2_label//' init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstance = int(count(phase_plasticity == PLASTICITY_J2_ID),pInt) maxNinstance = int(count(phase_plasticity == PLASTICITY_J2_ID),pInt)
if (maxNinstance == 0_pInt) return if (maxNinstance == 0_pInt) return

View File

@ -36,6 +36,9 @@ subroutine constitutive_none_init(fileUnit)
use IO, only: & use IO, only: &
IO_timeStamp IO_timeStamp
use numerics, only: & use numerics, only: &
#ifdef FEM
worldrank, &
#endif
numerics_integrator numerics_integrator
use material, only: & use material, only: &
phase_plasticity, & phase_plasticity, &
@ -56,10 +59,16 @@ subroutine constitutive_none_init(fileUnit)
sizeState, & sizeState, &
sizeDotState sizeDotState
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_NONE_label//' init -+>>>' write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_NONE_label//' init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstance = int(count(phase_plasticity == PLASTICITY_none_ID),pInt) maxNinstance = int(count(phase_plasticity == PLASTICITY_none_ID),pInt)
if (maxNinstance == 0_pInt) return if (maxNinstance == 0_pInt) return

View File

@ -300,6 +300,9 @@ use material, only: homogenization_maxNgrains, &
material_phase material_phase
use lattice use lattice
use numerics,only: & use numerics,only: &
#ifdef FEM
worldrank, &
#endif
numerics_integrator numerics_integrator
@ -337,10 +340,16 @@ integer(pInt) :: phase, &
integer(pInt) :: NofMyPhase integer(pInt) :: NofMyPhase
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_NONLOCAL_label//' init -+>>>' write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_NONLOCAL_label//' init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstances = int(count(phase_plasticity == PLASTICITY_NONLOCAL_ID),pInt) 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 if (maxNinstances == 0) return ! we don't have to do anything if there's no instance for this constitutive law

View File

@ -138,6 +138,9 @@ subroutine constitutive_phenopowerlaw_init(fileUnit)
MATERIAL_partPhase MATERIAL_partPhase
use lattice use lattice
use numerics,only: & use numerics,only: &
#ifdef FEM
worldrank, &
#endif
numerics_integrator numerics_integrator
implicit none implicit none
@ -158,10 +161,16 @@ subroutine constitutive_phenopowerlaw_init(fileUnit)
integer(pInt) :: NofMyPhase integer(pInt) :: NofMyPhase
real(pReal), dimension(:), allocatable :: tempPerSlip real(pReal), dimension(:), allocatable :: tempPerSlip
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_PHENOPOWERLAW_label//' init -+>>>' write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_PHENOPOWERLAW_label//' init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstance = int(count(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID),pInt) maxNinstance = int(count(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID),pInt)
if (maxNinstance == 0_pInt) return if (maxNinstance == 0_pInt) return

View File

@ -219,6 +219,9 @@ subroutine constitutive_titanmod_init(fileUnit)
MATERIAL_partPhase MATERIAL_partPhase
use lattice use lattice
use numerics,only: & use numerics,only: &
#ifdef FEM
worldrank, &
#endif
numerics_integrator numerics_integrator
implicit none implicit none
@ -243,10 +246,16 @@ subroutine constitutive_titanmod_init(fileUnit)
tag = '', & tag = '', &
line = '' line = ''
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_TITANMOD_label//' init -+>>>' write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_TITANMOD_label//' init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstance = int(count(phase_plasticity == PLASTICITY_TITANMOD_ID),pInt) maxNinstance = int(count(phase_plasticity == PLASTICITY_TITANMOD_ID),pInt)
if (maxNinstance == 0_pInt) return if (maxNinstance == 0_pInt) return

View File

@ -141,6 +141,9 @@ subroutine crystallite_init(temperature)
debug_crystallite, & debug_crystallite, &
debug_levelBasic debug_levelBasic
use numerics, only: & use numerics, only: &
#ifdef FEM
worldrank, &
#endif
usePingPong usePingPong
use math, only: & use math, only: &
math_I3, & math_I3, &
@ -202,10 +205,16 @@ subroutine crystallite_init(temperature)
tag = '', & tag = '', &
line= '' line= ''
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- crystallite init -+>>>' write(6,'(/,a)') ' <<<+- crystallite init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
gMax = homogenization_maxNgrains gMax = homogenization_maxNgrains
iMax = mesh_maxNips iMax = mesh_maxNips

View File

@ -88,6 +88,9 @@ subroutine damage_brittle_init(fileUnit)
damageState, & damageState, &
MATERIAL_partPhase MATERIAL_partPhase
use numerics,only: & use numerics,only: &
#ifdef FEM
worldrank, &
#endif
numerics_integrator numerics_integrator
implicit none implicit none
@ -101,10 +104,17 @@ subroutine damage_brittle_init(fileUnit)
character(len=65536) :: & character(len=65536) :: &
tag = '', & tag = '', &
line = '' line = ''
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- damage_'//LOCAL_DAMAGE_BRITTLE_label//' init -+>>>' 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,'(a)') ' $Id: damage_brittle.f90 3210 2014-06-17 15:24:44Z MPIE\m.diehl $'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstance = int(count(phase_damage == LOCAL_DAMAGE_BRITTLE_ID),pInt) maxNinstance = int(count(phase_damage == LOCAL_DAMAGE_BRITTLE_ID),pInt)
if (maxNinstance == 0_pInt) return if (maxNinstance == 0_pInt) return

View File

@ -88,6 +88,9 @@ subroutine damage_ductile_init(fileUnit)
damageState, & damageState, &
MATERIAL_partPhase MATERIAL_partPhase
use numerics,only: & use numerics,only: &
#ifdef FEM
worldrank, &
#endif
numerics_integrator numerics_integrator
implicit none implicit none
@ -101,10 +104,17 @@ subroutine damage_ductile_init(fileUnit)
character(len=65536) :: & character(len=65536) :: &
tag = '', & tag = '', &
line = '' line = ''
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- damage_'//LOCAL_DAMAGE_DUCTILE_LABEL//' init -+>>>' 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,'(a)') ' $Id: damage_ductile.f90 3210 2014-06-17 15:24:44Z MPIE\m.diehl $'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstance = int(count(phase_damage == LOCAL_DAMAGE_DUCTILE_ID),pInt) maxNinstance = int(count(phase_damage == LOCAL_DAMAGE_DUCTILE_ID),pInt)
if (maxNinstance == 0_pInt) return if (maxNinstance == 0_pInt) return

View File

@ -36,6 +36,9 @@ subroutine damage_none_init(fileUnit)
use IO, only: & use IO, only: &
IO_timeStamp IO_timeStamp
use numerics, only: & use numerics, only: &
#ifdef FEM
worldrank, &
#endif
numerics_integrator numerics_integrator
use material, only: & use material, only: &
phase_damage, & phase_damage, &
@ -55,10 +58,18 @@ subroutine damage_none_init(fileUnit)
NofMyPhase, & NofMyPhase, &
sizeState, & sizeState, &
sizeDotState sizeDotState
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- damage_'//LOCAL_DAMAGE_NONE_label//' init -+>>>' 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,'(a)') ' $Id: damage_none.f90 3148 2014-05-27 14:46:03Z MPIE\m.diehl $'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstance = int(count(phase_damage == LOCAL_DAMAGE_NONE_ID),pInt) maxNinstance = int(count(phase_damage == LOCAL_DAMAGE_NONE_ID),pInt)
if (maxNinstance == 0_pInt) return if (maxNinstance == 0_pInt) return

View File

@ -102,6 +102,9 @@ contains
subroutine debug_init 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, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment)
use numerics, only: & use numerics, only: &
#ifdef FEM
worldrank, &
#endif
nStress, & nStress, &
nState, & nState, &
nCryst, & nCryst, &
@ -129,10 +132,16 @@ subroutine debug_init
character(len=65536) :: tag character(len=65536) :: tag
character(len=65536) :: line character(len=65536) :: line
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- debug init -+>>>' write(6,'(/,a)') ' <<<+- debug init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
if (allocated(debug_StressLoopDistribution)) & if (allocated(debug_StressLoopDistribution)) &
deallocate(debug_StressLoopDistribution) deallocate(debug_StressLoopDistribution)

View File

@ -123,6 +123,10 @@ subroutine homogenization_init()
use homogenization_isostrain use homogenization_isostrain
use homogenization_RGC use homogenization_RGC
use IO use IO
#ifdef FEM
use numerics, only: &
worldrank
#endif
implicit none implicit none
integer(pInt), parameter :: FILEUNIT = 200_pInt integer(pInt), parameter :: FILEUNIT = 200_pInt
@ -308,10 +312,17 @@ subroutine homogenization_init()
+ 1 + constitutive_maxSizePostResults) ! constitutive size & constitutive results + 1 + constitutive_maxSizePostResults) ! constitutive size & constitutive results
allocate(materialpoint_results(materialpoint_sizeResults,mesh_maxNips,mesh_NcpElems)) allocate(materialpoint_results(materialpoint_sizeResults,mesh_maxNips,mesh_NcpElems))
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- homogenization init -+>>>' write(6,'(/,a)') ' <<<+- homogenization init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
if (iand(debug_level(debug_homogenization), debug_levelBasic) /= 0_pInt) then if (iand(debug_level(debug_homogenization), debug_levelBasic) /= 0_pInt) then
#ifdef TODO #ifdef TODO
write(6,'(a32,1x,7(i8,1x))') 'homogenization_state0: ', shape(homogenization_state0) write(6,'(a32,1x,7(i8,1x))') 'homogenization_state0: ', shape(homogenization_state0)

View File

@ -98,6 +98,10 @@ subroutine homogenization_RGC_init(fileUnit)
FE_geomtype FE_geomtype
use IO use IO
use material use material
#ifdef FEM
use numerics, only: &
worldrank
#endif
implicit none implicit none
integer(pInt), intent(in) :: fileUnit !< file pointer to material configuration integer(pInt), intent(in) :: fileUnit !< file pointer to material configuration
@ -114,10 +118,16 @@ subroutine homogenization_RGC_init(fileUnit)
tag = '', & tag = '', &
line = '' line = ''
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_RGC_label//' init -+>>>' write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_RGC_label//' init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstance = int(count(homogenization_type == HOMOGENIZATION_RGC_ID),pInt) maxNinstance = int(count(homogenization_type == HOMOGENIZATION_RGC_ID),pInt)
if (maxNinstance == 0_pInt) return if (maxNinstance == 0_pInt) return

View File

@ -60,6 +60,10 @@ subroutine homogenization_isostrain_init(fileUnit)
debug_levelBasic debug_levelBasic
use IO use IO
use material use material
#ifdef FEM
use numerics, only: &
worldrank
#endif
implicit none implicit none
integer(pInt), intent(in) :: fileUnit integer(pInt), intent(in) :: fileUnit
@ -77,10 +81,16 @@ subroutine homogenization_isostrain_init(fileUnit)
tag = '', & tag = '', &
line = '' line = ''
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_ISOSTRAIN_label//' init -+>>>' write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_ISOSTRAIN_label//' init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstance = count(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID) maxNinstance = count(homogenization_type == HOMOGENIZATION_ISOSTRAIN_ID)
if (maxNinstance == 0) return if (maxNinstance == 0) return

View File

@ -27,16 +27,26 @@ subroutine homogenization_none_init()
use IO, only: & use IO, only: &
IO_timeStamp IO_timeStamp
use material use material
#ifdef FEM
use numerics, only: &
worldrank
#endif
implicit none implicit none
integer(pInt) :: & integer(pInt) :: &
homog, & homog, &
NofMyHomog NofMyHomog
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_NONE_label//' init -+>>>' write(6,'(/,a)') ' <<<+- homogenization_'//HOMOGENIZATION_NONE_label//' init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
initializeInstances: do homog = 1_pInt, material_Nhomogenization initializeInstances: do homog = 1_pInt, material_Nhomogenization

View File

@ -915,6 +915,10 @@ subroutine lattice_init
debug_level, & debug_level, &
debug_lattice, & debug_lattice, &
debug_levelBasic debug_levelBasic
#ifdef FEM
use numerics, only: &
worldrank
#endif
implicit none implicit none
integer(pInt), parameter :: FILEUNIT = 200_pInt integer(pInt), parameter :: FILEUNIT = 200_pInt
@ -931,10 +935,16 @@ subroutine lattice_init
aM, & !< lattice paramater a for bcc martensite aM, & !< lattice paramater a for bcc martensite
cM !< lattice parameter c 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)') ' <<<+- lattice init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! consistency checks ! consistency checks

View File

@ -263,6 +263,10 @@ subroutine material_init
mesh_element, & mesh_element, &
FE_Nips, & FE_Nips, &
FE_geomtype FE_geomtype
#ifdef FEM
use numerics, only: &
worldrank
#endif
implicit none implicit none
integer(pInt), parameter :: FILEUNIT = 200_pInt integer(pInt), parameter :: FILEUNIT = 200_pInt
@ -280,10 +284,16 @@ subroutine material_init
myDebug = debug_level(debug_material) myDebug = debug_level(debug_material)
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- material init -+>>>' write(6,'(/,a)') ' <<<+- material init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
if (.not. IO_open_jobFile_stat(FILEUNIT,material_localFileExt)) & ! no local material configuration present... 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 call IO_open_file(FILEUNIT,material_configFile) ! ...open material.config file

View 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, 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 prec, only: tol_math_check
use numerics, only: fixedSeed use numerics, only: &
#ifdef FEM
worldrank, &
#endif
fixedSeed
use IO, only: IO_error, IO_timeStamp use IO, only: IO_error, IO_timeStamp
implicit none implicit none
@ -224,10 +228,16 @@ subroutine math_init
! comment the first random_seed call out, set randSize to 1, and use ifort ! comment the first random_seed call out, set randSize to 1, and use ifort
character(len=64) :: error_msg character(len=64) :: error_msg
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- math init -+>>>' write(6,'(/,a)') ' <<<+- math init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
call random_seed(size=randSize) call random_seed(size=randSize)
if (allocated(randInit)) deallocate(randInit) if (allocated(randInit)) deallocate(randInit)
@ -246,12 +256,18 @@ subroutine math_init
call random_number(randTest(i)) call random_number(randTest(i))
enddo enddo
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,*) 'size of random seed: ', randSize write(6,*) 'size of random seed: ', randSize
do i =1, randSize do i =1, randSize
write(6,*) 'value of random seed: ', i, randInit(i) write(6,*) 'value of random seed: ', i, randInit(i)
enddo enddo
write(6,'(a,4(/,26x,f17.14))') ' start of random sequence: ', randTest write(6,'(a,4(/,26x,f17.14))') ' start of random sequence: ', randTest
write(6,*) '' write(6,*) ''
#ifdef FEM
endif
#endif
call random_seed(put = randInit) call random_seed(put = randInit)

View File

@ -201,10 +201,18 @@ subroutine numerics_init
line line
!$ character(len=6) DAMASK_NumThreadsString ! environment variable DAMASK_NUM_THREADS !$ 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)') ' <<<+- numerics init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #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... !$ 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 !$ if(gotDAMASK_NUM_THREADS /= 0) then ! could not get number of threads, set it to 1
@ -216,16 +224,17 @@ subroutine numerics_init
!$ endif !$ endif
!$ call omp_set_num_threads(DAMASK_NumThreadsInt) ! set number of threads for parallel execution !$ 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 ! try to open the config file
fileExists: if(IO_open_file_stat(FILEUNIT,numerics_configFile)) then 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' write(6,'(a,/)') ' using values from config file'
flush(6) flush(6)
#ifdef FEM
endif
#endif
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! read variables from config file and overwrite default parameters if keyword is present ! read variables from config file and overwrite default parameters if keyword is present
@ -425,8 +434,14 @@ subroutine numerics_init
close(FILEUNIT) close(FILEUNIT)
else fileExists else fileExists
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(a,/)') ' using standard values' write(6,'(a,/)') ' using standard values'
flush(6) flush(6)
#ifdef FEM
endif
#endif
endif fileExists endif fileExists
#ifdef Spectral #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 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 ! writing parameters to output
write(6,'(a24,1x,es8.1)') ' relevantStrain: ',relevantStrain 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,es8.1)') ' residualStiffness: ',residualStiffness
write(6,'(a24,1x,a)') ' PETSc_optionsFEM: ',trim(petsc_optionsFEM) write(6,'(a24,1x,a)') ' PETSc_optionsFEM: ',trim(petsc_optionsFEM)
#endif #endif
#ifdef FEM
endif
#endif
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
! sanity checks ! sanity checks

View File

@ -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) use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment)
implicit none implicit none
#ifdef FEM
#include <finclude/petsc.h90>
PetscInt :: worldrank
PetscErrorCode :: ierr
#endif
external :: & external :: &
quit 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)') ' <<<+- prec init -+>>>'
write(6,'(a)') ' $Id$' write(6,'(a)') ' $Id$'
#include "compilation_info.f90" #include "compilation_info.f90"
@ -107,6 +116,9 @@ subroutine prec_init
write(6,'(a,i3)') ' Bytes for pLongInt: ',pLongInt write(6,'(a,i3)') ' Bytes for pLongInt: ',pLongInt
write(6,'(a,e10.3)') ' NaN: ', DAMASK_NaN write(6,'(a,e10.3)') ' NaN: ', DAMASK_NaN
write(6,'(a,l3,/)') ' NaN /= NaN: ',DAMASK_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) if (DAMASK_NaN == DAMASK_NaN) call quit(9000)

View File

@ -85,6 +85,9 @@ subroutine thermal_adiabatic_init(fileUnit)
thermalState, & thermalState, &
MATERIAL_partPhase MATERIAL_partPhase
use numerics,only: & use numerics,only: &
#ifdef FEM
worldrank, &
#endif
numerics_integrator numerics_integrator
implicit none implicit none
@ -99,10 +102,16 @@ subroutine thermal_adiabatic_init(fileUnit)
tag = '', & tag = '', &
line = '' line = ''
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- thermal_'//LOCAL_THERMAL_ADIABATIC_label//' init -+>>>' 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,'(a)') ' $Id: thermal_adiabatic.f90 3210 2014-06-17 15:24:44Z MPIE\m.diehl $'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstance = int(count(phase_thermal == LOCAL_THERMAL_adiabatic_ID),pInt) maxNinstance = int(count(phase_thermal == LOCAL_THERMAL_adiabatic_ID),pInt)
if (maxNinstance == 0_pInt) return if (maxNinstance == 0_pInt) return

View File

@ -85,6 +85,9 @@ subroutine thermal_heatGen_init(fileUnit)
thermalState, & thermalState, &
MATERIAL_partPhase MATERIAL_partPhase
use numerics,only: & use numerics,only: &
#ifdef FEM
worldrank, &
#endif
numerics_integrator numerics_integrator
implicit none implicit none
@ -99,10 +102,16 @@ subroutine thermal_heatGen_init(fileUnit)
tag = '', & tag = '', &
line = '' line = ''
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- thermal_'//LOCAL_THERMAL_HEATGEN_label//' init -+>>>' 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,'(a)') ' $Id: thermal_heatGen.f90 3210 2014-06-17 15:24:44Z MPIE\m.diehl $'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstance = int(count(phase_thermal == LOCAL_THERMAL_HEATGEN_ID),pInt) maxNinstance = int(count(phase_thermal == LOCAL_THERMAL_HEATGEN_ID),pInt)
if (maxNinstance == 0_pInt) return if (maxNinstance == 0_pInt) return

View File

@ -36,6 +36,9 @@ subroutine thermal_isothermal_init(fileUnit)
use IO, only: & use IO, only: &
IO_timeStamp IO_timeStamp
use numerics, only: & use numerics, only: &
#ifdef FEM
worldrank, &
#endif
numerics_integrator numerics_integrator
use material, only: & use material, only: &
phase_thermal, & phase_thermal, &
@ -56,10 +59,16 @@ subroutine thermal_isothermal_init(fileUnit)
sizeState, & sizeState, &
sizeDotState sizeDotState
#ifdef FEM
if (worldrank == 0) then
#endif
write(6,'(/,a)') ' <<<+- thermal_'//LOCAL_THERMAL_ISOTHERMAL_label//' init -+>>>' 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,'(a)') ' $Id: thermal_isothermal.f90 3148 2014-05-27 14:46:03Z MPIE\m.diehl $'
write(6,'(a15,a)') ' Current time: ',IO_timeStamp() write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
#include "compilation_info.f90" #include "compilation_info.f90"
#ifdef FEM
endif
#endif
maxNinstance = int(count(phase_thermal == LOCAL_THERMAL_ISOTHERMAL_ID),pInt) maxNinstance = int(count(phase_thermal == LOCAL_THERMAL_ISOTHERMAL_ID),pInt)
if (maxNinstance == 0_pInt) return if (maxNinstance == 0_pInt) return