diff --git a/.github/workflows/Fortran.yml b/.github/workflows/Fortran.yml index ef63149c8..cd361f248 100644 --- a/.github/workflows/Fortran.yml +++ b/.github/workflows/Fortran.yml @@ -2,7 +2,7 @@ name: Grid and Mesh Solver on: [push] env: - PETSC_VERSION: '3.17.4' + PETSC_VERSION: '3.18.0' HOMEBREW_NO_ANALYTICS: 'ON' # Make Homebrew installation a little quicker HOMEBREW_NO_AUTO_UPDATE: 'ON' HOMEBREW_NO_BOTTLE_SOURCE_FALLBACK: 'ON' @@ -158,7 +158,10 @@ jobs: if: contains( matrix.intel_v, 'classic') run: | cd petsc-${PETSC_VERSION} - ./configure --with-fc=mpiifort --with-cc="mpiicc -cc=icc" --with-cxx="mpiicpc -cxx=icpc" \ + ./configure \ + --with-fc='mpiifort -fc=ifort -diag-disable=10441' \ + --with-cc='mpiicc -cc=icc -diag-disable=10441' \ + --with-cxx='mpiicpc -cxx=icpc -diag-disable=10441' \ --download-fftw --download-hdf5 --download-hdf5-fortran-bindings=1 --download-zlib make all @@ -166,7 +169,10 @@ jobs: if: contains( matrix.intel_v, 'llvm') run: | cd petsc-${PETSC_VERSION} - ./configure --with-fc=mpiifort --with-cc="mpiicc -cc=icx" --with-cxx="mpiicpc -cxx=icpx" \ + ./configure \ + --with-fc='mpiifort -fc=ifx' \ + --with-cc='mpiicc -cc=icx' \ + --with-cxx='mpiicpc -cxx=icpx' \ --download-fftw --download-hdf5 --download-hdf5-fortran-bindings=1 --download-zlib make all diff --git a/PRIVATE b/PRIVATE index 8c0a24006..583beecdc 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 8c0a24006f355ce8d7602daa77a33348183a2bc7 +Subproject commit 583beecdcf806c5249574fd599f0b763f3461c3b diff --git a/VERSION b/VERSION index 6907b2b5e..d9d5cd2fa 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.0.0-alpha7 +3.0.0-alpha7-16-g027d77e9f diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 192c1f84b..d0a95fa23 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,6 +2,7 @@ if(CMAKE_Fortran_COMPILER_ID STREQUAL "GNU") # long lines for interaction matrix set_source_files_properties("lattice.f90" PROPERTIES COMPILE_FLAGS "-ffree-line-length-240") + set_source_files_properties("parallelization.f90" PROPERTIES COMPILE_FLAGS "-ffree-line-length-none") endif() file(GLOB damask-sources CONFIGURE_DEPENDS *.f90 *.c) @@ -18,7 +19,7 @@ foreach(solver-source ${solver-sources}) file(READ ${solver-source} content) string(FIND "${content}" "CHKERR" found) if(NOT ${found} EQUAL -1) - set_source_files_properties(${solver-source} PROPERTIES COMPILE_FLAGS "-ffree-line-length-160") + set_source_files_properties(${solver-source} PROPERTIES COMPILE_FLAGS "-ffree-line-length-none") endif() endforeach() diff --git a/src/grid/grid_thermal_spectral.f90 b/src/grid/grid_thermal_spectral.f90 index c313fe1fa..6192420df 100644 --- a/src/grid/grid_thermal_spectral.f90 +++ b/src/grid/grid_thermal_spectral.f90 @@ -110,7 +110,7 @@ subroutine grid_thermal_spectral_init() T_current = discretization_grid_getInitialCondition('T') T_lastInc = T_current T_stagInc = T_current - dotT_lastInc = 0.0_pReal + dotT_lastInc = 0.0_pReal * T_current !-------------------------------------------------------------------------------------------------- ! initialize solver specific parts of PETSc diff --git a/src/phase_mechanical_plastic_phenopowerlaw.f90 b/src/phase_mechanical_plastic_phenopowerlaw.f90 index f0dc04869..325e4cd64 100644 --- a/src/phase_mechanical_plastic_phenopowerlaw.f90 +++ b/src/phase_mechanical_plastic_phenopowerlaw.f90 @@ -347,8 +347,7 @@ module function phenopowerlaw_dotState(Mp,ph,en) result(dotState) sumF real(pReal), dimension(param(ph)%sum_N_sl) :: & dot_gamma_sl_pos,dot_gamma_sl_neg, & - right_SlipSlip - + left_SlipSlip associate(prm => param(ph), stt => state(ph), & dot_xi_sl => dotState(indexDotState(ph)%xi_sl(1):indexDotState(ph)%xi_sl(2)), & @@ -356,17 +355,17 @@ module function phenopowerlaw_dotState(Mp,ph,en) result(dotState) dot_gamma_sl => dotState(indexDotState(ph)%gamma_sl(1):indexDotState(ph)%gamma_sl(2)), & dot_gamma_tw => dotState(indexDotState(ph)%gamma_tw(1):indexDotState(ph)%gamma_tw(2))) - call kinetics_sl(Mp,ph,en,dot_gamma_sl_pos,dot_gamma_sl_neg) + call kinetics_sl(Mp,ph,en, dot_gamma_sl_pos,dot_gamma_sl_neg) dot_gamma_sl = abs(dot_gamma_sl_pos+dot_gamma_sl_neg) - call kinetics_tw(Mp,ph,en,dot_gamma_tw) - + call kinetics_tw(Mp,ph,en, dot_gamma_tw) sumF = sum(stt%gamma_tw(:,en)/prm%gamma_char) - xi_sl_sat_offset = prm%f_sat_sl_tw*sqrt(sumF) - right_SlipSlip = sign(abs(1.0_pReal-stt%xi_sl(:,en) / (prm%xi_inf_sl+xi_sl_sat_offset))**prm%a_sl, & - 1.0_pReal-stt%xi_sl(:,en) / (prm%xi_inf_sl+xi_sl_sat_offset)) - dot_xi_sl = prm%h_0_sl_sl * (1.0_pReal + prm%c_1*sumF** prm%c_2) * (1.0_pReal + prm%h_int) & - * matmul(prm%h_sl_sl,dot_gamma_sl*right_SlipSlip) & + xi_sl_sat_offset = prm%f_sat_sl_tw*sqrt(sumF) + left_SlipSlip = sign(abs(1.0_pReal-stt%xi_sl(:,en) / (prm%xi_inf_sl+xi_sl_sat_offset))**prm%a_sl, & + 1.0_pReal-stt%xi_sl(:,en) / (prm%xi_inf_sl+xi_sl_sat_offset)) + + dot_xi_sl = prm%h_0_sl_sl * (1.0_pReal + prm%c_1 * sumF**prm%c_2) * (1.0_pReal + prm%h_int) & + * left_SlipSlip * matmul(prm%h_sl_sl,dot_gamma_sl) & + matmul(prm%h_sl_tw,dot_gamma_tw) dot_xi_tw = prm%h_0_tw_sl * sum(stt%gamma_sl(:,en))**prm%c_3 &