Merge branch 'development' into 36-faster-file-handling-for-material-config-use-stream-access-instead-of-line-wise-reading
This commit is contained in:
commit
386c3e7797
2
PRIVATE
2
PRIVATE
|
@ -1 +1 @@
|
||||||
Subproject commit 38c969591a4c22b6a17f8815e294874b55191cef
|
Subproject commit 3d5f71743d97eadb4b7ec3d110fe86bf1d6d83d6
|
|
@ -277,5 +277,16 @@ class Material():
|
||||||
self.data[part.lower()][section.lower()][key.lower()] = value
|
self.data[part.lower()][section.lower()][key.lower()] = value
|
||||||
if newlen is not oldlen:
|
if newlen is not oldlen:
|
||||||
print('Length of value was changed from %i to %i!'%(oldlen,newlen))
|
print('Length of value was changed from %i to %i!'%(oldlen,newlen))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def add_value(self, part=None,
|
||||||
|
section=None,
|
||||||
|
key=None,
|
||||||
|
value=None):
|
||||||
|
if not isinstance(value,list):
|
||||||
|
if not isinstance(value,str):
|
||||||
|
value = '%s'%value
|
||||||
|
value = [value]
|
||||||
|
print('adding %s:%s:%s with value %s '%(part.lower(),section.lower(),key.lower(),value))
|
||||||
|
self.data[part.lower()][section.lower()][key.lower()] = value
|
||||||
|
self.data[part.lower()][section.lower()]['__order__'] += [key.lower()]
|
||||||
|
|
|
@ -160,7 +160,7 @@ subroutine constitutive_init()
|
||||||
! parse plasticities from config file
|
! parse plasticities from config file
|
||||||
if (any(phase_plasticity == PLASTICITY_NONE_ID)) call plastic_none_init
|
if (any(phase_plasticity == PLASTICITY_NONE_ID)) call plastic_none_init
|
||||||
if (any(phase_plasticity == PLASTICITY_ISOTROPIC_ID)) call plastic_isotropic_init
|
if (any(phase_plasticity == PLASTICITY_ISOTROPIC_ID)) call plastic_isotropic_init
|
||||||
if (any(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID)) call plastic_phenopowerlaw_init(FILEUNIT)
|
if (any(phase_plasticity == PLASTICITY_PHENOPOWERLAW_ID)) call plastic_phenopowerlaw_init
|
||||||
if (any(phase_plasticity == PLASTICITY_KINEHARDENING_ID)) call plastic_kinehardening_init(FILEUNIT)
|
if (any(phase_plasticity == PLASTICITY_KINEHARDENING_ID)) call plastic_kinehardening_init(FILEUNIT)
|
||||||
if (any(phase_plasticity == PLASTICITY_DISLOTWIN_ID)) call plastic_dislotwin_init(FILEUNIT)
|
if (any(phase_plasticity == PLASTICITY_DISLOTWIN_ID)) call plastic_dislotwin_init(FILEUNIT)
|
||||||
if (any(phase_plasticity == PLASTICITY_DISLOUCLA_ID)) call plastic_disloucla_init(FILEUNIT)
|
if (any(phase_plasticity == PLASTICITY_DISLOUCLA_ID)) call plastic_disloucla_init(FILEUNIT)
|
||||||
|
|
|
@ -379,6 +379,9 @@ pure function math_expand(what,how)
|
||||||
real(pReal), dimension(sum(how)) :: math_expand
|
real(pReal), dimension(sum(how)) :: math_expand
|
||||||
integer(pInt) :: i
|
integer(pInt) :: i
|
||||||
|
|
||||||
|
if (sum(how) == 0_pInt) &
|
||||||
|
return
|
||||||
|
|
||||||
do i = 1_pInt, size(how)
|
do i = 1_pInt, size(how)
|
||||||
math_expand(sum(how(1:i-1))+1:sum(how(1:i))) = what(mod(i-1_pInt,size(what))+1_pInt)
|
math_expand(sum(how(1:i-1))+1:sum(how(1:i))) = what(mod(i-1_pInt,size(what))+1_pInt)
|
||||||
enddo
|
enddo
|
||||||
|
|
|
@ -4,16 +4,9 @@
|
||||||
!> @brief material subroutine for purely elastic material
|
!> @brief material subroutine for purely elastic material
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module plastic_none
|
module plastic_none
|
||||||
use prec, only: &
|
|
||||||
pInt
|
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
private
|
private
|
||||||
integer(pInt), dimension(:), allocatable, public, protected :: &
|
|
||||||
plastic_none_sizePostResults
|
|
||||||
|
|
||||||
integer(pInt), dimension(:,:), allocatable, target, public :: &
|
|
||||||
plastic_none_sizePostResult !< size of each post result output
|
|
||||||
|
|
||||||
public :: &
|
public :: &
|
||||||
plastic_none_init
|
plastic_none_init
|
||||||
|
@ -31,6 +24,8 @@ subroutine plastic_none_init
|
||||||
compiler_version, &
|
compiler_version, &
|
||||||
compiler_options
|
compiler_options
|
||||||
#endif
|
#endif
|
||||||
|
use prec, only: &
|
||||||
|
pInt
|
||||||
use debug, only: &
|
use debug, only: &
|
||||||
debug_level, &
|
debug_level, &
|
||||||
debug_constitutive, &
|
debug_constitutive, &
|
||||||
|
@ -51,18 +46,13 @@ subroutine plastic_none_init
|
||||||
integer(pInt) :: &
|
integer(pInt) :: &
|
||||||
maxNinstance, &
|
maxNinstance, &
|
||||||
phase, &
|
phase, &
|
||||||
NofMyPhase, &
|
NofMyPhase
|
||||||
sizeState, &
|
|
||||||
sizeDotState, &
|
|
||||||
sizeDeltaState
|
|
||||||
|
|
||||||
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_NONE_label//' init -+>>>'
|
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_NONE_label//' init -+>>>'
|
||||||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||||
#include "compilation_info.f90"
|
#include "compilation_info.f90"
|
||||||
|
|
||||||
maxNinstance = int(count(phase_plasticity == PLASTICITY_none_ID),pInt)
|
maxNinstance = int(count(phase_plasticity == PLASTICITY_none_ID),pInt)
|
||||||
if (maxNinstance == 0_pInt) return
|
|
||||||
|
|
||||||
if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0_pInt) &
|
if (iand(debug_level(debug_constitutive),debug_levelBasic) /= 0_pInt) &
|
||||||
write(6,'(a16,1x,i5,/)') '# instances:',maxNinstance
|
write(6,'(a16,1x,i5,/)') '# instances:',maxNinstance
|
||||||
|
|
||||||
|
@ -70,37 +60,25 @@ subroutine plastic_none_init
|
||||||
if (phase_plasticity(phase) == PLASTICITY_none_ID) then
|
if (phase_plasticity(phase) == PLASTICITY_none_ID) then
|
||||||
NofMyPhase=count(material_phase==phase)
|
NofMyPhase=count(material_phase==phase)
|
||||||
|
|
||||||
sizeState = 0_pInt
|
allocate(plasticState(phase)%aTolState (0_pInt))
|
||||||
plasticState(phase)%sizeState = sizeState
|
allocate(plasticState(phase)%state0 (0_pInt,NofMyPhase))
|
||||||
sizeDotState = sizeState
|
allocate(plasticState(phase)%partionedState0 (0_pInt,NofMyPhase))
|
||||||
plasticState(phase)%sizeDotState = sizeDotState
|
allocate(plasticState(phase)%subState0 (0_pInt,NofMyPhase))
|
||||||
sizeDeltaState = 0_pInt
|
allocate(plasticState(phase)%state (0_pInt,NofMyPhase))
|
||||||
plasticState(phase)%sizeDeltaState = sizeDeltaState
|
|
||||||
plasticState(phase)%sizePostResults = 0_pInt
|
|
||||||
plasticState(phase)%nSlip = 0_pInt
|
|
||||||
plasticState(phase)%nTwin = 0_pInt
|
|
||||||
plasticState(phase)%nTrans = 0_pInt
|
|
||||||
allocate(plasticState(phase)%aTolState (sizeState))
|
|
||||||
allocate(plasticState(phase)%state0 (sizeState,NofMyPhase))
|
|
||||||
allocate(plasticState(phase)%partionedState0 (sizeState,NofMyPhase))
|
|
||||||
allocate(plasticState(phase)%subState0 (sizeState,NofMyPhase))
|
|
||||||
allocate(plasticState(phase)%state (sizeState,NofMyPhase))
|
|
||||||
|
|
||||||
allocate(plasticState(phase)%dotState (sizeDotState,NofMyPhase))
|
allocate(plasticState(phase)%dotState (0_pInt,NofMyPhase))
|
||||||
allocate(plasticState(phase)%deltaState (sizeDeltaState,NofMyPhase))
|
allocate(plasticState(phase)%deltaState (0_pInt,NofMyPhase))
|
||||||
if (any(numerics_integrator == 1_pInt)) then
|
if (any(numerics_integrator == 1_pInt)) then
|
||||||
allocate(plasticState(phase)%previousDotState (sizeDotState,NofMyPhase))
|
allocate(plasticState(phase)%previousDotState (0_pInt,NofMyPhase))
|
||||||
allocate(plasticState(phase)%previousDotState2(sizeDotState,NofMyPhase))
|
allocate(plasticState(phase)%previousDotState2(0_pInt,NofMyPhase))
|
||||||
endif
|
endif
|
||||||
if (any(numerics_integrator == 4_pInt)) &
|
if (any(numerics_integrator == 4_pInt)) &
|
||||||
allocate(plasticState(phase)%RK4dotState (sizeDotState,NofMyPhase))
|
allocate(plasticState(phase)%RK4dotState (0_pInt,NofMyPhase))
|
||||||
if (any(numerics_integrator == 5_pInt)) &
|
if (any(numerics_integrator == 5_pInt)) &
|
||||||
allocate(plasticState(phase)%RKCK45dotState (6,sizeDotState,NofMyPhase))
|
allocate(plasticState(phase)%RKCK45dotState (6,0_pInt,NofMyPhase))
|
||||||
endif
|
endif
|
||||||
enddo initializeInstances
|
enddo initializeInstances
|
||||||
|
|
||||||
allocate(plastic_none_sizePostResults(maxNinstance), source=0_pInt)
|
|
||||||
|
|
||||||
end subroutine plastic_none_init
|
end subroutine plastic_none_init
|
||||||
|
|
||||||
end module plastic_none
|
end module plastic_none
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue