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_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
|
||||||
|
|
|
@ -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
|
||||||
|
|
12
code/IO.f90
12
code/IO.f90
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue