SPECFEM / specfem3d

SPECFEM3D_Cartesian simulates acoustic (fluid), elastic (solid), coupled acoustic/elastic, poroelastic or seismic wave propagation in any type of conforming mesh of hexahedra (structured or not).
GNU General Public License v3.0
390 stars 223 forks source link

Reading Velocity Model #1583

Open kenichi-tsuda opened 1 year ago

kenichi-tsuda commented 1 year ago

Dear People (I have posted the same issue on "discussion". Please forgive cross posting)

My name is Kenichi Tsuda from Japan (working for Shimizu Corporation). I have one question to read the velocity model externally.

Originally setting "Model = tomo" in Par_file worked to read the velocity model externally. However, the latest version of the code (I have downloaded recently) did not work just setting " Model = tomo" in Par file. I'm wondering whether I forgot to change any setting in Par_file. I'm very appreciated to have any suggestions for setting to be corrected.

I have posted two model_tomography.f90 (original and latest ones both are downloaded from github).

Regards

Kenichi Tsuda (kenichi.tsuda@shimz.co.jp)

Kenichi Tsuda, Ph.D. Ground Vibration Engineering Group Center for Safety and Reliability Engineering Institute of Technology, Shimizu Corporation Phone: +81-90-2551-8876 model_tomography.zip

Fax: +81-3-3643-7260

danielpeter commented 1 year ago

hi Kenichi-san,

right, the model_tomography.f90 routine changed a bit since the old version. if you could post some error messages, that might be helpful to see what the issue could be.

in general, if you define a mesh and a single material with a negative material_id, then both MODEL = default and MODEL = tomo should give you the same. you could however have a mesh with different regions and material ids, some using the defined material properties in Mesh_Par_file (having a positive material_id), some other regions with a negative material_id to have the velocities determined by the tomography file.

with the setting MODEL = tomo, it will over-impose the velocities from the tomography file on all materials (also the ones defined with positive ids in Mesh_Par_file). the setting MODEL = default would allow you to keep the mix between defined and undefined (i.e., where the tomography file values come into play) materials.

so, in your case it depends on how you defined your mesh and the regions to see where the difference between old and new version could be.

best, daniel

kenichi-tsuda commented 1 year ago

Dear Daniel san

Thanks for the comments. I deeply appreciate the suggstions.

The settings I was using so far are following

nummaterial_velocity_file generated during mesh generation 2 1 2600.000000 6000.000000 3460.000000 99990.000000 9999.000000 1 2 1 2600.000000 6000.000000 3460.000000 99990.000000 9999.000000 1

! note: format of nummaterial_velocity_file must be ! #(1)material_domain_id #(2)material_id #(3)rho #(4)vp #(5)vs #(6)Q_kappa #(7)Q_mu #(8)anisotropy_flag

Corresponding Part for Par_file MODEL = tomo

path for external tomographic models files

TOMOGRAPHY_PATH = ./DATA/

Error generated during running generate_database (some parts) Error opening tomography file Error detected, aborting MPI... proc 4 Error opening tomography file Error detected, aborting MPI... proc 10 -------(Continues)

I did not change the settings including generated mesh. I'm wondering I also have to use the latest version of the python script (subroutines in the geocubit library) to generate mesh.

I appreciate any suggestions to be corrected.

Regards

Kenichi Tsuda

kenichi-tsuda commented 1 year ago

I have attached the output files generated from xgenerate_database. output_generate_databases.txt

I also attached the python script tp generate mesh dipping_fault_planar_dip10_kink.zip

Regards

Kenichi Tsuda

danielpeter commented 1 year ago

not sure if this is by intention, but in your nummaterial_velocity_file, you use two identical entries?

2 1 2600.000000 6000.000000 3460.000000 99990.000000 9999.000000 1
2 1 2600.000000 6000.000000 3460.000000 99990.000000 9999.000000 1

if that is not needed, just use a single entry:

2 1 2600.000000 6000.000000 3460.000000 99990.000000 9999.000000 1

to explain, with the MODEL = tomo setting it allows now to have multiple tomography files (tomography_model_01.xyz, tomography_model_02.xyz, etc.). for each material defined in the nummaterial_velocity_file it will try to read from those. the only exception is if only a single material is defined, in which case it reads from tomography_model.xyz as was the case in the old version.

kenichi-tsuda commented 1 year ago

Dear Daniel san

Thanks for the comments and suggestions. After I removed one line on nummaterial_velocity_file, this looks working.

Even I have some issues to be solved, I'll send you separately.

Regards

Kenichi Tsuda