From 9dfe71aa060709eeabaf55e3c63372cf5a165c26 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 9 Jun 2019 21:20:38 +0200 Subject: [PATCH] better readable --- src/crystallite.f90 | 15 --- src/grid/grid_damage_spectral.f90 | 65 ++-------- src/grid/grid_mech_spectral_basic.f90 | 111 +++-------------- src/grid/grid_mech_spectral_polarisation.f90 | 124 +++---------------- src/grid/grid_thermal_spectral.f90 | 70 ++--------- src/grid/spectral_utilities.f90 | 18 +-- src/math.f90 | 11 +- src/plastic_disloUCLA.f90 | 44 ++----- src/source_damage_isoDuctile.f90 | 34 +---- 9 files changed, 65 insertions(+), 427 deletions(-) diff --git a/src/crystallite.f90 b/src/crystallite.f90 index b7ea191fd..98070f0fa 100644 --- a/src/crystallite.f90 +++ b/src/crystallite.f90 @@ -27,10 +27,8 @@ module crystallite use geometry_plastic_nonlocal, only: & nIPneighbors => geometry_plastic_nonlocal_nIPneighbors, & IPneighborhood => geometry_plastic_nonlocal_IPneighborhood -#if defined(PETSc) || defined(DAMASK_HDF5) use HDF5_utilities use results -#endif implicit none private @@ -854,11 +852,6 @@ end subroutine crystallite_orientations !> @brief Map 2nd order tensor to reference config !-------------------------------------------------------------------------------------------------- function crystallite_push33ToRef(ipc,ip,el, tensor33) - use math, only: & - math_inv33, & - math_EulerToR - use material, only: & - material_EulerAngles ! ToDo: Why stored? We also have crystallite_orientation0 real(pReal), dimension(3,3) :: crystallite_push33ToRef real(pReal), dimension(3,3), intent(in) :: tensor33 @@ -1065,10 +1058,6 @@ subroutine crystallite_results !-------------------------------------------------------------------------------------------------- function select_tensors(dataset,instance) - use material, only: & - homogenization_maxNgrains, & - material_phaseAt - integer, intent(in) :: instance real(pReal), dimension(:,:,:,:,:), intent(in) :: dataset real(pReal), allocatable, dimension(:,:,:) :: select_tensors @@ -1096,10 +1085,6 @@ subroutine crystallite_results !-------------------------------------------------------------------------------------------------- function select_rotations(dataset,instance) - use material, only: & - homogenization_maxNgrains, & - material_phaseAt - integer, intent(in) :: instance type(rotation), dimension(:,:,:), intent(in) :: dataset type(rotation), allocatable, dimension(:) :: select_rotations diff --git a/src/grid/grid_damage_spectral.f90 b/src/grid/grid_damage_spectral.f90 index 3ce37c5ff..59ae5038c 100644 --- a/src/grid/grid_damage_spectral.f90 +++ b/src/grid/grid_damage_spectral.f90 @@ -9,14 +9,17 @@ module grid_damage_spectral #include use PETScdmda use PETScsnes - use prec, only: & - pReal - use spectral_utilities, only: & - tSolutionState, & - tSolutionParams + + use prec + use spectral_utilities + use mesh + use damage_nonlocal + use numerics + use damage_nonlocal implicit none private + !-------------------------------------------------------------------------------------------------- ! derived types type(tSolutionParams), private :: params @@ -51,18 +54,6 @@ contains ! ToDo: Restart not implemented !-------------------------------------------------------------------------------------------------- subroutine grid_damage_spectral_init - use spectral_utilities, only: & - wgt - use mesh, only: & - grid, & - grid3 - use damage_nonlocal, only: & - damage_nonlocal_getDiffusion33, & - damage_nonlocal_getMobility - use numerics, only: & - worldrank, & - worldsize, & - petsc_options PetscInt, dimension(worldsize) :: localK integer :: i, j, k, cell @@ -153,15 +144,6 @@ end subroutine grid_damage_spectral_init !> @brief solution for the spectral damage scheme with internal iterations !-------------------------------------------------------------------------------------------------- function grid_damage_spectral_solution(timeinc,timeinc_old,loadCaseTime) result(solution) - use numerics, only: & - itmax, & - err_damage_tolAbs, & - err_damage_tolRel - use mesh, only: & - grid, & - grid3 - use damage_nonlocal, only: & - damage_nonlocal_putNonLocalDamage real(pReal), intent(in) :: & timeinc, & !< increment in time for current solution @@ -223,17 +205,7 @@ end function grid_damage_spectral_solution !> @brief spectral damage forwarding routine !-------------------------------------------------------------------------------------------------- subroutine grid_damage_spectral_forward - use mesh, only: & - grid, & - grid3 - use spectral_utilities, only: & - cutBack, & - wgt - use damage_nonlocal, only: & - damage_nonlocal_putNonLocalDamage, & - damage_nonlocal_getDiffusion33, & - damage_nonlocal_getMobility - + integer :: i, j, k, cell DM :: dm_local PetscScalar, dimension(:,:,:), pointer :: x_scal @@ -278,25 +250,6 @@ end subroutine grid_damage_spectral_forward !> @brief forms the spectral damage residual vector !-------------------------------------------------------------------------------------------------- subroutine formResidual(in,x_scal,f_scal,dummy,ierr) - use numerics, only: & - residualStiffness - use mesh, only: & - grid, & - grid3 - use spectral_utilities, only: & - scalarField_real, & - vectorField_real, & - utilities_FFTvectorForward, & - utilities_FFTvectorBackward, & - utilities_FFTscalarForward, & - utilities_FFTscalarBackward, & - utilities_fourierGreenConvolution, & - utilities_fourierScalarGradient, & - utilities_fourierVectorDivergence - use damage_nonlocal, only: & - damage_nonlocal_getSourceAndItsTangent,& - damage_nonlocal_getDiffusion33, & - damage_nonlocal_getMobility DMDALocalInfo, dimension(DMDA_LOCAL_INFO_SIZE) :: & in diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 2daebefbd..7528b1a1d 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -7,18 +7,23 @@ module grid_mech_spectral_basic #include #include - use DAMASK_interface - use HDF5_utilities use PETScdmda use PETScsnes - use prec, only: & - pReal - use math, only: & - math_I3 - use spectral_utilities, only: & - tSolutionState, & - tSolutionParams - + + use prec + use DAMASK_interface + use HDF5_utilities + use math + use spectral_utilities + use IO + use FEsolving + use config + use numerics + use homogenization + use mesh + use CPFEM2 + use debug + implicit none private @@ -81,31 +86,6 @@ contains !> @brief allocates all necessary fields and fills them with data, potentially from restart info !-------------------------------------------------------------------------------------------------- subroutine grid_mech_spectral_basic_init - use IO, only: & - IO_intOut, & - IO_error, & - IO_open_jobFile_binary - use FEsolving, only: & - restartInc - use config, only :& - config_numerics - use numerics, only: & - worldrank, & - worldsize, & - petsc_options - use homogenization, only: & - materialpoint_F0 - use DAMASK_interface, only: & - getSolverJobName - use spectral_utilities, only: & - utilities_constitutiveResponse, & - utilities_updateGamma, & - utilities_updateIPcoords - use mesh, only: & - grid, & - grid3 - use math, only: & - math_invSym3333 real(pReal), dimension(3,3,grid(1),grid(2),grid3) :: P real(pReal), dimension(3,3) :: & @@ -215,13 +195,6 @@ end subroutine grid_mech_spectral_basic_init !> @brief solution for the basic scheme with internal iterations !-------------------------------------------------------------------------------------------------- function grid_mech_spectral_basic_solution(incInfoIn,timeinc,timeinc_old,stress_BC,rotation_BC) result(solution) - use spectral_utilities, only: & - tBoundaryCondition, & - utilities_maskedCompliance, & - utilities_updateGamma - use FEsolving, only: & - restartWrite, & - terminallyIll !-------------------------------------------------------------------------------------------------- ! input data for solution @@ -277,27 +250,6 @@ end function grid_mech_spectral_basic_solution !> possibly writing restart information, triggering of state increment in DAMASK, and updating of IPcoordinates !-------------------------------------------------------------------------------------------------- subroutine grid_mech_spectral_basic_forward(guess,timeinc,timeinc_old,loadCaseTime,deformation_BC,stress_BC,rotation_BC) - use math, only: & - math_rotate_backward33 - use numerics, only: & - worldrank - use homogenization, only: & - materialpoint_F0 - use mesh, only: & - grid, & - grid3 - use CPFEM2, only: & - CPFEM_age - use spectral_utilities, only: & - utilities_calculateRate, & - utilities_forwardField, & - utilities_updateIPcoords, & - tBoundaryCondition, & - cutBack - use IO, only: & - IO_open_jobFile_binary - use FEsolving, only: & - restartWrite logical, intent(in) :: & guess @@ -387,15 +339,6 @@ end subroutine grid_mech_spectral_basic_forward !> @brief convergence check !-------------------------------------------------------------------------------------------------- subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dummy,ierr) - use numerics, only: & - itmax, & - itmin, & - err_div_tolRel, & - err_div_tolAbs, & - err_stress_tolRel, & - err_stress_tolAbs - use FEsolving, only: & - terminallyIll SNES :: snes_local PetscInt, intent(in) :: PETScIter @@ -442,30 +385,6 @@ end subroutine converged !-------------------------------------------------------------------------------------------------- subroutine formResidual(in, F, & residuum, dummy, ierr) - use numerics, only: & - itmax, & - itmin - use mesh, only: & - grid, & - grid3 - use math, only: & - math_rotate_backward33, & - math_mul3333xx33 - use debug, only: & - debug_level, & - debug_spectral, & - debug_spectralRotation - use spectral_utilities, only: & - tensorField_real, & - utilities_FFTtensorForward, & - utilities_fourierGammaConvolution, & - utilities_FFTtensorBackward, & - utilities_constitutiveResponse, & - utilities_divergenceRMS - use IO, only: & - IO_intOut - use FEsolving, only: & - terminallyIll DMDALocalInfo, dimension(DMDA_LOCAL_INFO_SIZE) :: in !< DMDA info (needs to be named "in" for macros like XRANGE to work) PetscScalar, dimension(3,3,XG_RANGE,YG_RANGE,ZG_RANGE), & diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 3bd30a360..68d34d5b0 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -7,17 +7,22 @@ module grid_mech_spectral_polarisation #include #include - use DAMASK_interface - use HDF5_utilities use PETScdmda use PETScsnes - use prec, only: & - pReal - use math, only: & - math_I3 - use spectral_utilities, only: & - tSolutionState, & - tSolutionParams + + use prec + use DAMASK_interface + use HDF5_utilities + use math + use spectral_utilities + use IO + use FEsolving + use config + use numerics + use homogenization + use mesh + use CPFEM2 + use debug implicit none private @@ -87,32 +92,7 @@ contains !> @brief allocates all necessary fields and fills them with data, potentially from restart info !-------------------------------------------------------------------------------------------------- subroutine grid_mech_spectral_polarisation_init - use IO, only: & - IO_intOut, & - IO_error, & - IO_open_jobFile_binary - use FEsolving, only: & - restartInc - use config, only :& - config_numerics - use numerics, only: & - worldrank, & - worldsize, & - petsc_options - use homogenization, only: & - materialpoint_F0 - use DAMASK_interface, only: & - getSolverJobName - use spectral_utilities, only: & - utilities_constitutiveResponse, & - utilities_updateGamma, & - utilities_updateIPcoords - use mesh, only: & - grid, & - grid3 - use math, only: & - math_invSym3333 - + real(pReal), dimension(3,3,grid(1),grid(2),grid3) :: P real(pReal), dimension(3,3) :: & temp33_Real = 0.0_pReal @@ -230,15 +210,6 @@ end subroutine grid_mech_spectral_polarisation_init !> @brief solution for the Polarisation scheme with internal iterations !-------------------------------------------------------------------------------------------------- function grid_mech_spectral_polarisation_solution(incInfoIn,timeinc,timeinc_old,stress_BC,rotation_BC) result(solution) - use math, only: & - math_invSym3333 - use spectral_utilities, only: & - tBoundaryCondition, & - utilities_maskedCompliance, & - utilities_updateGamma - use FEsolving, only: & - restartWrite, & - terminallyIll !-------------------------------------------------------------------------------------------------- ! input data for solution @@ -298,28 +269,6 @@ end function grid_mech_spectral_polarisation_solution !> possibly writing restart information, triggering of state increment in DAMASK, and updating of IPcoordinates !-------------------------------------------------------------------------------------------------- subroutine grid_mech_spectral_polarisation_forward(guess,timeinc,timeinc_old,loadCaseTime,deformation_BC,stress_BC,rotation_BC) - use math, only: & - math_mul3333xx33, & - math_rotate_backward33 - use numerics, only: & - worldrank - use homogenization, only: & - materialpoint_F0 - use mesh, only: & - grid, & - grid3 - use CPFEM2, only: & - CPFEM_age - use spectral_utilities, only: & - utilities_calculateRate, & - utilities_forwardField, & - utilities_updateIPcoords, & - tBoundaryCondition, & - cutBack - use IO, only: & - IO_open_jobFile_binary - use FEsolving, only: & - restartWrite logical, intent(in) :: & guess @@ -434,17 +383,6 @@ end subroutine grid_mech_spectral_polarisation_forward !> @brief convergence check !-------------------------------------------------------------------------------------------------- subroutine converged(snes_local,PETScIter,devNull1,devNull2,devNull3,reason,dummy,ierr) - use numerics, only: & - itmax, & - itmin, & - err_div_tolRel, & - err_div_tolAbs, & - err_curl_tolRel, & - err_curl_tolAbs, & - err_stress_tolRel, & - err_stress_tolAbs - use FEsolving, only: & - terminallyIll SNES :: snes_local PetscInt, intent(in) :: PETScIter @@ -496,38 +434,6 @@ end subroutine converged !-------------------------------------------------------------------------------------------------- subroutine formResidual(in, FandF_tau, & residuum, dummy,ierr) - use numerics, only: & - itmax, & - itmin, & - polarAlpha, & - polarBeta - use mesh, only: & - grid, & - grid3 - use math, only: & - math_rotate_forward33, & - math_rotate_backward33, & - math_mul3333xx33, & - math_invSym3333 - use debug, only: & - debug_level, & - debug_spectral, & - debug_spectralRotation - use spectral_utilities, only: & - wgt, & - tensorField_real, & - utilities_FFTtensorForward, & - utilities_fourierGammaConvolution, & - utilities_FFTtensorBackward, & - utilities_constitutiveResponse, & - utilities_divergenceRMS, & - utilities_curlRMS - use IO, only: & - IO_intOut - use homogenization, only: & - materialpoint_dPdF - use FEsolving, only: & - terminallyIll DMDALocalInfo, dimension(DMDA_LOCAL_INFO_SIZE) :: in !< DMDA info (needs to be named "in" for macros like XRANGE to work) PetscScalar, dimension(3,3,2,XG_RANGE,YG_RANGE,ZG_RANGE), & diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index e899fd89a..18fe2d320 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -9,14 +9,17 @@ module grid_thermal_spectral #include use PETScdmda use PETScsnes - use prec, only: & - pReal - use spectral_utilities, only: & - tSolutionState, & - tSolutionParams + + use prec + use spectral_utilities + use mesh + use thermal_conduction + use material + use numerics implicit none private + !-------------------------------------------------------------------------------------------------- ! derived types type(tSolutionParams), private :: params @@ -51,23 +54,6 @@ contains ! ToDo: Restart not implemented !-------------------------------------------------------------------------------------------------- subroutine grid_thermal_spectral_init - use spectral_utilities, only: & - wgt - use mesh, only: & - grid, & - grid3 - use thermal_conduction, only: & - thermal_conduction_getConductivity33, & - thermal_conduction_getMassDensity, & - thermal_conduction_getSpecificHeat - use material, only: & - material_homogenizationAt, & - temperature, & - thermalMapping - use numerics, only: & - worldrank, & - worldsize, & - petsc_options PetscInt, dimension(worldsize) :: localK integer :: i, j, k, cell @@ -156,15 +142,6 @@ end subroutine grid_thermal_spectral_init !> @brief solution for the spectral thermal scheme with internal iterations !-------------------------------------------------------------------------------------------------- function grid_thermal_spectral_solution(timeinc,timeinc_old,loadCaseTime) result(solution) - use numerics, only: & - itmax, & - err_thermal_tolAbs, & - err_thermal_tolRel - use mesh, only: & - grid, & - grid3 - use thermal_conduction, only: & - thermal_conduction_putTemperatureAndItsRate real(pReal), intent(in) :: & timeinc, & !< increment in time for current solution @@ -228,18 +205,7 @@ end function grid_thermal_spectral_solution !> @brief forwarding routine !-------------------------------------------------------------------------------------------------- subroutine grid_thermal_spectral_forward - use mesh, only: & - grid, & - grid3 - use spectral_utilities, only: & - cutBack, & - wgt - use thermal_conduction, only: & - thermal_conduction_putTemperatureAndItsRate, & - thermal_conduction_getConductivity33, & - thermal_conduction_getMassDensity, & - thermal_conduction_getSpecificHeat - + integer :: i, j, k, cell DM :: dm_local PetscScalar, dimension(:,:,:), pointer :: x_scal @@ -289,24 +255,6 @@ end subroutine grid_thermal_spectral_forward !> @brief forms the spectral thermal residual vector !-------------------------------------------------------------------------------------------------- subroutine formResidual(in,x_scal,f_scal,dummy,ierr) - use mesh, only: & - grid, & - grid3 - use spectral_utilities, only: & - scalarField_real, & - vectorField_real, & - utilities_FFTvectorForward, & - utilities_FFTvectorBackward, & - utilities_FFTscalarForward, & - utilities_FFTscalarBackward, & - utilities_fourierGreenConvolution, & - utilities_fourierScalarGradient, & - utilities_fourierVectorDivergence - use thermal_conduction, only: & - thermal_conduction_getSourceAndItsTangent, & - thermal_conduction_getConductivity33, & - thermal_conduction_getMassDensity, & - thermal_conduction_getSpecificHeat DMDALocalInfo, dimension(DMDA_LOCAL_INFO_SIZE) :: & in diff --git a/src/grid/spectral_utilities.f90 b/src/grid/spectral_utilities.f90 index b11f6ebce..509ec9e77 100644 --- a/src/grid/spectral_utilities.f90 +++ b/src/grid/spectral_utilities.f90 @@ -7,6 +7,7 @@ module spectral_utilities use, intrinsic :: iso_c_binding #include use PETScSys + use prec use math use IO @@ -584,12 +585,6 @@ end subroutine utilities_fourierGreenConvolution !> @brief calculate root mean square of divergence of field_fourier !-------------------------------------------------------------------------------------------------- real(pReal) function utilities_divergenceRMS() - use IO, only: & - IO_error - use mesh, only: & - geomSize, & - grid, & - grid3 integer :: i, j, k, ierr complex(pReal), dimension(3) :: rescaledGeom @@ -924,9 +919,6 @@ end subroutine utilities_constitutiveResponse !> @brief calculates forward rate, either guessing or just add delta/timeinc !-------------------------------------------------------------------------------------------------- pure function utilities_calculateRate(heterogeneous,field0,field,dt,avRate) - use mesh, only: & - grid3, & - grid real(pReal), intent(in), dimension(3,3) :: & avRate !< homogeneous addon @@ -954,9 +946,6 @@ end function utilities_calculateRate !> ensures that the average matches the aim !-------------------------------------------------------------------------------------------------- function utilities_forwardField(timeinc,field_lastInc,rate,aim) - use mesh, only: & - grid3, & - grid real(pReal), intent(in) :: & timeinc !< timeinc of current step @@ -988,11 +977,6 @@ end function utilities_forwardField ! standard approach !-------------------------------------------------------------------------------------------------- pure function utilities_getFreqDerivative(k_s) - use math, only: & - PI - use mesh, only: & - geomSize, & - grid integer, intent(in), dimension(3) :: k_s !< indices of frequency complex(pReal), dimension(3) :: utilities_getFreqDerivative diff --git a/src/math.f90 b/src/math.f90 index 4a32be274..324a629b2 100644 --- a/src/math.f90 +++ b/src/math.f90 @@ -8,7 +8,9 @@ module math use prec use future - + use IO + use debug + use numerics implicit none public #if __INTEL_COMPILER >= 1900 @@ -91,8 +93,6 @@ contains !> @brief initialization of random seed generator and internal checks !-------------------------------------------------------------------------------------------------- subroutine math_init - use numerics, only: & - randomSeed integer :: i real(pReal), dimension(4) :: randTest @@ -133,7 +133,6 @@ end subroutine math_init !> @brief check correctness of (some) math functions !-------------------------------------------------------------------------------------------------- subroutine unitTest - use IO, only: IO_error character(len=64) :: error_msg @@ -526,8 +525,6 @@ end subroutine math_invert33 !> @brief Inversion of symmetriced 3x3x3x3 tensor. !-------------------------------------------------------------------------------------------------- function math_invSym3333(A) - use IO, only: & - IO_error real(pReal),dimension(3,3,3,3) :: math_invSym3333 @@ -1443,8 +1440,6 @@ end function math_eigenvectorBasisSym33_log !> @brief rotational part from polar decomposition of 33 tensor m !-------------------------------------------------------------------------------------------------- function math_rotationalPart33(m) - use IO, only: & - IO_warning real(pReal), intent(in), dimension(3,3) :: m real(pReal), dimension(3,3) :: math_rotationalPart33 diff --git a/src/plastic_disloUCLA.f90 b/src/plastic_disloUCLA.f90 index 56d910011..c8ef6fa15 100644 --- a/src/plastic_disloUCLA.f90 +++ b/src/plastic_disloUCLA.f90 @@ -6,11 +6,18 @@ !> @brief crystal plasticity model for bcc metals, especially Tungsten !-------------------------------------------------------------------------------------------------- module plastic_disloUCLA - use prec, only: & - pReal + use prec + use debug + use math + use IO + use material + use config + use lattice + use results implicit none private + integer, dimension(:,:), allocatable, target, public :: & plastic_disloUCLA_sizePostResult !< size of each post result output character(len=64), dimension(:,:), allocatable, target, public :: & @@ -111,20 +118,6 @@ contains !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- subroutine plastic_disloUCLA_init() - use prec, only: & - pStringLen - use debug, only: & - debug_level,& - debug_constitutive,& - debug_levelBasic - use math, only: & - math_expand - use IO, only: & - IO_error - use material - use config, only: & - config_phase - use lattice integer :: & Ninstance, & @@ -394,12 +387,6 @@ end subroutine plastic_disloUCLA_LpAndItsTangent !> @brief calculates the rate of change of microstructure !-------------------------------------------------------------------------------------------------- subroutine plastic_disloUCLA_dotState(Mp,T,instance,of) - use prec, only: & - tol_math_check, & - dEq0 - use math, only: & - PI, & - math_clip real(pReal), dimension(3,3), intent(in) :: & Mp !< Mandel stress @@ -489,11 +476,6 @@ end subroutine plastic_disloUCLA_dependentState !> @brief return array of constitutive results !-------------------------------------------------------------------------------------------------- function plastic_disloUCLA_postResults(Mp,T,instance,of) result(postResults) - use prec, only: & - dEq, dNeq0 - use math, only: & - PI, & - math_mul33xx33 real(pReal), dimension(3,3), intent(in) :: & Mp !< Mandel stress @@ -548,8 +530,6 @@ end function plastic_disloUCLA_postResults !-------------------------------------------------------------------------------------------------- subroutine plastic_disloUCLA_results(instance,group) #if defined(PETSc) || defined(DAMASK_HDF5) - use results, only: & - results_writeDataset integer, intent(in) :: instance character(len=*), intent(in) :: group @@ -595,12 +575,6 @@ end subroutine plastic_disloUCLA_results !-------------------------------------------------------------------------------------------------- pure subroutine kinetics(Mp,T,instance,of, & dot_gamma_pos,dot_gamma_neg,ddot_gamma_dtau_pos,ddot_gamma_dtau_neg,tau_pos_out,tau_neg_out) - use prec, only: & - tol_math_check, & - dEq, dNeq0 - use math, only: & - PI, & - math_mul33xx33 real(pReal), dimension(3,3), intent(in) :: & Mp !< Mandel stress diff --git a/src/source_damage_isoDuctile.f90 b/src/source_damage_isoDuctile.f90 index 9cd4e5d26..524936077 100644 --- a/src/source_damage_isoDuctile.f90 +++ b/src/source_damage_isoDuctile.f90 @@ -6,6 +6,10 @@ !-------------------------------------------------------------------------------------------------- module source_damage_isoDuctile use prec + use debug + use IO + use material + use config implicit none private @@ -51,25 +55,6 @@ contains !> @details reads in material parameters, allocates arrays, and does sanity checks !-------------------------------------------------------------------------------------------------- subroutine source_damage_isoDuctile_init - use debug, only: & - debug_level,& - debug_constitutive,& - debug_levelBasic - use IO, only: & - IO_error - use material, only: & - material_allocateSourceState, & - phase_source, & - phase_Nsources, & - phase_Noutput, & - SOURCE_damage_isoDuctile_label, & - SOURCE_damage_isoDuctile_ID, & - material_phase, & - sourceState - use config, only: & - config_phase, & - material_Nphase - integer :: Ninstance,phase,instance,source,sourceOffset integer :: NofMyPhase,p,i @@ -164,13 +149,6 @@ end subroutine source_damage_isoDuctile_init !> @brief calculates derived quantities from state !-------------------------------------------------------------------------------------------------- subroutine source_damage_isoDuctile_dotState(ipc, ip, el) - use material, only: & - phaseAt, phasememberAt, & - plasticState, & - sourceState, & - material_homogenizationAt, & - damage, & - damageMapping integer, intent(in) :: & ipc, & !< component-ID of integration point @@ -197,8 +175,6 @@ end subroutine source_damage_isoDuctile_dotState !> @brief returns local part of nonlocal damage driving force !-------------------------------------------------------------------------------------------------- subroutine source_damage_isoDuctile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, phase, constituent) - use material, only: & - sourceState integer, intent(in) :: & phase, & @@ -224,8 +200,6 @@ end subroutine source_damage_isoDuctile_getRateAndItsTangent !> @brief return array of local damage results !-------------------------------------------------------------------------------------------------- function source_damage_isoDuctile_postResults(phase, constituent) - use material, only: & - sourceState integer, intent(in) :: & phase, &