wrong counting
currently quite ugly, but planned changes for state structure will give overcome this
This commit is contained in:
parent
083fdb13b4
commit
3f87a87a4e
|
@ -13,6 +13,7 @@ module plastic_disloUCLA
|
|||
use material
|
||||
use config
|
||||
use lattice
|
||||
use discretization
|
||||
use results
|
||||
|
||||
implicit none
|
||||
|
@ -295,7 +296,7 @@ subroutine plastic_disloUCLA_init()
|
|||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! allocate state arrays
|
||||
NipcMyPhase = count(material_phaseMemberAt == p)
|
||||
NipcMyPhase = count(material_phaseAt == p) * discretization_nIP
|
||||
sizeDotState = size(['rho_mob ','rho_dip ','gamma_sl']) * prm%sum_N_sl
|
||||
sizeState = sizeDotState
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@ module plastic_dislotwin
|
|||
use material
|
||||
use config
|
||||
use lattice
|
||||
use discretization
|
||||
#if defined(PETSc) || defined(DAMASK_HDF5)
|
||||
use results
|
||||
#endif
|
||||
|
@ -503,7 +504,7 @@ subroutine plastic_dislotwin_init
|
|||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! allocate state arrays
|
||||
NipcMyPhase = count(material_phaseMemberAt == p)
|
||||
NipcMyPhase = count(material_phaseAt == p) * discretization_nIP
|
||||
sizeDotState = size(['rho_mob ','rho_dip ','gamma_sl']) * prm%sum_N_sl &
|
||||
+ size(['f_tw']) * prm%sum_N_tw &
|
||||
+ size(['f_tr']) * prm%sum_N_tr
|
||||
|
|
|
@ -14,9 +14,8 @@ module plastic_isotropic
|
|||
use IO
|
||||
use material
|
||||
use config
|
||||
#if defined(PETSc) || defined(DAMASK_HDF5)
|
||||
use discretization
|
||||
use results
|
||||
#endif
|
||||
|
||||
implicit none
|
||||
private
|
||||
|
@ -190,7 +189,7 @@ subroutine plastic_isotropic_init
|
|||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! allocate state arrays
|
||||
NipcMyPhase = count(material_phaseMemberAt == p)
|
||||
NipcMyPhase = count(material_phaseAt == p) * discretization_nIP
|
||||
sizeDotState = size(['xi ','accumulated_shear'])
|
||||
sizeState = sizeDotState
|
||||
|
||||
|
|
|
@ -13,9 +13,8 @@ module plastic_kinehardening
|
|||
use material
|
||||
use config
|
||||
use lattice
|
||||
#if defined(PETSc) || defined(DAMASK_HDF5)
|
||||
use discretization
|
||||
use results
|
||||
#endif
|
||||
|
||||
implicit none
|
||||
private
|
||||
|
@ -257,7 +256,7 @@ subroutine plastic_kinehardening_init
|
|||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! allocate state arrays
|
||||
NipcMyPhase = count(material_phaseMemberAt == p)
|
||||
NipcMyPhase = count(material_phaseAt == p) * discretization_nIP
|
||||
sizeDotState = size(['crss ','crss_back', 'accshear ']) * prm%totalNslip
|
||||
sizeDeltaState = size(['sense ', 'chi0 ', 'gamma0' ]) * prm%totalNslip
|
||||
sizeState = sizeDotState + sizeDeltaState
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
!--------------------------------------------------------------------------------------------------
|
||||
module plastic_none
|
||||
use material
|
||||
use discretization
|
||||
use debug
|
||||
|
||||
implicit none
|
||||
|
@ -36,7 +37,7 @@ subroutine plastic_none_init
|
|||
do p = 1, size(phase_plasticity)
|
||||
if (phase_plasticity(p) /= PLASTICITY_NONE_ID) cycle
|
||||
|
||||
NipcMyPhase = count(material_phaseMemberAt == p)
|
||||
NipcMyPhase = count(material_phaseAt == p) * discretization_nIP
|
||||
call material_allocatePlasticState(p,NipcMyPhase,0,0,0, &
|
||||
0,0,0)
|
||||
plasticState(p)%sizePostResults = 0
|
||||
|
|
|
@ -556,7 +556,7 @@ subroutine plastic_nonlocal_init
|
|||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! allocate state arrays
|
||||
NofMyPhase=count(material_phaseMemberAt==p)
|
||||
NofMyPhase = count(material_phaseAt==p) * discretization_nIP
|
||||
sizeDotState = size([ 'rhoSglEdgePosMobile ','rhoSglEdgeNegMobile ', &
|
||||
'rhoSglScrewPosMobile ','rhoSglScrewNegMobile ', &
|
||||
'rhoSglEdgePosImmobile ','rhoSglEdgeNegImmobile ', &
|
||||
|
@ -677,7 +677,7 @@ subroutine plastic_nonlocal_init
|
|||
allocate(iD(maxval(totalNslip),2,maxNinstances), source=0)
|
||||
|
||||
initializeInstances: do p = 1, size(phase_plasticity)
|
||||
NofMyPhase=count(material_phaseMemberAt==p)
|
||||
NofMyPhase = count(material_phaseAt==p) * discretization_nIP
|
||||
myPhase2: if (phase_plasticity(p) == PLASTICITY_NONLOCAL_ID) then
|
||||
|
||||
!*** determine indices to state array
|
||||
|
|
|
@ -12,9 +12,8 @@ module plastic_phenopowerlaw
|
|||
use material
|
||||
use config
|
||||
use lattice
|
||||
#if defined(PETSc) || defined(DAMASK_HDF5)
|
||||
use discretization
|
||||
use results
|
||||
#endif
|
||||
|
||||
implicit none
|
||||
private
|
||||
|
@ -314,7 +313,7 @@ subroutine plastic_phenopowerlaw_init
|
|||
|
||||
!--------------------------------------------------------------------------------------------------
|
||||
! allocate state arrays
|
||||
NipcMyPhase = count(material_phaseMemberAt == p)
|
||||
NipcMyPhase = count(material_phaseAt == p) * discretization_nIP
|
||||
sizeDotState = size(['tau_slip ','gamma_slip']) * prm%totalNslip &
|
||||
+ size(['tau_twin ','gamma_twin']) * prm%totalNtwin
|
||||
sizeState = sizeDotState
|
||||
|
|
|
@ -10,6 +10,7 @@ module source_damage_anisoBrittle
|
|||
use IO
|
||||
use math
|
||||
use material
|
||||
use discretization
|
||||
use config
|
||||
use lattice
|
||||
|
||||
|
@ -164,7 +165,7 @@ subroutine source_damage_anisoBrittle_init
|
|||
end associate
|
||||
|
||||
phase = p
|
||||
NofMyPhase=count(material_phaseMemberAt==phase)
|
||||
NofMyPhase=count(material_phaseAt==phase) * discretization_nIP
|
||||
instance = source_damage_anisoBrittle_instance(phase)
|
||||
sourceOffset = source_damage_anisoBrittle_offset(phase)
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ module source_damage_anisoDuctile
|
|||
use debug
|
||||
use IO
|
||||
use math
|
||||
use discretization
|
||||
use material
|
||||
use config
|
||||
|
||||
|
@ -150,7 +151,7 @@ subroutine source_damage_anisoDuctile_init
|
|||
|
||||
phase = p
|
||||
|
||||
NofMyPhase=count(material_phaseMemberAt==phase)
|
||||
NofMyPhase=count(material_phaseAt==phase) * discretization_nIP
|
||||
instance = source_damage_anisoDuctile_instance(phase)
|
||||
sourceOffset = source_damage_anisoDuctile_offset(phase)
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ module source_damage_isoBrittle
|
|||
use debug
|
||||
use IO
|
||||
use math
|
||||
use discretization
|
||||
use material
|
||||
use config
|
||||
|
||||
|
@ -133,7 +134,7 @@ subroutine source_damage_isoBrittle_init
|
|||
|
||||
phase = p
|
||||
|
||||
NofMyPhase=count(material_phaseMemberAt==phase)
|
||||
NofMyPhase = count(material_phaseAt==phase) * discretization_nIP
|
||||
instance = source_damage_isoBrittle_instance(phase)
|
||||
sourceOffset = source_damage_isoBrittle_offset(phase)
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ module source_damage_isoDuctile
|
|||
use prec
|
||||
use debug
|
||||
use IO
|
||||
use discretization
|
||||
use material
|
||||
use config
|
||||
|
||||
|
@ -132,7 +133,7 @@ subroutine source_damage_isoDuctile_init
|
|||
end associate
|
||||
|
||||
phase = p
|
||||
NofMyPhase=count(material_phaseMemberAt==phase)
|
||||
NofMyPhase=count(material_phaseAt==phase) * discretization_nIP
|
||||
instance = source_damage_isoDuctile_instance(phase)
|
||||
sourceOffset = source_damage_isoDuctile_offset(phase)
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
module source_thermal_dissipation
|
||||
use prec
|
||||
use debug
|
||||
use discretization
|
||||
use material
|
||||
use config
|
||||
|
||||
|
@ -75,7 +76,7 @@ subroutine source_thermal_dissipation_init
|
|||
if (all(phase_source(:,p) /= SOURCE_THERMAL_DISSIPATION_ID)) cycle
|
||||
instance = source_thermal_dissipation_instance(p)
|
||||
param(instance)%kappa = config_phase(p)%getFloat('dissipation_coldworkcoeff')
|
||||
NofMyPhase=count(material_phaseMemberAt==p)
|
||||
NofMyPhase = count(material_phaseAt==p) * discretization_nIP
|
||||
sourceOffset = source_thermal_dissipation_offset(p)
|
||||
|
||||
call material_allocateSourceState(p,sourceOffset,NofMyPhase,0,0,0)
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
module source_thermal_externalheat
|
||||
use prec
|
||||
use debug
|
||||
use discretization
|
||||
use material
|
||||
use config
|
||||
|
||||
|
@ -83,7 +84,7 @@ subroutine source_thermal_externalheat_init
|
|||
if (all(phase_source(:,p) /= SOURCE_thermal_externalheat_ID)) cycle
|
||||
instance = source_thermal_externalheat_instance(p)
|
||||
sourceOffset = source_thermal_externalheat_offset(p)
|
||||
NofMyPhase=count(material_phaseMemberAt==p)
|
||||
NofMyPhase = count(material_phaseAt==p) * discretization_nIP
|
||||
|
||||
param(instance)%time = config_phase(p)%getFloats('externalheat_time')
|
||||
param(instance)%nIntervals = size(param(instance)%time) - 1
|
||||
|
|
Loading…
Reference in New Issue