SUBROUTINE deallocate_lattice_memory( this )
IMPLICIT NONE
CLASS(id_lattice), INTENT(INOUT):: this
IF(ALLOCATED( this% lapse ))THEN
DEALLOCATE( this% lapse, STAT= ios, ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array lapse ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% shift_x ))THEN
DEALLOCATE( this% shift_x, STAT= ios, &
ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array shift_x ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% shift_y ))THEN
DEALLOCATE( this% shift_y, STAT= ios, &
ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array shift_y ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% shift_z ))THEN
DEALLOCATE( this% shift_z, STAT= ios, &
ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array shift_z ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% g_xx ))THEN
DEALLOCATE( this% g_xx, STAT= ios, ERRMSG = err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array g_xx ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% g_xy ))THEN
DEALLOCATE( this% g_xy, STAT= ios, ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array g_xy ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% g_xz ))THEN
DEALLOCATE( this% g_xz, STAT= ios, ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array g_xz ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% g_yy ))THEN
DEALLOCATE( this% g_yy, STAT= ios, ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array g_yy ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% g_yz ))THEN
DEALLOCATE( this% g_yz, STAT= ios, ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array g_yz ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% g_zz ))THEN
DEALLOCATE( this% g_zz, STAT= ios, ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array g_zz ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% k_xx ))THEN
DEALLOCATE( this% k_xx, STAT= ios, ERRMSG = err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array k_xx ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% k_xy ))THEN
DEALLOCATE( this% k_xy, STAT= ios, ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array k_xy ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% k_xz ))THEN
DEALLOCATE( this% k_xz, STAT= ios, ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array k_xz ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% k_yy ))THEN
DEALLOCATE( this% k_yy, STAT= ios, ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array k_yy ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% k_yz ))THEN
DEALLOCATE( this% k_yz, STAT= ios, ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array k_yz ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% k_zz ))THEN
DEALLOCATE( this% k_zz, STAT= ios, ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array k_zz ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% mass_density ))THEN
DEALLOCATE( this% mass_density, STAT= ios, &
ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array mass_density ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% specific_energy ))THEN
DEALLOCATE( this% specific_energy, STAT= ios, &
ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array specific_energy ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% v_eul_x ))THEN
DEALLOCATE( this% v_eul_x, STAT= ios, &
ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array v_eul_x ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% v_eul_y ))THEN
DEALLOCATE( this% v_eul_y, STAT= ios, &
ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array v_eul_y ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
IF(ALLOCATED( this% v_eul_z ))THEN
DEALLOCATE( this% v_eul_z, STAT= ios, &
ERRMSG= err_msg )
IF( ios > 0 )THEN
PRINT *, "...deallocation error for array v_eul_z ", &
"The error message is", err_msg
STOP
ENDIF
ENDIF
END SUBROUTINE deallocate_lattice_memory