From 053c3f39ea1e0bd014baa20c93cf70934e7b1fd0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 19 Sep 2020 23:40:17 +0200 Subject: [PATCH] solution completely relies on state defined by 'forward' --- src/grid/DAMASK_grid.f90 | 8 +------- src/grid/grid_mech_FEM.f90 | 8 ++------ src/grid/grid_mech_spectral_basic.f90 | 8 ++------ src/grid/grid_mech_spectral_polarisation.f90 | 8 ++------ 4 files changed, 7 insertions(+), 25 deletions(-) diff --git a/src/grid/DAMASK_grid.f90 b/src/grid/DAMASK_grid.f90 index 878ed868b..7bc737ecd 100644 --- a/src/grid/DAMASK_grid.f90 +++ b/src/grid/DAMASK_grid.f90 @@ -433,17 +433,11 @@ program DAMASK_grid do field = 1, nActiveFields select case(loadCases(currentLoadCase)%ID(field)) case(FIELD_MECH_ID) - solres(field) = mech_solution (& - incInfo, & - stress_BC = loadCases(currentLoadCase)%stress, & - rotation_BC = loadCases(currentLoadCase)%rot) - + solres(field) = mech_solution(incInfo) case(FIELD_THERMAL_ID) solres(field) = grid_thermal_spectral_solution(timeinc,timeIncOld) - case(FIELD_DAMAGE_ID) solres(field) = grid_damage_spectral_solution(timeinc,timeIncOld) - end select if (.not. solres(field)%converged) exit ! no solution found diff --git a/src/grid/grid_mech_FEM.f90 b/src/grid/grid_mech_FEM.f90 index 749c1b43e..18f66e9c0 100644 --- a/src/grid/grid_mech_FEM.f90 +++ b/src/grid/grid_mech_FEM.f90 @@ -269,16 +269,12 @@ end subroutine grid_mech_FEM_init !-------------------------------------------------------------------------------------------------- !> @brief solution for the FEM scheme with internal iterations !-------------------------------------------------------------------------------------------------- -function grid_mech_FEM_solution(incInfoIn,stress_BC,rotation_BC) result(solution) +function grid_mech_FEM_solution(incInfoIn) result(solution) !-------------------------------------------------------------------------------------------------- ! input data for solution character(len=*), intent(in) :: & incInfoIn - type(tBoundaryCondition), intent(in) :: & - stress_BC - type(rotation), intent(in) :: & - rotation_BC type(tSolutionState) :: & solution !-------------------------------------------------------------------------------------------------- @@ -290,7 +286,7 @@ function grid_mech_FEM_solution(incInfoIn,stress_BC,rotation_BC) result(solution !-------------------------------------------------------------------------------------------------- ! update stiffness (and gamma operator) - S = utilities_maskedCompliance(rotation_BC,stress_BC%maskLogical,C_volAvg) + S = utilities_maskedCompliance(params%rotation_BC,params%stress_mask>.5_pReal,C_volAvg) !-------------------------------------------------------------------------------------------------- ! solve BVP diff --git a/src/grid/grid_mech_spectral_basic.f90 b/src/grid/grid_mech_spectral_basic.f90 index 33ee1ff97..3b814ee44 100644 --- a/src/grid/grid_mech_spectral_basic.f90 +++ b/src/grid/grid_mech_spectral_basic.f90 @@ -233,16 +233,12 @@ end subroutine grid_mech_spectral_basic_init !-------------------------------------------------------------------------------------------------- !> @brief solution for the basic scheme with internal iterations !-------------------------------------------------------------------------------------------------- -function grid_mech_spectral_basic_solution(incInfoIn,stress_BC,rotation_BC) result(solution) +function grid_mech_spectral_basic_solution(incInfoIn) result(solution) !-------------------------------------------------------------------------------------------------- ! input data for solution character(len=*), intent(in) :: & incInfoIn - type(tBoundaryCondition), intent(in) :: & - stress_BC - type(rotation), intent(in) :: & - rotation_BC type(tSolutionState) :: & solution !-------------------------------------------------------------------------------------------------- @@ -254,7 +250,7 @@ function grid_mech_spectral_basic_solution(incInfoIn,stress_BC,rotation_BC) resu !-------------------------------------------------------------------------------------------------- ! update stiffness (and gamma operator) - S = utilities_maskedCompliance(rotation_BC,stress_BC%maskLogical,C_volAvg) + S = utilities_maskedCompliance(params%rotation_BC,params%stress_mask>.5_pReal,C_volAvg) if(num%update_gamma) call utilities_updateGamma(C_minMaxAvg) !-------------------------------------------------------------------------------------------------- diff --git a/src/grid/grid_mech_spectral_polarisation.f90 b/src/grid/grid_mech_spectral_polarisation.f90 index 5470cf0b3..3c02d62c0 100644 --- a/src/grid/grid_mech_spectral_polarisation.f90 +++ b/src/grid/grid_mech_spectral_polarisation.f90 @@ -260,16 +260,12 @@ end subroutine grid_mech_spectral_polarisation_init !-------------------------------------------------------------------------------------------------- !> @brief solution for the Polarisation scheme with internal iterations !-------------------------------------------------------------------------------------------------- -function grid_mech_spectral_polarisation_solution(incInfoIn,stress_BC,rotation_BC) result(solution) +function grid_mech_spectral_polarisation_solution(incInfoIn) result(solution) !-------------------------------------------------------------------------------------------------- ! input data for solution character(len=*), intent(in) :: & incInfoIn - type(tBoundaryCondition), intent(in) :: & - stress_BC - type(rotation), intent(in) :: & - rotation_BC type(tSolutionState) :: & solution !-------------------------------------------------------------------------------------------------- @@ -281,7 +277,7 @@ function grid_mech_spectral_polarisation_solution(incInfoIn,stress_BC,rotation_B !-------------------------------------------------------------------------------------------------- ! update stiffness (and gamma operator) - S = utilities_maskedCompliance(rotation_BC,stress_BC%maskLogical,C_volAvg) + S = utilities_maskedCompliance(params%rotation_BC,params%stress_mask>.5_pReal,C_volAvg) if (num%update_gamma) then call utilities_updateGamma(C_minMaxAvg) C_scale = C_minMaxAvg