SPECFEM / specfem2d

SPECFEM2D simulates forward and adjoint seismic wave propagation in two-dimensional acoustic, (an)elastic, poroelastic or coupled acoustic-(an)elastic-poroelastic media, with Convolution PML absorbing conditions.
https://specfem.org
GNU General Public License v3.0
203 stars 147 forks source link

Gmesh and specfem2D #324

Open ghost opened 9 years ago

ghost commented 9 years ago

Hello,

I am having some problems generating the mesh configuration for specfem2D (version 7.0.0) using Gmesh. I cannot use the internal mesh since I need to build crossing interfaces.

Here the steps I followed:

1) I created the input file called “solid_fluid_flat.geo” (see below): this is a simple two layer model (top:fluid; bottom:solid) with a flat interface; I wrote this input file using SPECFEM2D-7.0.0/EXAMPLES/Gmsh_example_MPI/SqrCirc.geo as reference.

2) I run gmsh (I tried both on mac OX (mesh downloaded from http://geuz.org/gmsh/) and on linux (gmsh-2.8.4-Linux from http://geuz.org/gmsh/bin/Linux/).:

gmsh -2 solid_fluid_flat.geo

on the shell

3) and then, as reported by the manual, I run on the shell:

python SPECFEM2D-7.0.0/UTILS/Gmsh/LibGmsh2Specfem_convert_Gmsh_to_Specfem2D_official.py solid_fluid_flat -t F -b A -r A -l A

I get no errors up to this stage.

4) I run the mesh builder:

xmeshfem2D > OUTPUT_FILES/output_mesher.txt

and at this stage I get this:

At line 138 of file ./part_unstruct.F90 (unit = 990, file = 'Mesh_solid_fluid_flat') Fortran runtime error: End of file

I am wondering if this is related to the fact that the manual says that the mesh should be built selecting a couple of options, “Subdivision algorithm” and “Element order" (page 10). How/Where can I set these options?

Thanks. Regards, Lucia

============================== solid_fluid_flat.geo =============================

km=1; s=0.1; lc1=1_km_s; Point(1) = {-1_km,-1_km,0,lc1}; Point(2) = {1_km ,-1_km,0,lc1}; Point(3) = {1_km,1_km,0,lc1}; Point(4) = {-1_km,1_km,0,lc1}; Point(5) = {-1_km, 0.5_km,0,lc1}; Point(6) = {1_km, 0.5_km,0,lc1};

Line(1)={3,4}; Line(2)={4,1}; Line(3)={2,1}; Line(4)={2,3}; Line(5)={5,6}; Line(6)={1,5}; Line(7)={6,2}; Line(8)={4,5}; Line(9)={6,3};

Line Loop(100)={1,8,5,9}; Line Loop(200)={5,7,3,6}; Plane Surface(10)={100}; Plane Surface(11)={200}; Recombine Surface{10,11}; Mesh.SubdivisionAlgorithm = 1; Physical Line("Top") = {1}; Physical Line("Left") = {2}; Physical Line("Bottom") = {3}; Physical Line("Right") = {4}; Physical Surface("M1") = {10}; Physical Surface("M2") = {11};

pcristini commented 9 years ago

can you send the Parfile and SOURCE file in order to check. Thanks

ghost commented 9 years ago

Here the Parfile and source file:

Thanks, Lucia

On May 5, 2015, at 1:56 PM, Paul Cristini notifications@github.com wrote:

can you send the Parfile and SOURCE file in order to check. Thanks

— Reply to this email directly or view it on GitHub https://github.com/geodynamics/specfem2d/issues/324#issuecomment-99219320.

ghost commented 9 years ago

I am not sure it worked. I copy and paste the files below.

Thanks, Lucia


here "SOURCE.solid_fluid":

source 1. The components of a moment tensor source must be given in N.m, not in dyne.cm as in the DATA/CMTSOLUTION source file of the 3D version of the code.

source_surf = .false. # source inside the medium or at the surface xs = 0. # source location x in meters zs = 0.75 # source location z in meters source_type = 1 # elastic force or acoustic pressure = 1 or moment tensor = 2 time_function_type = 1 # Ricker = 1, first derivative = 2, Gaussian = 3, Dirac = 4, Heaviside = 5 f0 = 6.d3 # dominant source frequency (Hz) if not Dirac or Heaviside t0 = 0.0 # time shift when multi sources (if one source, must be zero) anglesource = 0.0 # angle of the source (for a force only) Mxx = 1. # Mxx component (for a moment tensor source only) Mzz = 1. # Mzz component (for a moment tensor source only) Mxz = 0. # Mxz component (for a moment tensor source only) factor = 1.d10 # amplification factor


here "Par_file_Gmsh_solid_fluid.in":

title of job

title = Shallow water 30 Hz Source middle 4 receiver sets

forward or adjoint simulation

SIMULATION_TYPE = 1 # 1 = forward, 2 = adjoint + kernels NOISE_TOMOGRAPHY = 0 # 0 = earthquake simulation, 1/2/3 = noise simulation SAVE_FORWARD = .false. # save the last frame, needed for adjoint simulation

parameters concerning partitioning

nproc = 4 # number of processes partitioning_method = 3 # ascending order = 1, Scotch = 3 PERFORM_CUTHILL_MCKEE = .false. # perform inverse Cuthill-McKee (1969) optimization/permutation for mesh numbering (can be very costly and not very useful)

ngnod = 9 # number of control nodes per element (4 or 9) initialfield = .false. # use a plane wave as source or not add_Bielak_conditions = .false. # add Bielak conditions or not if initial plane wave assign_external_model = .false. # define external earth model or not READ_EXTERNAL_SEP_FILE = .false. # Read external SEP file from DATA/model_velocity.dat_input, or use routine ATTENUATION_VISCOELASTIC_SOLID = .false. # turn attenuation (viscoelasticity) on or off for non-poroelastic solid parts of the model ATTENUATION_PORO_FLUID_PART = .false. # turn viscous attenuation on or off for the fluid part of poroelastic parts of the model Q0 = 1 # quality factor for viscous attenuation freq0 = 10 # frequency for viscous attenuation p_sv = .true. # set the type of calculation (P-SV or SH/membrane waves)

time step parameters

nt = 2400 # total number of time steps deltat = 5.d-7 # duration of a time step (see section "How to choose the time step" of the manual for how to do this) USER_T0 = 0.0d0 # use this t0 as earliest starting time rather than the automatically calculated one time_stepping_scheme = 1 # 1 = Newmark (2nd order), 2 = LDDRK4-6 (4th-order 6-stage low storage Runge-Kutta), 3 = classical 4th-order 4-stage Runge-Kutta

source parameters

NSOURCES = 1 # number of sources [source info read in CMTSOLUTION file] force_normal_to_surface = .false. # angleforce normal to surface (external mesh and curve file needed)

constants for attenuation

N_SLS = 2 # number of standard linear solids for attenuation f0_attenuation = 5.196152422706633 # (Hz) relevant only if source is a Dirac or a Heaviside, else it is f0

receiver set parameters for seismograms

seismotype = 4 # record 1=displ 2=veloc 3=accel 4=pressure 5=curl of displ 6=the fluid potential NSTEP_BETWEEN_OUTPUT_SEISMOS = 5000000 # every how many time steps we save the seismograms (costly, do not use a very small value; if you use a very large value that is larger than the total number of time steps of the run, the seismograms will automatically be saved once at the end of the run anyway) save_ASCII_seismograms = .true. # save seismograms in ASCII format or not save_binary_seismograms_single = .true. # save seismograms in single precision binary format or not (can be used jointly with ASCII above to save both) save_binary_seismograms_double = .false. # save seismograms in double precision binary format or not (can be used jointly with both flags above to save all) SU_FORMAT = .false. # output single precision binary seismograms in Seismic Unix format (adjoint traces will be read in the same format) subsamp_seismos = 1 # subsampling of the seismograms to create smaller files (but less accurately sampled in time) generate_STATIONS = .true. # creates a STATION file in ./DATA nreceiversets = 1 # number of receiver sets anglerec = 0.d0 # angle to rotate components at receivers rec_normal_to_surface = .false. # replace anglerec with the normal to the surface (external mesh and curve file needed, anglerec above ignored)

first receiver set

nrec = 11 # number of receivers xdeb = -0.5 # first receiver x in meters zdeb = 0.5 # first receiver z in meters xfin = 0.5 # last receiver x in meters (ignored if onlyone receiver) zfin = 0.5 # last receiver z in meters (ignored if onlyone receiver) enreg_surf_same_vertical = .false. # receivers inside the medium or at the surface

display parameters

NSTEP_BETWEEN_OUTPUT_INFO = 300 # every how many time steps we display information about the simulation (costly, do not use a very small value) NSTEP_BETWEEN_OUTPUT_IMAGES = 100 # every how many time steps we draw JPEG or PostScript pictures of the simulation (costly, do not use a very small value) cutsnaps = 1. # minimum amplitude kept in % for the JPEG and PostScript snapshots; amplitudes below that are muted

for JPEG color images

output_color_image = .true. # output JPEG color image of the results every NSTEP_BETWEEN_OUTPUT_IMAGES time steps or not imagetype_JPEG = 10 # display 1=displ_Ux 2=displ_Uz 3=displ_norm 4=veloc_Vx 5=veloc_Vz 6=veloc_norm 7=accel_Ax 8=accel_Az 9=accel_norm 10=pressure factor_subsample_image = 1 # factor to subsample color images output by the code (useful for very large models) POWER_DISPLAY_COLOR = 0.30d0 # non linear display to enhance small amplitudes in color images DRAW_SOURCES_AND_RECEIVERS = .true. # display sources as orange crosses and receivers as green squares in JPEG images or not DRAW_WATER_IN_BLUE = .true. # display acoustic layers as constant blue in JPEG images, because they likely correspond to water in the case of ocean acoustics or in the case of offshore oil industry experiments (if off, display them as greyscale, as for elastic or poroelastic elements, for instance for acoustic-only oil industry models of solid media) USE_SNAPSHOT_NUMBER_IN_FILENAME = .false. # use snapshot number in the file name of JPEG color snapshots instead of the time step

for PostScript snapshots

output_postscript_snapshot = .false. # output Postscript snapshot of the results imagetype_postscript = 1 # display 1=displ vector 2=veloc vector 3=accel vector; small arrows are displayed for the vectors meshvect = .true. # display mesh on vector plots or not modelvect = .false. # display velocity model on vector plots boundvect = .true. # display boundary conditions on plots interpol = .true. # interpolation of the display or not pointsdisp = 6 # points for interpolation of display (set to 1 for lower-left corner only) subsamp_postscript = 1 # subsampling of color snapshots sizemax_arrows = 1.d0 # maximum size of arrows on vector plots in cm US_LETTER = .false. # US letter paper or European A4

for wavefield dumps

NSTEP_BETWEEN_OUTPUT_WAVE_DUMPS = 100 # every how many time steps we dump results of the simulation as ASCII or binary files (costly, do not use a very small value) output_wavefield_dumps = .false. # output wave field to a text file every NSTEP_BETWEEN_OUTPUT_TEXT_DUMPS time steps (creates very big files) imagetype_wavefield_dumps = 1 # display 1=displ vector 2=veloc vector 3=accel vector 4=pressure use_binary_for_wavefield_dumps = .false. # use ASCII or single-precision binary format for the wave field dumps

output_grid_Gnuplot = .false. # save the grid in a text file or not output_grid_ASCII = .false. # dump the grid in an ASCII text file consisting of a set of X,Y,Z points or not output_energy = .false. # compute and output acoustic and elastic energy (slows down the code significantly)

velocity and density models

nbmodels = 2 # nb of different models

define models as I: (model_number,1,rho,Vp,Vs,0,0,QKappa Qmu) or II: (model_number,2,rho,c11,c13,c15,c33,c35,c55) or III: (model_number,3,rhos,rhof,phi,c,kxx,kxz,kzz,Ks,Kf,Kfr,etaf,mufr,Qmu).

For istropic elastic/acoustic material use I and set Vs to zero to make a given model acoustic, for anisotropic elastic use II,

and for isotropic poroelastic material use III. The mesh can contain acoustic, elastic, & poroelastic models simultaneously

1 1 1000.d0 1500.d0 0.0d0 0 0 10.d0 10.d0 0 0 0 0 0 0 2 1 1300.d0 5800.d0 3.2d0 0 0 10.d0 10.d0 0 0 0 0 0 0

3 3 2650.d0 1000.0d0 0.4 1.25 1d-10 0.0 1d-10 3.6d10 2.25d9 2d9 0.0d-4 3.204d9 10.d0

2 1 2500.d0 5000.d0 2500.0d0 0 0 10.d0 10.d0 0 0 0 0 0 0

3 1 2200.d0 2500.d0 1443.375d0 0 0 10.d0 10.d0 0 0 0 0 0 0

4 3 2200.d0 786.3d0 0.4 2.0 1d-11 0.0 1d-11 5.341d9 2d9 3d9 0.0d-4 3.204d9 10.d0

5 2 2500.d0 169.d9 122.d9 0.d0 169.d9 0.d0 75.3d9 0 0 0 0 0 0

4 1 2200.d0 2200.d0 1343.375d0 0 0 10.d0 10.d0 0 0 0 0 0 0

external mesh or not

read_external_mesh = .true.

absorbing boundary active or not

PML_BOUNDARY_CONDITIONS = .false. NELEM_PML_THICKNESS = 3 STACEY_ABSORBING_CONDITIONS = .true. ADD_SPRING_TO_STACEY = .true.

for horizontal periodic conditions: detect common points between left and right edges

ADD_PERIODIC_CONDITIONS = .false.

horizontal periodicity distance for periodic conditions

PERIODIC_horiz_dist = 0.3597d0

grid point detection tolerance for periodic conditions

PERIODIC_DETECT_TOL = 3.3334d-6

-----------------------------------------------------------------------------

PARAMETERS FOR EXTERNAL MESHING

data concerning mesh, when generated using third-party app (more info in README)

(see also absorbing_conditions above)

mesh_file = Mesh_solid_fluid_flat # file containing the mesh nodes_coords_file = Nodes_solid_fluid_flat # file containing the nodes coordinates materials_file = Material_solid_fluid_flat # file containing the material number for each element free_surface_file = Surf_free_solid_fluid_flat # file containing the free surface absorbing_surface_file = Surf_abs_solid_fluid_flat # file containing the absorbing surface CPML_element_file = EltPML_xxxxxx # file containing the CPML element numbers tangential_detection_curve_file = ./DATA/courbe_eros_nodes # file containing the curve delimiting the velocity model

-----------------------------------------------------------------------------

PARAMETERS FOR INTERNAL MESHING

file containing interfaces for internal mesh

interfacesfile = Interface_flat_ASM_DGA_119_62kHz.dat

geometry of the model (origin lower-left corner = 0,0) and mesh description

xmin = -1.d0 # abscissa of left side of the model xmax = 4.d0 # abscissa of right side of the model# file containing interfaces for internal mesh nx = 835 # number of elements along X

absorbing boundaries parameters

absorbbottom = .true. absorbright = .true. absorbtop = .true. absorbleft = .true.

define the different regions of the model in the (nx,nz) spectral element mesh

nbregions = 2 # nb of regions and model number for each 1 835 1 71 1 1 835 72 96 2

1 80 21 40 4

1 80 41 60 3

60 80 21 40 4

30 40 50 60 2

35 40 50 60 5

pcristini commented 9 years ago

I checked and found that you did a mistake an inversion of file names. Just change solid_fluid to fluid_solid. One more thing. Don't use several cores in your computation since you only have 8 elements. A serial run will be enough. thanks Paul

Le 05/05/2015 23:08, gualtierilucia a écrit :

I am not sure it worked. I copy and paste the files below.

Thanks, Lucia


here "SOURCE.solid_fluid":

source 1. The components of a moment tensor source must be given in

N.m, not in dyne.cm as in the DATA/CMTSOLUTION source file of the 3D version of the code. source_surf = .false. # source inside the medium or at the surface xs = 0. # source location x in meters zs = 0.75 # source location z in meters source_type = 1 # elastic force or acoustic pressure = 1 or moment tensor = 2 time_function_type = 1 # Ricker = 1, first derivative = 2, Gaussian = 3, Dirac = 4, Heaviside = 5 f0 = 6.d3 # dominant source frequency (Hz) if not Dirac or Heaviside t0 = 0.0 # time shift when multi sources (if one source, must be zero) anglesource = 0.0 # angle of the source (for a force only) Mxx = 1. # Mxx component (for a moment tensor source only) Mzz = 1. # Mzz component (for a moment tensor source only) Mxz = 0. # Mxz component (for a moment tensor source only) factor = 1.d10 # amplification factor


here "Par_file_Gmsh_solid_fluid.in":

title of job

title = Shallow water 30 Hz Source middle 4 receiver sets

forward or adjoint simulation

SIMULATION_TYPE = 1 # 1 = forward, 2 = adjoint + kernels NOISE_TOMOGRAPHY = 0 # 0 = earthquake simulation, 1/2/3 = noise simulation SAVE_FORWARD = .false. # save the last frame, needed for adjoint simulation

parameters concerning partitioning

nproc = 4 # number of processes partitioning_method = 3 # ascending order = 1, Scotch = 3 PERFORM_CUTHILL_MCKEE = .false. # perform inverse Cuthill-McKee (1969) optimization/permutation for mesh numbering (can be very costly and not very useful)

ngnod = 9 # number of control nodes per element (4 or 9) initialfield = .false. # use a plane wave as source or not add_Bielak_conditions = .false. # add Bielak conditions or not if initial plane wave assign_external_model = .false. # define external earth model or not READ_EXTERNAL_SEP_FILE = .false. # Read external SEP file from DATA/model_velocity.dat_input, or use routine ATTENUATION_VISCOELASTIC_SOLID = .false. # turn attenuation (viscoelasticity) on or off for non-poroelastic solid parts of the model ATTENUATION_PORO_FLUID_PART = .false. # turn viscous attenuation on or off for the fluid part of poroelastic parts of the model Q0 = 1 # quality factor for viscous attenuation freq0 = 10 # frequency for viscous attenuation p_sv = .true. # set the type of calculation (P-SV or SH/membrane waves)

time step parameters

nt = 2400 # total number of time steps deltat = 5.d-7 # duration of a time step (see section "How to choose the time step" of the manual for how to do this) USER_T0 = 0.0d0 # use this t0 as earliest starting time rather than the automatically calculated one time_stepping_scheme = 1 # 1 = Newmark (2nd order), 2 = LDDRK4-6 (4th-order 6-stage low storage Runge-Kutta), 3 = classical 4th-order 4-stage Runge-Kutta

source parameters

NSOURCES = 1 # number of sources [source info read in CMTSOLUTION file] force_normal_to_surface = .false. # angleforce normal to surface (external mesh and curve file needed)

constants for attenuation

N_SLS = 2 # number of standard linear solids for attenuation f0_attenuation = 5.196152422706633 # (Hz) relevant only if source is a Dirac or a Heaviside, else it is f0

receiver set parameters for seismograms

seismotype = 4 # record 1=displ 2=veloc 3=accel 4=pressure 5=curl of displ 6=the fluid potential NSTEP_BETWEEN_OUTPUT_SEISMOS = 5000000 # every how many time steps we save the seismograms (costly, do not use a very small value; if you use a very large value that is larger than the total number of time steps of the run, the seismograms will automatically be saved once at the end of the run anyway) save_ASCII_seismograms = .true. # save seismograms in ASCII format or not save_binary_seismograms_single = .true. # save seismograms in single precision binary format or not (can be used jointly with ASCII above to save both) save_binary_seismograms_double = .false. # save seismograms in double precision binary format or not (can be used jointly with both flags above to save all) SU_FORMAT = .false. # output single precision binary seismograms in Seismic Unix format (adjoint traces will be read in the same format) subsamp_seismos = 1 # subsampling of the seismograms to create smaller files (but less accurately sampled in time) generate_STATIONS = .true. # creates a STATION file in ./DATA nreceiversets = 1 # number of receiver sets anglerec = 0.d0 # angle to rotate components at receivers rec_normal_to_surface = .false. # replace anglerec with the normal to the surface (external mesh and curve file needed, anglerec above ignored)

first receiver set

nrec = 11 # number of receivers xdeb = -0.5 # first receiver x in meters zdeb = 0.5 # first receiver z in meters xfin = 0.5 # last receiver x in meters (ignored if onlyone receiver) zfin = 0.5 # last receiver z in meters (ignored if onlyone receiver) enreg_surf_same_vertical = .false. # receivers inside the medium or at the surface

display parameters

NSTEP_BETWEEN_OUTPUT_INFO = 300 # every how many time steps we display information about the simulation (costly, do not use a very small value) NSTEP_BETWEEN_OUTPUT_IMAGES = 100 # every how many time steps we draw JPEG or PostScript pictures of the simulation (costly, do not use a very small value) cutsnaps = 1. # minimum amplitude kept in % for the JPEG and PostScript snapshots; amplitudes below that are muted

    for JPEG color images

output_color_image = .true. # output JPEG color image of the results every NSTEP_BETWEEN_OUTPUT_IMAGES time steps or not imagetype_JPEG = 10 # display 1=displ_Ux 2=displ_Uz 3=displ_norm 4=veloc_Vx 5=veloc_Vz 6=veloc_norm 7=accel_Ax 8=accel_Az 9=accel_norm 10=pressure factor_subsample_image = 1 # factor to subsample color images output by the code (useful for very large models) POWER_DISPLAY_COLOR = 0.30d0 # non linear display to enhance small amplitudes in color images DRAW_SOURCES_AND_RECEIVERS = .true. # display sources as orange crosses and receivers as green squares in JPEG images or not DRAW_WATER_IN_BLUE = .true. # display acoustic layers as constant blue in JPEG images, because they likely correspond to water in the case of ocean acoustics or in the case of offshore oil industry experiments (if off, display them as greyscale, as for elastic or poroelastic elements, for instance for acoustic-only oil industry models of solid media) USE_SNAPSHOT_NUMBER_IN_FILENAME = .false. # use snapshot number in the file name of JPEG color snapshots instead of the time step

    for PostScript snapshots

output_postscript_snapshot = .false. # output Postscript snapshot of the results imagetype_postscript = 1 # display 1=displ vector 2=veloc vector 3=accel vector; small arrows are displayed for the vectors meshvect = .true. # display mesh on vector plots or not modelvect = .false. # display velocity model on vector plots boundvect = .true. # display boundary conditions on plots interpol = .true. # interpolation of the display or not pointsdisp = 6 # points for interpolation of display (set to 1 for lower-left corner only) subsamp_postscript = 1 # subsampling of color snapshots sizemax_arrows = 1.d0 # maximum size of arrows on vector plots in cm US_LETTER = .false. # US letter paper or European A4

    for wavefield dumps

NSTEP_BETWEEN_OUTPUT_WAVE_DUMPS = 100 # every how many time steps we dump results of the simulation as ASCII or binary files (costly, do not use a very small value) output_wavefield_dumps = .false. # output wave field to a text file every NSTEP_BETWEEN_OUTPUT_TEXT_DUMPS time steps (creates very big files) imagetype_wavefield_dumps = 1 # display 1=displ vector 2=veloc vector 3=accel vector 4=pressure use_binary_for_wavefield_dumps = .false. # use ASCII or single-precision binary format for the wave field dumps

output_grid_Gnuplot = .false. # save the grid in a text file or not output_grid_ASCII = .false. # dump the grid in an ASCII text file consisting of a set of X,Y,Z points or not output_energy = .false. # compute and output acoustic and elastic energy (slows down the code significantly)

velocity and density models

nbmodels = 2 # nb of different models

define models as I: (model_number,1,rho,Vp,Vs,0,0,QKappa Qmu) or II: (model_number,2,rho,c11,c13,c15,c33,c35,c55) or III: (model_number,3,rhos,rhof,phi,c,kxx,kxz,kzz,Ks,Kf,Kfr,etaf,mufr,Qmu).

For istropic elastic/acoustic material use I and set Vs to zero to make a given model acoustic, for anisotropic elastic use II,

and for isotropic poroelastic material use III. The mesh can contain acoustic, elastic, & poroelastic models simultaneously

1 1 1000.d0 1500.d0 0.0d0 0 0 10.d0 10.d0 0 0 0 0 0 0 2 1 1300.d0 5800.d0 3.2d0 0 0 10.d0 10.d0 0 0 0 0 0 0

3 https://github.com/geodynamics/specfem2d/pull/3 3 2650.d0

1000.0d0 0.4 1.25 1d-10 0.0 1d-10 3.6d10 2.25d9 2d9 0.0d-4 3.204d9 10.d0

2 https://github.com/geodynamics/specfem2d/pull/2 1 2500.d0 5000.d0

2500.0d0 0 0 10.d0 10.d0 0 0 0 0 0 0

3 https://github.com/geodynamics/specfem2d/pull/3 1 2200.d0 2500.d0

1443.375d0 0 0 10.d0 10.d0 0 0 0 0 0 0

4 https://github.com/geodynamics/specfem2d/pull/4 3 2200.d0 786.3d0

0.4 2.0 1d-11 0.0 1d-11 5.341d9 2d9 3d9 0.0d-4 3.204d9 10.d0

5 https://github.com/geodynamics/specfem2d/pull/5 2 2500.d0 169.d9

122.d9 0.d0 169.d9 0.d0 75.3d9 0 0 0 0 0 0

4 https://github.com/geodynamics/specfem2d/pull/4 1 2200.d0 2200.d0

1343.375d0 0 0 10.d0 10.d0 0 0 0 0 0 0

external mesh or not

read_external_mesh = .true.

absorbing boundary active or not

PML_BOUNDARY_CONDITIONS = .false. NELEM_PML_THICKNESS = 3 STACEY_ABSORBING_CONDITIONS = .true. ADD_SPRING_TO_STACEY = .true.

for horizontal periodic conditions: detect common points between left and right edges

ADD_PERIODIC_CONDITIONS = .false.

horizontal periodicity distance for periodic conditions

PERIODIC_horiz_dist = 0.3597d0

grid point detection tolerance for periodic conditions

PERIODIC_DETECT_TOL = 3.3334d-6

-----------------------------------------------------------------------------

PARAMETERS FOR EXTERNAL MESHING

data concerning mesh, when generated using third-party app (more info in README)

(see also absorbing_conditions above)

mesh_file = Mesh_solid_fluid_flat # file containing the mesh nodes_coords_file = Nodes_solid_fluid_flat # file containing the nodes coordinates materials_file = Material_solid_fluid_flat # file containing the material number for each element free_surface_file = Surf_free_solid_fluid_flat # file containing the free surface absorbing_surface_file = Surf_abs_solid_fluid_flat # file containing the absorbing surface CPML_element_file = EltPML_xxxxxx # file containing the CPML element numbers tangential_detection_curve_file = ./DATA/courbe_eros_nodes # file containing the curve delimiting the velocity model

-----------------------------------------------------------------------------

PARAMETERS FOR INTERNAL MESHING

file containing interfaces for internal mesh

interfacesfile = Interface_flat_ASM_DGA_119_62kHz.dat

geometry of the model (origin lower-left corner = 0,0) and mesh description

xmin = -1.d0 # abscissa of left side of the model xmax = 4.d0 # abscissa of right side of the model# file containing interfaces for internal mesh nx = 835 # number of elements along X

absorbing boundaries parameters

absorbbottom = .true. absorbright = .true. absorbtop = .true. absorbleft = .true.

define the different regions of the model in the (nx,nz) spectral element mesh

nbregions = 2 # nb of regions and model number for each 1 835 1 71 1 1 835 72 96 2

1 https://github.com/geodynamics/specfem2d/issues/1 80 21 40 4

1 https://github.com/geodynamics/specfem2d/issues/1 80 41 60 3

60 https://github.com/geodynamics/specfem2d/pull/60 80 21 40 4

30 https://github.com/geodynamics/specfem2d/pull/30 40 50 60 2

35 https://github.com/geodynamics/specfem2d/pull/35 40 50 60 5

— Reply to this email directly or view it on GitHub https://github.com/geodynamics/specfem2d/issues/324#issuecomment-99221874.

ghost commented 9 years ago

Where is this inversion? Do you mean the file name "solid_fluid.geo"? I have checked and I think I have called everything solid_fluid. Thanks, Lucia