[cig-commits] [commit] devel: Fix a problem with remove_min_to_start_at_zero in AXISYM option (4e66ec3)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Fri Oct 31 07:37:07 PDT 2014


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

On branch  : devel
Link       : https://github.com/geodynamics/specfem2d/compare/1bf2f9afb1921add757b42837c8e2517c3df028d...c5d302b407be76dc8b15fd41b30dd9a6f73fe91e

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

commit 4e66ec34639a60a0ad77415cc10c88677e214400
Author: Alexis Bottero <alexis.bottero at gmail.com>
Date:   Fri Oct 31 14:13:19 2014 +0100

    Fix a problem with remove_min_to_start_at_zero in AXISYM option


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

4e66ec34639a60a0ad77415cc10c88677e214400
 flags.guess                                        |  3 ++-
 src/meshfem2D/meshfem2D.F90                        |  2 ++
 src/specfem2D/compute_coupling_viscoelastic_ac.f90 |  1 -
 src/specfem2D/prepare_source_time_function.f90     | 11 +++++++++++
 4 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/flags.guess b/flags.guess
index d8b3723..8ee6e5b 100644
--- a/flags.guess
+++ b/flags.guess
@@ -41,7 +41,8 @@ case $FC in
 # I/O throughput lingers at 2.5 MB/s, with it it can increase to ~44 MB/s
 # However it does not make much of a difference on NFS mounted volumes or with SFS 3.1.1 / Lustre 1.6.7.1 
         if test x"$DEF_FFLAGS" = x; then
-            DEF_FFLAGS="-O3 -check nobounds -xHost -fpe0 -ftz -assume buffered_io -assume byterecl -align sequence -vec-report0 -std03 -implicitnone -gen-interfaces -warn all"
+            DEF_FFLAGS="-check all -debug -g -O0 -fp-stack-check -traceback -ftrapuv -xHost -fpe0 -ftz -assume buffered_io -assume byterecl -align sequence -vec-report0 -std03 -implicitnone -gen-interfaces -warn all"
+#            DEF_FFLAGS="-O3 -check nobounds -xHost -fpe0 -ftz -assume buffered_io -assume byterecl -align sequence -vec-report0 -std03 -implicitnone -gen-interfaces -warn all"
         fi
         # useful for debugging...
         # for debugging: change -O3 -check nobounds to      -check all -debug -g -O0 -fp-stack-check -traceback -ftrapuv
diff --git a/src/meshfem2D/meshfem2D.F90 b/src/meshfem2D/meshfem2D.F90
index bcdcb33..7cd0d3c 100644
--- a/src/meshfem2D/meshfem2D.F90
+++ b/src/meshfem2D/meshfem2D.F90
@@ -820,6 +820,8 @@ program meshfem2D
 
     else ! if the mesh has been made by the internal mesher
       
+      remove_min_to_start_at_zero = 0 !TODO
+
       if(xmin * xmax < 0) stop 'in axisymmetric mode xmin and xmax must have the same sign, they cannot cross the symmetry axis'
       if(xmin < 0) stop 'in axisymmetric mode, case of symmetry axis on the right edge instead of left not supported yet'
 
diff --git a/src/specfem2D/compute_coupling_viscoelastic_ac.f90 b/src/specfem2D/compute_coupling_viscoelastic_ac.f90
index 770c67a..cbf6cdc 100644
--- a/src/specfem2D/compute_coupling_viscoelastic_ac.f90
+++ b/src/specfem2D/compute_coupling_viscoelastic_ac.f90
@@ -124,7 +124,6 @@
 
           ! compute pressure on the fluid/solid edge
           pressure = - potential_dot_dot_acoustic(iglob)
-
           if(PML_BOUNDARY_CONDITIONS)then
              if(is_PML(ispec_acoustic) .and. nspec_PML > 0) then
                ispec_PML = spec_to_PML(ispec_acoustic)
diff --git a/src/specfem2D/prepare_source_time_function.f90 b/src/specfem2D/prepare_source_time_function.f90
index 4f3f661..55dcfcc 100644
--- a/src/specfem2D/prepare_source_time_function.f90
+++ b/src/specfem2D/prepare_source_time_function.f90
@@ -124,6 +124,17 @@
         !               TWO*aval(i_source)*sqrt(aval(i_source))*&
         !               (timeval-t0-tshift_src(i_source))/pi * exp(-aval(i_source)*(timeval-t0-tshift_src(i_source))**2)
         
+      else if( time_function_type(i_source) == 42 ) then
+
+        ! Dummy source for tests
+        if ((timeval-t0-tshift_src(i_source) .ge. ZERO) .and. (timeval-t0-tshift_src(i_source) .le. ONE/f0(i_source))) then
+          source_time_function(i_source,it,i_stage) = - factor(i_source) * &
+                                              (3.0d0/4.0d0-cos(TWO*PI*f0(i_source)*(timeval-t0-tshift_src(i_source))) + &
+                                               1.0d0/4.0d0*cos(TWO*TWO*PI*f0(i_source)*(timeval-t0-tshift_src(i_source))))
+        else          
+          source_time_function(i_source,it,i_stage) = ZERO        
+        endif
+        
       else if( time_function_type(i_source) == 2 ) then
 
         ! first derivative of a Gaussian source time function



More information about the CIG-COMMITS mailing list