Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gmesh and specfem2D #324

Open
ghost opened this issue May 4, 2015 · 2 comments
Open

Gmesh and specfem2D #324

ghost opened this issue May 4, 2015 · 2 comments

Comments

@ghost
Copy link

ghost commented May 4, 2015

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

  1. 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.

  1. 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
Copy link
Contributor

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

@ghost
Copy link
Author

ghost commented May 5, 2015

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 #324 (comment).

@ghost
Copy link
Author

ghost commented May 5, 2015

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
Copy link
Contributor

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 #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 #2 1 2500.d0 5000.d0
2500.0d0 0 0 10.d0 10.d0 0 0 0 0 0 0
#3 #3 1 2200.d0 2500.d0
1443.375d0 0 0 10.d0 10.d0 0 0 0 0 0 0
#4 #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 #5 2 2500.d0 169.d9
122.d9 0.d0 169.d9 0.d0 75.3d9 0 0 0 0 0 0
#4 #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 #1 80 21 40 4
#1 #1 80 41 60 3
#60 #60 80 21 40 4
#30 #30 40 50 60 2
#35 #35 40 50 60 5


Reply to this email directly or view it on GitHub
#324 (comment).

@ghost
Copy link
Author

ghost commented May 11, 2015

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant