[cig-commits] [commit] master: u_phi in the fluid is zero (no sh-waves), although (293762f)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Tue Sep 16 05:31:10 PDT 2014


Repository : https://github.com/geodynamics/axisem

On branch  : master
Link       : https://github.com/geodynamics/axisem/compare/d6b3e375712782b2f2567b4d20e2c6d41b774eae...293762f04021fe5bda7f3326ec9b087fc18d45de

>---------------------------------------------------------------

commit 293762f04021fe5bda7f3326ec9b087fc18d45de
Author: martinvandriel <martin at vandriel.de>
Date:   Tue Sep 16 14:29:04 2014 +0200

    u_phi in the fluid is zero (no sh-waves), although
    
    the phi component of the gradient of chi is not zero. Proof: MvD aniso notes, p. 28.1-2
    
    still writing the zeros to all relevant files to keep them compatible (file formats do NOT
    change, only the values)


>---------------------------------------------------------------

293762f04021fe5bda7f3326ec9b087fc18d45de
 SOLVER/wavefields_io.f90 | 58 +++++++++++++-----------------------------------
 1 file changed, 16 insertions(+), 42 deletions(-)

diff --git a/SOLVER/wavefields_io.f90 b/SOLVER/wavefields_io.f90
index b7755ef..c15a68c 100644
--- a/SOLVER/wavefields_io.f90
+++ b/SOLVER/wavefields_io.f90
@@ -88,11 +88,11 @@ subroutine glob_snapshot_midpoint(f_sol, chi, ibeg, iend, jbeg, jend, isnap)
                if (axis_fluid(iel)) then
                   call dsdf_fluid_axis(chi(:,:,iel), iel, jpol, dsdchi)
                   write(2500+mynum) usz_fluid(ipol,jpol,iel,1), &
-                                    prefac * dsdchi * chi(ipol,jpol,iel), &
+                                    0, &
                                     usz_fluid(ipol,jpol,iel,2)
                else
                   write(2500+mynum) usz_fluid(ipol,jpol,iel,1), &
-                                    prefac * chi(ipol,jpol,iel), &
+                                    0, &
                                     usz_fluid(ipol,jpol,iel,2)
                endif
             enddo
@@ -117,7 +117,7 @@ end subroutine glob_snapshot_midpoint
 subroutine glob_snapshot_xdmf(f_sol, chi, t, isnap)
 
    use data_source,             only: src_type
-   use data_pointwise,          only: inv_rho_fluid, prefac_inv_s_rho_fluid
+   use data_pointwise,          only: inv_rho_fluid
    use pointwise_derivatives,   only: axisym_gradient_fluid, dsdf_fluid_axis
    use nc_routines,             only: nc_dump_snapshot
    use data_mesh,               only: npol, nel_solid, nel_fluid
@@ -163,7 +163,7 @@ subroutine glob_snapshot_xdmf(f_sol, chi, t, isnap)
       n_xdmf_fl = count(plotting_mask(:,:,1:nel_fluid))
 
       u_fl(:,:,:,1) = usz_fl(:,:,:,1) * inv_rho_fluid
-      u_fl(:,:,:,2) = chi * prefac_inv_s_rho_fluid
+      u_fl(:,:,:,2) = 0
       u_fl(:,:,:,3) = usz_fl(:,:,:,2) * inv_rho_fluid
 
       call xdmf_mapping(u_fl, mapping_ijel_iplot(:,:,1:nel_fluid), plotting_mask(:,:,1:nel_fluid), &
@@ -182,7 +182,7 @@ subroutine glob_snapshot_xdmf(f_sol, chi, t, isnap)
                      plotting_mask(:,:,:), &
                      i_arr_xdmf, j_arr_xdmf, straintrace_mask)
    
-   call calc_curlinplane(f_sol, chi, curlinplane)
+   call calc_curlinplane(f_sol, curlinplane)
    call xdmf_mapping(curlinplane, mapping_ijel_iplot(:,:,:), & 
                      plotting_mask(:,:,:), &
                      i_arr_xdmf, j_arr_xdmf, curlinplane_mask)
@@ -581,15 +581,15 @@ end subroutine glob_snapshot_xdmf
 !-----------------------------------------------------------------------------------------
 
 !-----------------------------------------------------------------------------------------
-subroutine calc_curlinplane(f_sol,chi,curlinplane)
+subroutine calc_curlinplane(f_sol, curlinplane)
   
-   use data_pointwise,          only : inv_rho_fluid, prefac_inv_s_rho_fluid
+   use data_pointwise,          only : inv_rho_fluid
    use pointwise_derivatives,   only : axisym_gradient_solid, axisym_gradient_solid_add
    use pointwise_derivatives,   only : axisym_gradient_fluid, axisym_gradient_fluid_add
    use pointwise_derivatives,   only : f_over_s_solid, f_over_s_fluid
    use data_source,             only : src_type
  
-   real(kind=realkind), intent(in)  :: f_sol(0:,0:,:,:), chi(0:,0:,:)
+   real(kind=realkind), intent(in)  :: f_sol(0:,0:,:,:)
    real(kind=realkind), intent(out) :: curlinplane(0:,0:,:,:)
  
    real(kind=realkind)              :: grad_sol_s(0:npol,0:npol,nel_solid,2)
@@ -615,7 +615,7 @@ end subroutine
 subroutine calc_straintrace(f_sol,chi,straintrace)
 !< Calculate strain trace (for P-wave visualisation)
   
-   use data_pointwise,        only   : inv_rho_fluid, prefac_inv_s_rho_fluid
+   use data_pointwise,        only   : inv_rho_fluid
    use pointwise_derivatives, only   : axisym_gradient_solid, axisym_gradient_solid_add
    use pointwise_derivatives, only   : axisym_gradient_fluid, axisym_gradient_fluid_add
    use pointwise_derivatives, only   : f_over_s_solid, f_over_s_fluid
@@ -627,7 +627,6 @@ subroutine calc_straintrace(f_sol,chi,straintrace)
    real(kind=realkind)              :: grad_sol(0:npol,0:npol,nel_solid,2)
    real(kind=realkind)              :: buff_solid(0:npol,0:npol,nel_solid)
    real(kind=realkind)              :: usz_fluid(0:npol,0:npol,nel_fluid,2)
-   real(kind=realkind)              :: up_fluid(0:npol,0:npol,nel_fluid)
    real(kind=realkind)              :: grad_flu(0:npol,0:npol,nel_fluid,2)
    real(kind=realkind)              :: two_rk = 2
 
@@ -662,25 +661,8 @@ subroutine calc_straintrace(f_sol,chi,straintrace)
       call axisym_gradient_fluid_add(usz_fluid(:,:,:,2), grad_flu)   !1:dsuz+dzus 
                                                                      !2:dzuz+dsus
    
-      ! Components involving phi................................................
-   
-      if (src_type(1) == 'monopole') then
-         ! Calculate us/s and straintrace
-         straintrace(:,:,1:nel_fluid,1) = f_over_s_fluid(usz_fluid(:,:,:,1)) &
-                                             + grad_flu(:,:,:,2) 
-   
-      elseif (src_type(1) == 'dipole') then
-         up_fluid = prefac_inv_s_rho_fluid * chi
-         straintrace(:,:,1:nel_fluid,1) = f_over_s_fluid(usz_fluid(:,:,:,1) - up_fluid) & 
-                                             + grad_flu(:,:,:,2)
-   
-      elseif (src_type(1) == 'quadpole') then
-         up_fluid = prefac_inv_s_rho_fluid * chi
-         straintrace(:,:,1:nel_fluid,1) = f_over_s_fluid(usz_fluid(:,:,:,1) &
-                                             - two_rk * up_fluid) &  !Ekk
-                                             + grad_flu(:,:,:,2)
-   
-      endif   !src_type
+      straintrace(:,:,1:nel_fluid,1) = f_over_s_fluid(usz_fluid(:,:,:,1)) & 
+                                        + grad_flu(:,:,:,2)
    end if
 
 end subroutine
@@ -862,7 +844,7 @@ subroutine dump_disp(u, chi, istrain)
                                 //appmynum//'_'//appisnap//'.bindat',&
                                 FORM="UNFORMATTED",STATUS="REPLACE")
    
-      write(76000+mynum)chi
+      write(76000+mynum) chi
       close(76000+mynum)
    endif 
 
@@ -918,7 +900,7 @@ end subroutine dump_velo_dchi
 !-----------------------------------------------------------------------------------------
 subroutine dump_velo_global(v, dchi, istrain)
 
-   use data_pointwise,          only: inv_rho_fluid, prefac_inv_s_rho_fluid
+   use data_pointwise,          only: inv_rho_fluid
    use data_source,             only: src_type, src_dump_type
    use pointwise_derivatives,   only: axisym_gradient_fluid, dsdf_fluid_allaxis
    use data_mesh,               only: npol, nel_solid, nel_fluid
@@ -927,7 +909,6 @@ subroutine dump_velo_global(v, dchi, istrain)
    real(kind=realkind), intent(in) :: dchi(:,:,:)
    integer,             intent(in) :: istrain
    
-   real(kind=realkind)             :: phicomp(0:npol,0:npol,nel_fluid)
    integer                         :: i
    character(len=4)                :: appisnap
    real(kind=realkind)             :: f(0:npol,0:npol,1:nel_solid,3)
@@ -968,13 +949,10 @@ subroutine dump_velo_global(v, dchi, istrain)
       ! compute velocity vector inside fluid
      call axisym_gradient_fluid(dchi, usz_fluid)
  
-     ! phi component needs special care: m/(s rho) dchi
-     phicomp = prefac_inv_s_rho_fluid * dchi
- 
      call define_io_appendix(appisnap,istrain)
      fflu(ibeg:iend,ibeg:iend,:,1) = inv_rho_fluid(ibeg:iend,ibeg:iend,:) * &
                                      usz_fluid(ibeg:iend,ibeg:iend,:,1)
-     fflu(ibeg:iend,ibeg:iend,:,2) = phicomp(ibeg:iend,ibeg:iend,:)
+     fflu(ibeg:iend,ibeg:iend,:,2) = 0
      fflu(ibeg:iend,ibeg:iend,:,3) = inv_rho_fluid(ibeg:iend,ibeg:iend,:) * &
                                      usz_fluid(ibeg:iend,ibeg:iend,:,2)      
  
@@ -1001,7 +979,7 @@ end subroutine dump_velo_global
 !-----------------------------------------------------------------------------------------
 subroutine dump_disp_global(u, chi, istrain)
 
-   use data_pointwise,          only: inv_rho_fluid, prefac_inv_s_rho_fluid
+   use data_pointwise,          only: inv_rho_fluid
    use data_source,             only: src_type, src_dump_type
    use pointwise_derivatives,   only: axisym_gradient_fluid, dsdf_fluid_allaxis
    use data_mesh,               only: npol, nel_solid, nel_fluid
@@ -1010,7 +988,6 @@ subroutine dump_disp_global(u, chi, istrain)
    real(kind=realkind), intent(in) :: chi(:,:,:)
    integer,             intent(in) :: istrain
    
-   real(kind=realkind)             :: phicomp(0:npol,0:npol,nel_fluid)
    integer                         :: i
    character(len=4)                :: appisnap
    real(kind=realkind)             :: f(0:npol,0:npol,1:nel_solid,3)
@@ -1059,12 +1036,9 @@ subroutine dump_disp_global(u, chi, istrain)
       ! compute velocity vector inside fluid
      call axisym_gradient_fluid(chi, usz_fluid)
  
-     ! phi component needs special care: m/(s rho) chi
-     phicomp = prefac_inv_s_rho_fluid * chi
- 
      call define_io_appendix(appisnap,istrain)
      fflu(:,:,:,1) = inv_rho_fluid(:,:,:) * usz_fluid(:,:,:,1)
-     fflu(:,:,:,2) = phicomp(:,:,:)
+     fflu(:,:,:,2) = 0
      fflu(:,:,:,3) = inv_rho_fluid(:,:,:) * usz_fluid(:,:,:,2)      
  
      ! dump displacement vector inside fluid



More information about the CIG-COMMITS mailing list