{"id":386,"date":"2014-06-11T20:41:00","date_gmt":"2014-06-11T20:41:00","guid":{"rendered":"http:\/\/ahay.org\/blog\/?p=386"},"modified":"2015-08-30T03:24:54","modified_gmt":"2015-08-30T03:24:54","slug":"program-of-the-month-sfeikonal","status":"publish","type":"post","link":"https:\/\/ahay.org\/blog\/2014\/06\/11\/program-of-the-month-sfeikonal\/","title":{"rendered":"Program of the month: sfeikonal"},"content":{"rendered":"<p><a href=\"\/RSF\/sfeikonal.html\">sfeikonal<\/a> solves the eikonal equation using the <a href=\"http:\/\/math.berkeley.edu\/~sethian\/2006\/Explanations\/fast_marching_explain.html\">Fast Marching Method<\/a>. This computation produces first-arrival traveltimes on a fixed grid. <\/p>\n<p>The following example from <a href=\"\/RSF\/book\/sep\/fmeiko\/fmarch.html\">sep\/fmeiko\/fmarch<\/a> shows traveltime contours for a point source inside the SEG\/EAGE salt model. <\/p>\n<p><img decoding=\"async\" src=\"\/RSF\/book\/sep\/fmeiko\/fmarch\/Fig\/salt.png\" alt=\"\" title=\"\" \/> <\/p>\n<p>The point source can be specified by its coordinates <strong>xshot=<\/strong>, <strong>yzhot=<\/strong>, and <strong>zshot=<\/strong> (note that the depth coordinate <strong>zshot<\/strong> corresponds to the first axis). In a small box around the source, the solution is computed analytically to avoid errors from the point-source singularity. The size of the box can be specified in samples (<strong>b1=<\/strong>, <strong>b2=<\/strong>, and <strong>b3=<\/strong>) or in physical dimensions (<strong>br1=<\/strong>, <strong>br2=<\/strong>, and <strong>br3=<\/strong>). For a plane-wave source instead of a point source, use <strong>plane1=y<\/strong>, <strong>plane2=y<\/strong>, or <strong>plane3=y<\/strong>. The plane is assumed to be aligned with the grid. For computing a traveltime table with multiple sources, the source coordinates can be specified in a file given by <strong>shotfile=<\/strong>. The order of accuracy in the finite-difference scheme is specified by <strong>order=<\/strong> parameter. <\/p>\n<p>The following plot from <a href=\"\/RSF\/book\/sep\/fmsec\/cvel.html\">sep\/fmsec\/cvel<\/a> shows the error difference between the first- and second-order computations in a constant-velocity medium. <\/p>\n<p><img decoding=\"async\" src=\"\/RSF\/book\/sep\/fmsec\/cvel\/Fig\/error.png\" alt=\"\" title=\"\" \/><\/p>\n<p><strong>sfeikonal<\/strong> computes isotropic traveltimes. For an extension to VTI anisotropy, see <a href=\"\/RSF\/sfeikonalvti.html\">sfeikonalvti<\/a>. <\/p>\n<h3 id=\"10previousprogramsofthemonth\">10 previous programs of the month:<\/h3>\n<ul>\n<li><a href=\"\/blog\/2014\/05\/13\/program-of-the-month-sfhelicon\/\">sfhelicon<\/a><\/li>\n<li><a href=\"\/blog\/2014\/04\/02\/program-of-the-month-sfcostaper\/\">sfcostaper<\/a><\/li>\n<li><a href=\"\/blog\/2014\/03\/11\/program-of-the-month-sflpad\/\">sflpad<\/a><\/li>\n<li><a href=\"\/blog\/2014\/02\/06\/program-of-the-month-sfdipfilter\/\">sfdipfilter<\/a><\/li>\n<li><a href=\"\/blog\/2014\/01\/09\/program-of-the-month-sfinttest1\/\">sfinttest1<\/a><\/li>\n<li><a href=\"\/blog\/2013\/12\/01\/program-of-the-month-sfcausint\/\">sfcausint<\/a><\/li>\n<li><a href=\"\/blog\/2013\/11\/03\/program-of-the-month-sfremap1\/\">sfremap1<\/a><\/li>\n<li><a href=\"\/blog\/2013\/10\/03\/program-of-the-month-sfunif2\/\">sfunif2<\/a><\/li>\n<li><a href=\"\/blog\/2013\/09\/14\/program-of-the-month-sfpatch\/\">sfpatch<\/a><\/li>\n<li><a href=\"\/blog\/2013\/08\/02\/program-of-the-month-sfai2refl\/\">sfai2refl<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>sfeikonal solves the eikonal equation using the Fast Marching Method. This computation produces first-arrival traveltimes on a fixed grid. The following example from sep\/fmeiko\/fmarch shows traveltime contours for a point source inside the SEG\/EAGE salt model. The point source can be specified by its coordinates xshot=, yzhot=, and zshot= (note that the depth coordinate zshot [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[3],"tags":[],"class_list":["post-386","post","type-post","status-publish","format-standard","hentry","category-programs"],"_links":{"self":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/386","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/comments?post=386"}],"version-history":[{"count":3,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/386\/revisions"}],"predecessor-version":[{"id":14363,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/386\/revisions\/14363"}],"wp:attachment":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/media?parent=386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/categories?post=386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/tags?post=386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}