- Timestamp:
- 2022-03-08T16:20:40+01:00 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.4_EAP_rheology_fix/src/ICE/icedyn_rhg_evp.F90
r15692 r15742 137 137 ! 138 138 REAL(wp), DIMENSION(jpi,jpj) :: zdelta, zp_delt ! delta and P/delta at T points 139 REAL(wp), DIMENSION(jpi,jpj) :: zten_i ! tension139 REAL(wp), DIMENSION(jpi,jpj) :: zten_i, zshear ! tension, shear 140 140 REAL(wp), DIMENSION(jpi,jpj) :: zbeta ! beta coef from Kimmritz 2017 141 141 ! … … 773 773 & ) * 0.25_wp * r1_e1e2t(ji,jj) 774 774 775 ! shear at T points775 ! maximum shear rate at T points (includes tension, output only) 776 776 pshear_i(ji,jj) = SQRT( zdt2 + zds2 ) 777 778 ! shear at T-points 779 zshear(ji,jj) = SQRT( zds2 ) 777 780 778 781 ! divergence at T points … … 789 792 END DO 790 793 CALL lbc_lnk_multi( 'icedyn_rhg_evp', pshear_i, 'T', 1., pdivu_i, 'T', 1., pdelta_i, 'T', 1., zten_i, 'T', 1., & 791 & zs1 , 'T', 1., zs2 , 'T', 1., zs12 , 'F', 1. )794 & zs1 , 'T', 1., zs2 , 'T', 1., zs12 , 'F', 1., zshear, 'T', 1. ) 792 795 793 796 ! --- Store the stress tensor for the next time step --- ! … … 835 838 zsig1 = zfac * ( pdivu_i(ji,jj) - pdelta_i(ji,jj) ) 836 839 zsig2 = zfac * z1_ecc2 * zten_i(ji,jj) 837 zsig12 = zfac * z1_ecc2 * pshear_i(ji,jj)838 840 zsig12 = zfac * z1_ecc2 * zshear(ji,jj) * 0.5_wp 841 839 842 ! Stress invariants (sigma_I, sigma_II, Coon 1974, Feltham 2008) 840 843 zsig_I (ji,jj) = zsig1 * 0.5_wp ! 1st stress invariant, aka average normal stress, aka negative pressure 841 zsig_II(ji,jj) = SQRT( zsig2 * zsig2 * 0.25_wp + zsig12 * zsig12 ) ! 2nd '' '' , aka maximum shear stress844 zsig_II(ji,jj) = SQRT( zsig2 * zsig2 * 0.25_wp + zsig12 * zsig12 ) ! 2nd '' '' , aka maximum shear stress 842 845 843 846 END DO … … 866 869 ! and **deformations** at current iterates 867 870 ! following Lemieux & Dupont (2020) 868 zfac = zp_delt(ji,jj)869 zsig1 = zfac * ( pdivu_i(ji,jj) - ( zdelta(ji,jj) + rn_creepl) )871 zfac = strength(ji,jj) / ( pdelta_i(ji,jj) + rn_creepl ) 872 zsig1 = zfac * ( pdivu_i(ji,jj) - zdelta(ji,jj) ) 870 873 zsig2 = zfac * z1_ecc2 * zten_i(ji,jj) 871 zsig12 = zfac * z1_ecc2 * pshear_i(ji,jj)872 874 zsig12 = zfac * z1_ecc2 * zshear(ji,jj) * 0.5_wp 875 873 876 ! Stress invariants (sigma_I, sigma_II, Coon 1974, Feltham 2008), T-point 874 877 zsig_I(ji,jj) = zsig1 * 0.5_wp ! 1st stress invariant, aka average normal stress, aka negative pressure 875 zsig_II(ji,jj) = SQRT( zsig2 * zsig2 * 0.25_wp + zsig12 * zsig12 ) ! 2nd '' '' , aka maximum shear stress878 zsig_II(ji,jj) = SQRT( zsig2 * zsig2 * 0.25_wp + zsig12 * zsig12 ) ! 2nd '' '' , aka maximum shear stress 876 879 877 880 ! Normalized principal stresses (used to display the ellipse) … … 882 885 END DO 883 886 ! 884 IF( iom_use('sig1_pnorm') ) CALL iom_put( 'sig1_pnorm' , zsig1_p(:,:) * zmsk00(:,:) ) 887 IF( iom_use('sig1_pnorm') ) CALL iom_put( 'sig1_pnorm' , zsig1_p(:,:) * zmsk00(:,:) ) 885 888 IF( iom_use('sig2_pnorm') ) CALL iom_put( 'sig2_pnorm' , zsig2_p(:,:) * zmsk00(:,:) ) 886 889 … … 1006 1009 1007 1010 ! time 1008 it = ( kt - 1) * kitermax + kiter1011 it = ( kt - nit000 ) * kitermax + kiter 1009 1012 1010 1013 ! convergence … … 1026 1029 istatus = NF90_PUT_VAR( ncvgid, nvarid, (/zresm/), (/it/), (/1/) ) 1027 1030 ! close file 1028 IF( kt == nitend - nn_fsbc + 1 ) istatus = NF90_CLOSE(ncvgid)1031 IF( kt == nitend - nn_fsbc + 1 .AND. kiter == kitermax ) istatus = NF90_CLOSE(ncvgid) 1029 1032 ENDIF 1030 1033
Note: See TracChangeset
for help on using the changeset viewer.