Merge branch 'development' into DisloUCLA-Names-as-in-paper
This commit is contained in:
commit
ad563b99a8
2
PRIVATE
2
PRIVATE
|
@ -1 +1 @@
|
||||||
Subproject commit 5272b99b734600fbd1538b32fbcbbbb5e3dbcd30
|
Subproject commit d81a446bdfaa2bc3c939e802c50a5fd8f2fb38e3
|
|
@ -11,8 +11,8 @@ patch -p1 < installation/patch/nameOfPatch
|
||||||
|
|
||||||
## Available patches
|
## Available patches
|
||||||
|
|
||||||
* **fwbw_derivative** switches the default spatial derivative from continuous to forward/backward difference.
|
* **disable_HDF5** disables all HDF5 output.
|
||||||
This generally reduces spurious oscillations in the result as the spatial accuracy of the derivative is then compatible with the underlying solution grid.
|
HDF5 output is an experimental feature. Also, some routines not present in HDF5 1.8.x are remove to allow compilation of DAMASK with HDF5 < 1.10.x
|
||||||
|
|
||||||
## Create patch
|
## Create patch
|
||||||
commit your changes
|
commit your changes
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
diff --git a/src/DAMASK_grid.f90 b/src/DAMASK_grid.f90
|
||||||
|
index 496bfd0d..7b0f499c 100644
|
||||||
|
--- a/src/DAMASK_grid.f90
|
||||||
|
+++ b/src/DAMASK_grid.f90
|
||||||
|
@@ -75,7 +75,6 @@ program DAMASK_spectral
|
||||||
|
use grid_mech_spectral_polarisation
|
||||||
|
use grid_damage_spectral
|
||||||
|
use grid_thermal_spectral
|
||||||
|
- use results
|
||||||
|
|
||||||
|
implicit none
|
||||||
|
|
||||||
|
@@ -153,8 +152,6 @@ program DAMASK_spectral
|
||||||
|
write(6,'(/,a)') ' Shanthraj et al., Handbook of Mechanics of Materials, 2019'
|
||||||
|
write(6,'(a)') ' https://doi.org/10.1007/978-981-10-6855-3_80'
|
||||||
|
|
||||||
|
- call results_openJobFile()
|
||||||
|
- call results_closeJobFile()
|
||||||
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
! initialize field solver information
|
||||||
|
nActiveFields = 1
|
||||||
|
@@ -595,7 +592,6 @@ program DAMASK_spectral
|
||||||
|
if(ierr /=0_pInt) call IO_error(894_pInt, ext_msg='MPI_file_write')
|
||||||
|
enddo
|
||||||
|
fileOffset = fileOffset + sum(outputSize) ! forward to current file position
|
||||||
|
- call CPFEM_results(totalIncsCounter,time)
|
||||||
|
endif
|
||||||
|
if ( loadCases(currentLoadCase)%restartFrequency > 0_pInt & ! writing of restart info requested ...
|
||||||
|
.and. mod(inc,loadCases(currentLoadCase)%restartFrequency) == 0_pInt) then ! ... and at frequency of writing restart information
|
||||||
|
diff --git a/src/HDF5_utilities.f90 b/src/HDF5_utilities.f90
|
||||||
|
index a81aaee0..3d3cdee3 100644
|
||||||
|
--- a/src/HDF5_utilities.f90
|
||||||
|
+++ b/src/HDF5_utilities.f90
|
||||||
|
@@ -197,7 +197,6 @@ integer(HID_T) function HDF5_addGroup(fileHandle,groupName)
|
||||||
|
!-------------------------------------------------------------------------------------------------
|
||||||
|
! setting I/O mode to collective
|
||||||
|
#ifdef PETSc
|
||||||
|
- call h5pset_all_coll_metadata_ops_f(aplist_id, .true., hdferr)
|
||||||
|
if (hdferr < 0) call IO_error(1_pInt,ext_msg = 'HDF5_addGroup: h5pset_all_coll_metadata_ops_f ('//trim(groupName)//')')
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -232,7 +231,6 @@ integer(HID_T) function HDF5_openGroup(fileHandle,groupName)
|
||||||
|
!-------------------------------------------------------------------------------------------------
|
||||||
|
! setting I/O mode to collective
|
||||||
|
#ifdef PETSc
|
||||||
|
- call h5pget_all_coll_metadata_ops_f(aplist_id, is_collective, hdferr)
|
||||||
|
if (hdferr < 0) call IO_error(1_pInt,ext_msg = 'HDF5_openGroup: h5pset_all_coll_metadata_ops_f ('//trim(groupName)//')')
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -1646,7 +1644,6 @@ subroutine initialize_read(dset_id, filespace_id, memspace_id, plist_id, aplist_
|
||||||
|
call h5pcreate_f(H5P_DATASET_ACCESS_F, aplist_id, hdferr)
|
||||||
|
if (hdferr < 0) call IO_error(1_pInt,ext_msg='initialize_read: h5pcreate_f')
|
||||||
|
#ifdef PETSc
|
||||||
|
- call h5pset_all_coll_metadata_ops_f(aplist_id, .true., hdferr)
|
||||||
|
if (hdferr < 0) call IO_error(1_pInt,ext_msg='initialize_read: h5pset_all_coll_metadata_ops_f')
|
||||||
|
#endif
|
||||||
|
|
|
@ -1042,40 +1042,34 @@ function constitutive_postResults(S, Fi, ipc, ip, el)
|
||||||
startPos = 1_pInt
|
startPos = 1_pInt
|
||||||
endPos = plasticState(material_phase(ipc,ip,el))%sizePostResults
|
endPos = plasticState(material_phase(ipc,ip,el))%sizePostResults
|
||||||
|
|
||||||
|
of = phasememberAt(ipc,ip,el)
|
||||||
|
instance = phase_plasticityInstance(material_phase(ipc,ip,el))
|
||||||
|
|
||||||
plasticityType: select case (phase_plasticity(material_phase(ipc,ip,el)))
|
plasticityType: select case (phase_plasticity(material_phase(ipc,ip,el)))
|
||||||
case (PLASTICITY_ISOTROPIC_ID) plasticityType
|
case (PLASTICITY_ISOTROPIC_ID) plasticityType
|
||||||
of = phasememberAt(ipc,ip,el)
|
|
||||||
instance = phase_plasticityInstance(material_phase(ipc,ip,el))
|
|
||||||
constitutive_postResults(startPos:endPos) = &
|
constitutive_postResults(startPos:endPos) = &
|
||||||
plastic_isotropic_postResults(Mp,instance,of)
|
plastic_isotropic_postResults(Mp,instance,of)
|
||||||
|
|
||||||
case (PLASTICITY_PHENOPOWERLAW_ID) plasticityType
|
case (PLASTICITY_PHENOPOWERLAW_ID) plasticityType
|
||||||
of = phasememberAt(ipc,ip,el)
|
|
||||||
instance = phase_plasticityInstance(material_phase(ipc,ip,el))
|
|
||||||
constitutive_postResults(startPos:endPos) = &
|
constitutive_postResults(startPos:endPos) = &
|
||||||
plastic_phenopowerlaw_postResults(Mp,instance,of)
|
plastic_phenopowerlaw_postResults(Mp,instance,of)
|
||||||
|
|
||||||
case (PLASTICITY_KINEHARDENING_ID) plasticityType
|
case (PLASTICITY_KINEHARDENING_ID) plasticityType
|
||||||
of = phasememberAt(ipc,ip,el)
|
|
||||||
instance = phase_plasticityInstance(material_phase(ipc,ip,el))
|
|
||||||
constitutive_postResults(startPos:endPos) = &
|
constitutive_postResults(startPos:endPos) = &
|
||||||
plastic_kinehardening_postResults(Mp,instance,of)
|
plastic_kinehardening_postResults(Mp,instance,of)
|
||||||
|
|
||||||
case (PLASTICITY_DISLOTWIN_ID) plasticityType
|
case (PLASTICITY_DISLOTWIN_ID) plasticityType
|
||||||
of = phasememberAt(ipc,ip,el)
|
|
||||||
instance = phase_plasticityInstance(material_phase(ipc,ip,el))
|
|
||||||
constitutive_postResults(startPos:endPos) = &
|
constitutive_postResults(startPos:endPos) = &
|
||||||
plastic_dislotwin_postResults(Mp,temperature(ho)%p(tme),instance,of)
|
plastic_dislotwin_postResults(Mp,temperature(ho)%p(tme),instance,of)
|
||||||
|
|
||||||
case (PLASTICITY_DISLOUCLA_ID) plasticityType
|
case (PLASTICITY_DISLOUCLA_ID) plasticityType
|
||||||
of = phasememberAt(ipc,ip,el)
|
|
||||||
instance = phase_plasticityInstance(material_phase(ipc,ip,el))
|
|
||||||
constitutive_postResults(startPos:endPos) = &
|
constitutive_postResults(startPos:endPos) = &
|
||||||
plastic_disloucla_postResults(Mp,temperature(ho)%p(tme),instance,of)
|
plastic_disloucla_postResults(Mp,temperature(ho)%p(tme),instance,of)
|
||||||
|
|
||||||
case (PLASTICITY_NONLOCAL_ID) plasticityType
|
case (PLASTICITY_NONLOCAL_ID) plasticityType
|
||||||
constitutive_postResults(startPos:endPos) = &
|
constitutive_postResults(startPos:endPos) = &
|
||||||
plastic_nonlocal_postResults (Mp,ip,el)
|
plastic_nonlocal_postResults (material_phase(ipc,ip,el),instance,of)
|
||||||
|
|
||||||
end select plasticityType
|
end select plasticityType
|
||||||
|
|
||||||
SourceLoop: do i = 1_pInt, phase_Nsources(material_phase(ipc,ip,el))
|
SourceLoop: do i = 1_pInt, phase_Nsources(material_phase(ipc,ip,el))
|
||||||
|
|
|
@ -1895,7 +1895,7 @@ real(pReal) function math_sampleGaussVar(meanvalue, stddev, width)
|
||||||
myWidth = merge(width,3.0_pReal,present(width)) ! use +-3*sigma as default value for scatter if not given
|
myWidth = merge(width,3.0_pReal,present(width)) ! use +-3*sigma as default value for scatter if not given
|
||||||
|
|
||||||
do
|
do
|
||||||
rnd = halton([6,2])
|
call random_number(rnd)
|
||||||
scatter = myWidth * (2.0_pReal * rnd(1) - 1.0_pReal)
|
scatter = myWidth * (2.0_pReal * rnd(1) - 1.0_pReal)
|
||||||
if (rnd(2) <= exp(-0.5_pReal * scatter ** 2.0_pReal)) exit ! test if scattered value is drawn
|
if (rnd(2) <= exp(-0.5_pReal * scatter ** 2.0_pReal)) exit ! test if scattered value is drawn
|
||||||
enddo
|
enddo
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue