need to write out initial results for new CPFEM2
This commit is contained in:
parent
143266dbd4
commit
eda03ed3e0
|
@ -421,11 +421,8 @@ subroutine CPFEM_general(mode, ffn, ffn1, dt, elFE, ip)
|
||||||
|
|
||||||
|
|
||||||
#if defined(Marc4DAMASK) || defined(Abaqus)
|
#if defined(Marc4DAMASK) || defined(Abaqus)
|
||||||
!*** backup jacobian
|
|
||||||
if (iand(mode, CPFEM_BACKUPJACOBIAN) /= 0_pInt) &
|
if (iand(mode, CPFEM_BACKUPJACOBIAN) /= 0_pInt) &
|
||||||
CPFEM_dcsde_knownGood = CPFEM_dcsde
|
CPFEM_dcsde_knownGood = CPFEM_dcsde
|
||||||
|
|
||||||
!*** restore jacobian
|
|
||||||
if (iand(mode, CPFEM_RESTOREJACOBIAN) /= 0_pInt) &
|
if (iand(mode, CPFEM_RESTOREJACOBIAN) /= 0_pInt) &
|
||||||
CPFEM_dcsde = CPFEM_dcsde_knownGood
|
CPFEM_dcsde = CPFEM_dcsde_knownGood
|
||||||
#endif
|
#endif
|
||||||
|
@ -553,8 +550,6 @@ subroutine CPFEM_general(mode, ffn, ffn1, dt, elFE, ip)
|
||||||
if (rnd < 0.5_pReal) rnd = rnd - 1.0_pReal
|
if (rnd < 0.5_pReal) rnd = rnd - 1.0_pReal
|
||||||
CPFEM_cs(1:6,ip,elCP) = rnd * CPFEM_odd_stress
|
CPFEM_cs(1:6,ip,elCP) = rnd * CPFEM_odd_stress
|
||||||
CPFEM_dcsde(1:6,1:6,ip,elCP) = CPFEM_odd_jacobian * math_identity2nd(6)
|
CPFEM_dcsde(1:6,1:6,ip,elCP) = CPFEM_odd_jacobian * math_identity2nd(6)
|
||||||
#endif
|
|
||||||
#if defined(Marc4DAMASK) || defined(Abaqus)
|
|
||||||
temperature(material_homog(ip,elCP))%p(thermalMapping(material_homog(ip,elCP))%p(ip,elCP)) = &
|
temperature(material_homog(ip,elCP))%p(thermalMapping(material_homog(ip,elCP))%p(ip,elCP)) = &
|
||||||
temperature_inp
|
temperature_inp
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -6,16 +6,10 @@
|
||||||
!> @brief needs a good name and description
|
!> @brief needs a good name and description
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module CPFEM2
|
module CPFEM2
|
||||||
use prec, only: &
|
|
||||||
pReal, &
|
|
||||||
pInt
|
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
private
|
private
|
||||||
|
|
||||||
logical, public, protected :: &
|
|
||||||
CPFEM_init_done = .false. !< remember whether init has been done already
|
|
||||||
|
|
||||||
public :: &
|
public :: &
|
||||||
CPFEM_general, &
|
CPFEM_general, &
|
||||||
CPFEM_initAll
|
CPFEM_initAll
|
||||||
|
@ -27,6 +21,8 @@ contains
|
||||||
!> @brief call (thread safe) all module initializations
|
!> @brief call (thread safe) all module initializations
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine CPFEM_initAll(el,ip)
|
subroutine CPFEM_initAll(el,ip)
|
||||||
|
use prec, only: &
|
||||||
|
pInt
|
||||||
use prec, only: &
|
use prec, only: &
|
||||||
prec_init
|
prec_init
|
||||||
use numerics, only: &
|
use numerics, only: &
|
||||||
|
@ -48,7 +44,8 @@ subroutine CPFEM_initAll(el,ip)
|
||||||
use crystallite, only: &
|
use crystallite, only: &
|
||||||
crystallite_init
|
crystallite_init
|
||||||
use homogenization, only: &
|
use homogenization, only: &
|
||||||
homogenization_init
|
homogenization_init, &
|
||||||
|
materialpoint_postResults
|
||||||
use IO, only: &
|
use IO, only: &
|
||||||
IO_init
|
IO_init
|
||||||
use DAMASK_interface
|
use DAMASK_interface
|
||||||
|
@ -61,28 +58,23 @@ subroutine CPFEM_initAll(el,ip)
|
||||||
integer(pInt), intent(in) :: el, & !< FE el number
|
integer(pInt), intent(in) :: el, & !< FE el number
|
||||||
ip !< FE integration point number
|
ip !< FE integration point number
|
||||||
|
|
||||||
!$OMP CRITICAL (init)
|
call DAMASK_interface_init ! Spectral and FEM interface to commandline
|
||||||
if (.not. CPFEM_init_done) then
|
call prec_init
|
||||||
call DAMASK_interface_init ! Spectral and FEM interface to commandline
|
call IO_init
|
||||||
call prec_init
|
|
||||||
call IO_init
|
|
||||||
#ifdef FEM
|
#ifdef FEM
|
||||||
call FEZoo_init
|
call FEZoo_init
|
||||||
#endif
|
#endif
|
||||||
call numerics_init
|
call numerics_init
|
||||||
call debug_init
|
call debug_init
|
||||||
call math_init
|
call math_init
|
||||||
call FE_init
|
call FE_init
|
||||||
call mesh_init(ip, el) ! pass on coordinates to alter calcMode of first ip
|
call mesh_init(ip, el) ! pass on coordinates to alter calcMode of first ip
|
||||||
call lattice_init
|
call lattice_init
|
||||||
call material_init
|
call material_init
|
||||||
call constitutive_init
|
call constitutive_init
|
||||||
call crystallite_init
|
call crystallite_init
|
||||||
call homogenization_init
|
call homogenization_init
|
||||||
call CPFEM_init
|
call materialpoint_postResults
|
||||||
CPFEM_init_done = .true.
|
|
||||||
endif
|
|
||||||
!$OMP END CRITICAL (init)
|
|
||||||
|
|
||||||
end subroutine CPFEM_initAll
|
end subroutine CPFEM_initAll
|
||||||
|
|
||||||
|
@ -209,6 +201,9 @@ end subroutine CPFEM_init
|
||||||
!> @brief perform initialization at first call, update variables and call the actual material model
|
!> @brief perform initialization at first call, update variables and call the actual material model
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine CPFEM_general(age, dt)
|
subroutine CPFEM_general(age, dt)
|
||||||
|
use prec, only: &
|
||||||
|
pReal, &
|
||||||
|
pInt
|
||||||
use numerics, only: &
|
use numerics, only: &
|
||||||
worldrank
|
worldrank
|
||||||
use debug, only: &
|
use debug, only: &
|
||||||
|
|
Loading…
Reference in New Issue