วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

ขอขอบคุณผู้เขียนบล็อก อันตอน เอกิเมนโก สำหรับรายงานของเขา

การแนะนำ

บันทึกนี้เขียนขึ้นหลังการประชุม การประชุมเทคโนโลยีรัสเซีย Wolfram และมีสรุปรายงานที่ผมให้ไป เหตุการณ์เกิดขึ้นในเดือนมิถุนายนที่เซนต์ปีเตอร์สเบิร์ก เมื่อพิจารณาว่าฉันทำงานหนึ่งช่วงตึกจากสถานที่จัดการประชุม ฉันก็อดไม่ได้ที่จะเข้าร่วมกิจกรรมนี้ ในปี 2016 และ 2017 ฉันได้ฟังรายงานการประชุมใหญ่ และปีนี้ฉันได้นำเสนอผลงาน ประการแรก มีหัวข้อที่น่าสนใจ (สำหรับฉัน) ปรากฏขึ้น ซึ่งเรากำลังพัฒนาด้วย คิริลล์ เบลอฟและประการที่สอง หลังจากการศึกษากฎหมายของสหพันธรัฐรัสเซียเกี่ยวกับนโยบายการคว่ำบาตรมาเป็นเวลานาน ในองค์กรที่ฉันทำงานอยู่ มีใบอนุญาตมากถึงสองใบปรากฏขึ้น Wolfram Mathematica.

ก่อนจะพูดถึงหัวข้อสุนทรพจน์ของผม ผมขอกล่าวถึงการจัดงานที่ดีก่อน หน้าเยี่ยมชมการประชุมใช้รูปภาพของอาสนวิหารคาซาน มหาวิหารแห่งนี้เป็นหนึ่งในสถานที่ท่องเที่ยวสำคัญของเซนต์ปีเตอร์สเบิร์ก และมองเห็นได้ชัดเจนมากจากห้องโถงที่ใช้จัดการประชุม

วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

ที่ทางเข้ามหาวิทยาลัยเศรษฐศาสตร์แห่งรัฐเซนต์ปีเตอร์สเบิร์กผู้ช่วยของนักศึกษามาพบผู้เข้าร่วม - พวกเขาไม่ยอมให้หลงทาง ในระหว่างการลงทะเบียนมีการแจกของที่ระลึกเล็ก ๆ น้อย ๆ (ของเล่น - เข็มที่กระพริบ, ปากกา, สติ๊กเกอร์ที่มีสัญลักษณ์ Wolfram) อาหารกลางวันและช่วงพักดื่มกาแฟรวมอยู่ในตารางการประชุมด้วย ฉันสังเกตเห็นแล้วเกี่ยวกับกาแฟและพายแสนอร่อยบนผนังของกลุ่ม - พ่อครัวเก่งมาก ในส่วนเกริ่นนำนี้ ฉันอยากจะเน้นย้ำว่าตัวงาน รูปแบบ และสถานที่ ทำให้เกิดอารมณ์เชิงบวกอยู่แล้ว

รายงานที่ฉันและคิริลล์ เบลอฟจัดทำขึ้นมีชื่อว่า "การใช้ Wolfram Mathematica เพื่อแก้ปัญหาในธรณีฟิสิกส์ประยุกต์ การวิเคราะห์สเปกตรัมของข้อมูลแผ่นดินไหวหรือ “บริเวณที่แม่น้ำโบราณไหลผ่าน” เนื้อหาของรายงานครอบคลุมสองส่วน ประการแรกคือการใช้อัลกอริทึมที่มีอยู่ใน Wolfram Mathematica เพื่อวิเคราะห์ข้อมูลธรณีฟิสิกส์ และประการที่สอง นี่คือวิธีการใส่ข้อมูลธรณีฟิสิกส์ลงใน Wolfram Mathematica

การสำรวจแผ่นดินไหว

ก่อนอื่นคุณต้องสำรวจธรณีฟิสิกส์ระยะสั้น ๆ ธรณีฟิสิกส์เป็นวิทยาศาสตร์ที่ศึกษาคุณสมบัติทางกายภาพของหิน เนื่องจากหินมีคุณสมบัติที่แตกต่างกัน: ไฟฟ้า แม่เหล็ก ยืดหยุ่น จึงมีวิธีการทางธรณีฟิสิกส์ที่สอดคล้องกัน: การสำรวจแร่ไฟฟ้า การสำรวจแร่แม่เหล็ก การสำรวจแผ่นดินไหว... ในบริบทของบทความนี้ เราจะหารือเฉพาะการสำรวจแร่แผ่นดินไหวในรายละเอียดเพิ่มเติมเท่านั้น การสำรวจแผ่นดินไหวเป็นวิธีหลักในการค้นหาน้ำมันและก๊าซ วิธีการนี้ขึ้นอยู่กับการกระตุ้นของการสั่นสะเทือนแบบยืดหยุ่นและการบันทึกการตอบสนองจากหินที่ประกอบเป็นพื้นที่ศึกษาในเวลาต่อมา การสั่นสะเทือนเกิดขึ้นบนพื้นดิน (ด้วยไดนาไมต์หรือแหล่งกำเนิดการสั่นสะเทือนแบบยืดหยุ่นที่ไม่ระเบิด) หรือในทะเล (ด้วยปืนลม) การสั่นสะเทือนแบบยืดหยุ่นแพร่กระจายผ่านมวลหิน โดยหักเหและสะท้อนไปที่ขอบเขตของชั้นต่างๆ ที่มีคุณสมบัติต่างกัน คลื่นที่สะท้อนกลับคืนสู่พื้นผิวและถูกบันทึกโดยจีโอโฟนบนบก (โดยปกติจะเป็นอุปกรณ์อิเล็กโทรไดนามิกตามการเคลื่อนที่ของแม่เหล็กที่แขวนอยู่ในขดลวด) หรือไฮโดรโฟนในทะเล (ขึ้นอยู่กับเอฟเฟกต์เพียโซอิเล็กทริก) เมื่อถึงเวลาที่คลื่นมาถึง เราสามารถตัดสินความลึกของชั้นทางธรณีวิทยาได้

อุปกรณ์ลากเรือแผ่นดินไหว
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

ปืนลมกระตุ้นการสั่นสะเทือนแบบยืดหยุ่น
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

คลื่นที่ไหลผ่านมวลหินและถูกบันทึกโดยไฮโดรโฟน
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

เรือวิจัยสำรวจธรณีฟิสิกส์ "Ivan Gubkin" ที่ท่าเรือใกล้สะพาน Blagoveshchensky ในเซนต์ปีเตอร์สเบิร์ก
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

แบบจำลองสัญญาณแผ่นดินไหว

หินมีคุณสมบัติทางกายภาพที่แตกต่างกัน สำหรับการสำรวจแผ่นดินไหว คุณสมบัติของความยืดหยุ่นมีความสำคัญเป็นหลัก นั่นคือความเร็วของการแพร่กระจายของการสั่นสะเทือนและความหนาแน่นแบบยืดหยุ่น หากสองชั้นมีคุณสมบัติเหมือนหรือคล้ายกัน คลื่นก็จะ “ไม่สังเกตเห็น” ขอบเขตระหว่างสองชั้นเหล่านั้น หากความเร็วคลื่นในชั้นต่างๆ แตกต่างกัน การสะท้อนก็จะเกิดขึ้นที่ขอบเขตของชั้นต่างๆ ยิ่งคุณสมบัติต่างกันมาก การสะท้อนก็จะยิ่งเข้มข้นมากขึ้น ความเข้มของมันจะถูกกำหนดโดยสัมประสิทธิ์การสะท้อนแสง (rc):

วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

โดยที่ ρ คือความหนาแน่นของหิน ν คือความเร็วคลื่น 1 และ 2 หมายถึงชั้นบนและชั้นล่าง

หนึ่งในแบบจำลองสัญญาณแผ่นดินไหวที่ง่ายที่สุดและใช้บ่อยที่สุดคือแบบจำลองการบิดงอ เมื่อร่องรอยแผ่นดินไหวที่บันทึกไว้ถูกแสดงเป็นผลจากการบิดลำดับของสัมประสิทธิ์การสะท้อนด้วยพัลส์ที่ตรวจวัด:

วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

ที่ไหน (t) – ร่องรอยแผ่นดินไหว เช่น ทุกสิ่งที่ถูกบันทึกโดยไฮโดรโฟนหรือจีโอโฟนในช่วงเวลาการบันทึกคงที่ มี(ที) - สัญญาณที่สร้างจากปืนลม ไม่มี(t) - เสียงสุ่ม

ให้เราคำนวณร่องรอยแผ่นดินไหวสังเคราะห์เป็นตัวอย่าง เราจะใช้ริกเกอร์พัลส์ซึ่งใช้กันอย่างแพร่หลายในการสำรวจแผ่นดินไหวเป็นสัญญาณเริ่มต้น

length=0.050; (*Signal lenght*)
dt=0.001;(*Sample rate of signal*)
t=Range[-length/2,(length)/2,dt];(*Signal time*)
f=35;(*Central frequency*)
wavelet=(1.0-2.0*(Pi^2)*(f^2)*(t^2))*Exp[-(Pi^2)*(f^2)*(t^2)];
ListLinePlot[wavelet, Frame->True,PlotRange->Full,Filling->Axis,PlotStyle->Black,
PlotLabel->Style["Initial wavelet",Black,20],
LabelStyle->Directive[Black,Italic],
FillingStyle->{White,Black},ImageSize->Large,InterpolationOrder->2]

แรงกระตุ้นแผ่นดินไหวเบื้องต้น
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

เราจะกำหนดขอบเขตสองขอบเขตที่ระดับความลึก 300 มิลลิวินาที และ 600 มิลลิวินาที และค่าสัมประสิทธิ์การสะท้อนจะเป็นตัวเลขสุ่ม

rcExample=ConstantArray[0,1000];
rcExample[[300]]=RandomReal[{-1,0}];
rcExample[[600]]=RandomReal[{0,1}];
ListPlot[rcExample,Filling->0,Frame->True,Axes->False,PlotStyle->Black,
PlotLabel->Style["Reflection Coefficients",Black,20],
LabelStyle->Directive[Black,Italic]]

ลำดับของสัมประสิทธิ์การสะท้อน
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

มาคำนวณและแสดงร่องรอยแผ่นดินไหวกันดีกว่า เนื่องจากค่าสัมประสิทธิ์การสะท้อนมีสัญญาณที่แตกต่างกัน เราจึงได้การสะท้อนสลับกันสองครั้งบนร่องรอยแผ่นดินไหว

traceExamle=ListConvolve[wavelet[[1;;;;1]],rcExample];
ListPlot[traceExamle,
PlotStyle->Black,Filling->0,Frame->True,Axes->False,
PlotLabel->Style["Seismic trace",Black,20],
LabelStyle->Directive[Black,Italic]]

แทร็กจำลอง
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

สำหรับตัวอย่างนี้ จำเป็นต้องจองล่วงหน้า - ในความเป็นจริงแล้ว ความลึกของชั้นต่างๆ ถูกกำหนดไว้เป็นเมตร และการคำนวณร่องรอยแผ่นดินไหวจะเกิดขึ้นสำหรับโดเมนเวลา การกำหนดความลึกเป็นเมตรและคำนวณเวลาที่มาถึงจะแม่นยำกว่าโดยทราบความเร็วในชั้นต่างๆ ในกรณีนี้ ฉันจะตั้งค่าเลเยอร์บนแกนเวลาทันที

หากเราพูดถึงการวิจัยภาคสนาม ผลจากการสังเกตดังกล่าวจะมีการบันทึกอนุกรมเวลาที่คล้ายกันจำนวนมาก (ร่องรอยแผ่นดินไหว) ตัวอย่างเช่น เมื่อศึกษาไซต์ที่มีความยาว 25 กม. และกว้าง 15 กม. โดยที่ผลงานแต่ละร่องรอยจะมีลักษณะเป็นเซลล์ขนาด 25x25 เมตร (เซลล์ดังกล่าวเรียกว่าถังขยะ) อาเรย์ข้อมูลสุดท้ายจะมีร่องรอย 600000 รายการ ด้วยเวลาสุ่มตัวอย่าง 1 มิลลิวินาทีและเวลาในการบันทึก 5 วินาที ไฟล์ข้อมูลสุดท้ายจะมีขนาดมากกว่า 11 GB และปริมาณของวัสดุ "ดิบ" ดั้งเดิมสามารถมีได้หลายร้อยกิกะไบต์

วิธีการทำงานร่วมกับพวกเขา Wolfram Mathematica?

บรรจุภัณฑ์ ธรณีวิทยาIO

การพัฒนาแพ็คเกจจึงเริ่มขึ้น คำถาม บนผนัง VK ของกลุ่มสนับสนุนที่พูดภาษารัสเซีย ต้องขอบคุณการตอบสนองของชุมชน จึงสามารถค้นพบวิธีแก้ไขได้รวดเร็วมาก และเป็นผลให้ได้มีการพัฒนาอย่างจริงจัง ที่สอดคล้องกัน โพสต์บนกำแพงชุมชน Wolfram มันถูกทำเครื่องหมายโดยผู้ดูแลด้วยซ้ำ ปัจจุบัน แพ็คเกจรองรับการทำงานกับประเภทข้อมูลต่อไปนี้ที่ใช้งานในอุตสาหกรรมทางธรณีวิทยา:

  1. การนำเข้าข้อมูลแผนที่ในรูปแบบ ZMAP และ IRAP
  2. นำเข้าการวัดในรูปแบบ LAS หลุม
  3. อินพุตและเอาต์พุตของรูปแบบไฟล์แผ่นดินไหว เซกี้

ในการติดตั้งแพ็คเกจ คุณต้องปฏิบัติตามคำแนะนำในหน้าดาวน์โหลดของแพ็คเกจที่ประกอบ เช่น รันโค้ดต่อไปนี้ในใดๆ สมุดบันทึกคณิตศาสตร์:

If[PacletInformation["GeologyIO"] === {}, PacletInstall[URLDownload[
    "https://wolfr.am/FiQ5oFih", 
    FileNameJoin[{CreateDirectory[], "GeologyIO-0.2.2.paclet"}]
]]]

หลังจากนั้นแพ็คเกจจะถูกติดตั้งในโฟลเดอร์เริ่มต้นซึ่งสามารถรับเส้นทางได้ดังนี้:

FileNameJoin[{$UserBasePacletsDirectory, "Repository"}]

ดังตัวอย่าง เราจะสาธิตความสามารถหลักของแพ็คเกจ การโทรจะดำเนินการตามธรรมเนียมสำหรับแพ็คเกจในภาษา Wolfram:

Get["GeologyIO`"]

แพ็คเกจได้รับการพัฒนาโดยใช้ โต๊ะทำงาน Wolfram- สิ่งนี้ช่วยให้คุณมาพร้อมกับฟังก์ชั่นหลักของแพ็คเกจพร้อมเอกสารประกอบซึ่งในแง่ของรูปแบบการนำเสนอไม่แตกต่างจากเอกสารของ Wolfram Mathematica และเพื่อจัดเตรียมไฟล์ทดสอบให้กับแพ็คเกจสำหรับคนรู้จักครั้งแรก

วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

โดยเฉพาะอย่างยิ่งไฟล์ดังกล่าวคือไฟล์ "Marmousi.segy" ซึ่งเป็นแบบจำลองสังเคราะห์ของส่วนทางธรณีวิทยาซึ่งพัฒนาโดยสถาบันปิโตรเลียมแห่งฝรั่งเศส เมื่อใช้โมเดลนี้ นักพัฒนาจะทดสอบอัลกอริธึมของตนเองสำหรับการสร้างแบบจำลองสนามคลื่น การประมวลผลข้อมูล การผกผันของร่องรอยแผ่นดินไหว ฯลฯ โมเดล Marmousi นั้นถูกจัดเก็บไว้ในพื้นที่เก็บข้อมูลจากตำแหน่งที่ดาวน์โหลดแพ็คเกจเอง เพื่อรับไฟล์ให้รันโค้ดต่อไปนี้:

If[Not[FileExistsQ["Marmousi.segy"]], 
URLDownload["https://wolfr.am/FiQGh7rk", "Marmousi.segy"];]
marmousi = SEGYImport["Marmousi.segy"]

นำเข้าผลลัพธ์ - วัตถุ SEGYData
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

รูปแบบ SEGY เกี่ยวข้องกับการจัดเก็บข้อมูลต่างๆ เกี่ยวกับการสังเกต ประการแรก นี่คือความคิดเห็นแบบข้อความ รวมถึงข้อมูลเกี่ยวกับสถานที่ปฏิบัติงาน ชื่อบริษัทที่ดำเนินการตรวจวัด เป็นต้น ในกรณีของเรา ส่วนหัวนี้ถูกเรียกโดยคำขอด้วยคีย์ TextHeader นี่คือส่วนหัวของข้อความแบบสั้น:

Short[marmousi["TextHeader"]]

“ชุดข้อมูล Marmousi ถูกสร้างขึ้นที่สถาบัน ...ความเร็วสูงสุด 1500 เมตร/วินาที และสูงสุด 5500 เมตร/วินาที)”

คุณสามารถแสดงแบบจำลองทางธรณีวิทยาที่เกิดขึ้นจริงได้โดยการเข้าถึงร่องรอยแผ่นดินไหวโดยใช้ปุ่ม "ร่องรอย" (หนึ่งในคุณสมบัติของแพ็คเกจคือคีย์ไม่คำนึงถึงขนาดตัวพิมพ์):

ArrayPlot[Transpose[marmousi["traces"]], PlotTheme -> "Detailed"]

โมเดลมาร์มูซี่
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

ปัจจุบันแพ็คเกจนี้ยังให้คุณโหลดข้อมูลเป็นบางส่วนจากไฟล์ขนาดใหญ่ ทำให้สามารถประมวลผลไฟล์ที่มีขนาดถึงสิบกิกะไบต์ได้ ฟังก์ชั่นของแพ็คเกจยังรวมถึงฟังก์ชั่นสำหรับการส่งออกข้อมูลไปยัง .segy และต่อท้ายบางส่วนที่ส่วนท้ายของไฟล์

แยกเป็นมูลค่า noting ฟังก์ชันการทำงานของแพ็คเกจเมื่อทำงานกับโครงสร้างที่ซับซ้อนของไฟล์ .segy เนื่องจากช่วยให้คุณไม่เพียงแต่เข้าถึงการติดตามและส่วนหัวแต่ละรายการโดยใช้คีย์และดัชนีเท่านั้น แต่ยังช่วยให้คุณเปลี่ยนแปลงและเขียนลงในไฟล์ได้อีกด้วย รายละเอียดทางเทคนิคหลายประการของการนำ GeologyIO ไปใช้อยู่นอกเหนือขอบเขตของบทความนี้ และอาจสมควรได้รับคำอธิบายแยกต่างหาก

ความเกี่ยวข้องของการวิเคราะห์สเปกตรัมในการสำรวจแผ่นดินไหว

ความสามารถในการนำเข้าข้อมูลแผ่นดินไหวไปยัง Wolfram Mathematica ทำให้คุณสามารถใช้ฟังก์ชันการประมวลผลสัญญาณในตัวสำหรับข้อมูลการทดลองได้ เนื่องจากร่องรอยแผ่นดินไหวแต่ละรอยแสดงถึงอนุกรมเวลา เครื่องมือหลักอย่างหนึ่งในการศึกษาสิ่งเหล่านี้คือการวิเคราะห์สเปกตรัม ในบรรดาข้อกำหนดเบื้องต้นสำหรับการวิเคราะห์องค์ประกอบความถี่ของข้อมูลแผ่นดินไหว เราสามารถตั้งชื่อได้ดังต่อไปนี้:

  1. คลื่นประเภทต่างๆ มีลักษณะเฉพาะด้วยองค์ประกอบความถี่ที่แตกต่างกัน ซึ่งช่วยให้คุณสามารถเน้นคลื่นที่มีประโยชน์และลดคลื่นรบกวนได้
  2. คุณสมบัติของหิน เช่น ความพรุนและความอิ่มตัวของสี อาจส่งผลต่อองค์ประกอบความถี่ได้ ทำให้สามารถระบุหินที่มีคุณสมบัติดีที่สุดได้
  3. ชั้นที่มีความหนาต่างกันทำให้เกิดความผิดปกติในช่วงความถี่ที่ต่างกัน

ประเด็นที่สามคือประเด็นหลักในบริบทของบทความนี้ ด้านล่างนี้เป็นส่วนโค้ดสำหรับการคำนวณร่องรอยแผ่นดินไหวในกรณีของชั้นที่มีความหนาต่างกัน - แบบจำลองลิ่ม แบบจำลองนี้ได้รับการศึกษาแบบดั้งเดิมในการสำรวจแผ่นดินไหวเพื่อวิเคราะห์ผลกระทบจากการรบกวนเมื่อคลื่นที่สะท้อนจากหลายชั้นซ้อนทับกัน

nx=200;(* Number of grid points in X direction*)
ny=200;(* Number of grid points in Y direction*)
T=2;(*Total propagation time*)
(*Velocity and density*)
modellv=Table[4000,{i,1,ny},{j,1,nx}];(* P-wave velocity in m/s*)
rho=Table[2200,{i,1,ny},{j,1,nx}];(* Density in g/cm^3, used constant density*)
Table[modellv[[150-Round[i*0.5];;,i]]=4500;,{i,1,200}];
Table[modellv[[;;70,i]]=4500;,{i,1,200}];
(*Plotting model*)
MatrixPlot[modellv,PlotLabel->Style["Model of layer",Black,20],
LabelStyle->Directive[Black,Italic]]

แบบจำลองของการก่อตัวแบบบีบออก
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

ความเร็วคลื่นภายในลิ่มคือ 4500 ม./วินาที นอกลิ่ม 4000 ม./วินาที และถือว่าความหนาแน่นคงที่ 2200 ก./ซม.³ สำหรับแบบจำลองดังกล่าว เราจะคำนวณค่าสัมประสิทธิ์การสะท้อนและร่องรอยแผ่นดินไหว

rc=Table[N[(modellv[[All,i]]-PadLeft[modellv[[All,i]],201,4000][[1;;200]])/(modellv[[All,i]]+PadLeft[modellv[[All,i]],201,4500][[1;;200]])],{i,1,200}];
traces=Table[ListConvolve[wavelet[[1;;;;1]],rc[[i]]],{i,1,200}];
starttrace=10;
endtrace=200;
steptrace=10;
trasenum=Range[starttrace,endtrace,steptrace];
traserenum=Range[Length@trasenum];
tracedist=0.5;
Rotate[Show[
Reverse[Table[
	ListLinePlot[traces[[trasenum[[i]]]]*50+trasenum[[i]]*tracedist,Filling->{1->{trasenum[[i]]*tracedist,{RGBColor[0.97,0.93,0.68],Black}}},PlotStyle->Directive[Gray,Thin],PlotRange->Full,InterpolationOrder->2,Axes->False,Background->RGBColor[0.97,0.93,0.68]],
		{i,1,Length@trasenum}]],ListLinePlot[Transpose[{ConstantArray[45,80],Range[80]}],PlotStyle->Red],PlotRange->All,Frame->True],270Degree]

ร่องรอยแผ่นดินไหวสำหรับแบบจำลองลิ่ม
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

ลำดับของร่องรอยแผ่นดินไหวที่แสดงในรูปนี้เรียกว่าส่วนแผ่นดินไหว อย่างที่คุณเห็น การตีความสามารถทำได้ในระดับที่เป็นธรรมชาติ เนื่องจากรูปทรงเรขาคณิตของคลื่นที่สะท้อนนั้นสอดคล้องกับแบบจำลองที่ระบุไว้ก่อนหน้านี้อย่างชัดเจน หากคุณวิเคราะห์ร่องรอยอย่างละเอียดมากขึ้น คุณจะสังเกตเห็นว่าร่องรอยตั้งแต่ 1 ถึงประมาณ 30 นั้นไม่แตกต่างกัน - การสะท้อนจากหลังคาของชั้นหินและจากด้านล่างไม่ทับซ้อนกัน เริ่มตั้งแต่รอยที่ 31 การสะท้อนเริ่มรบกวน และแม้ว่าในแบบจำลอง ค่าสัมประสิทธิ์การสะท้อนจะไม่เปลี่ยนแปลงในแนวนอน รอยแผ่นดินไหวจะเปลี่ยนความรุนแรงเมื่อความหนาของชั้นหินเปลี่ยนไป

ลองพิจารณาแอมพลิจูดของการสะท้อนจากขอบบนของการก่อตัว เริ่มต้นจากเส้นทางที่ 60 ความเข้มของการสะท้อนจะเริ่มเพิ่มขึ้น และในเส้นทางที่ 70 ความเข้มของการสะท้อนจะสูงสุด นี่เป็นลักษณะการแทรกสอดของคลื่นจากหลังคาและด้านล่างของชั้นที่ปรากฏ ซึ่งนำไปสู่ความผิดปกติที่สำคัญในบันทึกแผ่นดินไหวในบางกรณี

ListLinePlot[GaussianFilter[Abs[traces[[All,46]]],3][[;;;;2]],
InterpolationOrder->2,Frame->True,PlotStyle->Black,
PlotLabel->Style["Amplitude of reflection",Black,20],
LabelStyle->Directive[Black,Italic],
PlotRange->All]

กราฟแสดงแอมพลิจูดของคลื่นสะท้อนจากขอบด้านบนของลิ่ม
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

เป็นเหตุผลที่เมื่อสัญญาณมีความถี่ต่ำ การรบกวนจะเริ่มปรากฏที่ชั้นหินที่มีความหนามาก และในกรณีของสัญญาณความถี่สูง การรบกวนจะเกิดขึ้นที่ความหนาที่น้อยกว่า ข้อมูลโค้ดต่อไปนี้สร้างสัญญาณที่มีความถี่ 35 Hz, 55 Hz และ 85 Hz

waveletSet=Table[(1.0-2.0*(Pi^2)*(f^2)*(t^2))*Exp[-(Pi^2)*(f^2)*(t^2)],
{f,{35,55,85}}];
ListLinePlot[waveletSet,PlotRange->Full,PlotStyle->Black,Frame->True,
PlotLabel->Style["Set of wavelets",Black,20],
LabelStyle->Directive[Black,Italic],
ImageSize->Large,InterpolationOrder->2]

ชุดสัญญาณต้นทางที่มีความถี่ 35 Hz, 55Hz, 85Hz
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

ด้วยการคำนวณร่องรอยแผ่นดินไหวและพล็อตกราฟของแอมพลิจูดของคลื่นสะท้อน เราจะเห็นว่าสำหรับความถี่ที่ต่างกัน จะสังเกตเห็นความผิดปกติที่ความหนาของชั้นหินที่แตกต่างกัน

tracesSet=Table[ListConvolve[waveletSet[[j]][[1;;;;1]],rc[[i]]],{j,1,3},{i,1,200}];

lowFreq=ListLinePlot[GaussianFilter[Abs[tracesSet[[1]][[All,46]]],3][[;;;;2]],InterpolationOrder->2,PlotStyle->Black,PlotRange->All];
medFreq=ListLinePlot[GaussianFilter[Abs[tracesSet[[2]][[All,46]]],3][[;;;;2]],InterpolationOrder->2,PlotStyle->Black,PlotRange->All];
highFreq=ListLinePlot[GaussianFilter[Abs[tracesSet[[3]][[All,46]]],3][[;;;;2]],InterpolationOrder->2,PlotStyle->Black,PlotRange->All];

Show[lowFreq,medFreq,highFreq,PlotRange->{{0,100},All},
PlotLabel->Style["Amplitudes of reflection",Black,20],
LabelStyle->Directive[Black,Italic],
Frame->True]

กราฟแอมพลิจูดของคลื่นสะท้อนจากขอบด้านบนของลิ่มสำหรับความถี่ต่างๆ
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

ความสามารถในการสรุปเกี่ยวกับความหนาของชั้นหินจากผลการสังเกตแผ่นดินไหวนั้นมีประโยชน์อย่างยิ่ง เพราะหนึ่งในภารกิจหลักในการสำรวจน้ำมันคือการประเมินจุดที่มีแนวโน้มมากที่สุดในการวางบ่อน้ำ (เช่น พื้นที่ที่ชั้นหินอยู่ หนาขึ้น) นอกจากนี้ในส่วนทางธรณีวิทยาอาจมีวัตถุที่กำเนิดทำให้เกิดการเปลี่ยนแปลงความหนาของชั้นหินอย่างรุนแรง ทำให้การวิเคราะห์สเปกตรัมเป็นเครื่องมือที่มีประสิทธิภาพในการศึกษาพวกมัน ในส่วนถัดไปของบทความเราจะพิจารณารายละเอียดเพิ่มเติมเกี่ยวกับวัตถุทางธรณีวิทยาดังกล่าว

ข้อมูลการทดลอง คุณได้พวกมันมาจากไหนและจะหาอะไรจากพวกมัน?

วัสดุที่วิเคราะห์ในบทความนี้ได้มาจากไซบีเรียตะวันตก ภูมิภาคนี้อย่างที่ทุกคนคงทราบกันดีอยู่แล้วว่าเป็นภูมิภาคที่ผลิตน้ำมันหลักในประเทศของเรา การพัฒนาเงินฝากอย่างแข็งขันเริ่มขึ้นในภูมิภาคในช่วงทศวรรษที่ 60 ของศตวรรษที่ผ่านมา วิธีการหลักในการค้นหาแหล่งสะสมน้ำมันคือการสำรวจแผ่นดินไหว การดูภาพดาวเทียมของดินแดนนี้เป็นเรื่องน่าสนใจ ในระดับเล็ก คุณสามารถสังเกตหนองน้ำและทะเลสาบจำนวนมาก โดยการขยายแผนที่ คุณจะเห็นสถานที่ขุดเจาะบ่อคลัสเตอร์ และโดยการขยายแผนที่ให้ถึงขีดจำกัด คุณยังสามารถแยกแยะการเคลียร์โปรไฟล์ตามที่เกิดแผ่นดินไหวได้ มีการสังเกต

ภาพถ่ายดาวเทียมของแผนที่ Yandex - พื้นที่เมือง Noyabrsk
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

เครือข่ายบ่อน้ำแห่งหนึ่งในทุ่งนา
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

หินที่มีน้ำมันของไซบีเรียตะวันตกเกิดขึ้นในระดับความลึกที่หลากหลาย - ตั้งแต่ 1 กม. ถึง 5 กม. หินที่มีน้ำมันในปริมาณหลักก่อตัวขึ้นในยุคจูราสสิกและครีเทเชียส หลายคนคงรู้จักยุคจูราสสิกจากภาพยนตร์ชื่อเดียวกัน ภูมิอากาศยุคจูราสสิก แตกต่างไปจากสมัยใหม่อย่างเห็นได้ชัด สารานุกรมบริแทนนิกามีชุดแผนที่ Paleomap ที่แสดงลักษณะเฉพาะของแต่ละยุคสมัย

ปัจจุบัน
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์
ยุคจูราสสิก
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

โปรดทราบว่าในสมัยจูราสสิก อาณาเขตของไซบีเรียตะวันตกเป็นชายฝั่งทะเล (ดินแดนที่มีแม่น้ำและทะเลน้ำตื้นตัดผ่าน) เนื่องจากสภาพอากาศสบาย เราจึงสรุปได้ว่าภูมิทัศน์โดยทั่วไปในช่วงเวลานั้นมีลักษณะดังนี้:

จูราสสิคไซบีเรีย
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

ในภาพนี้ สิ่งสำคัญสำหรับเราไม่ใช่สัตว์และนกมากนัก แต่เป็นภาพแม่น้ำที่อยู่ด้านหลัง แม่น้ำเป็นวัตถุทางธรณีวิทยาแบบเดียวกับที่เราหยุดไว้เมื่อก่อน ความจริงก็คือกิจกรรมของแม่น้ำทำให้หินทรายที่คัดแยกอย่างดีสะสมซึ่งจะกลายเป็นแหล่งกักเก็บน้ำมัน อ่างเก็บน้ำเหล่านี้อาจมีรูปทรงที่ซับซ้อนและแปลกประหลาด (เช่น ก้นแม่น้ำ) และมีความหนาที่เปลี่ยนแปลงได้ - ใกล้ตลิ่งความหนาจะน้อย แต่เมื่ออยู่ใกล้ศูนย์กลางของช่องแคบหรือในบริเวณที่คดเคี้ยวมากขึ้น ดังนั้นแม่น้ำที่ก่อตัวในยุคจูราสสิกจึงอยู่ที่ระดับความลึกประมาณสามกิโลเมตรและเป็นเป้าหมายของการค้นหาแหล่งกักเก็บน้ำมัน

ข้อมูลการทดลอง การประมวลผลและการแสดงภาพ

ให้เราจองล่วงหน้าเกี่ยวกับวัสดุแผ่นดินไหวที่แสดงในบทความทันที - เนื่องจากปริมาณข้อมูลที่ใช้สำหรับการวิเคราะห์มีความสำคัญ - มีเพียงส่วนของร่องรอยแผ่นดินไหวชุดดั้งเดิมเท่านั้นที่รวมอยู่ในข้อความของบทความ ซึ่งจะช่วยให้ทุกคนสามารถทำซ้ำการคำนวณข้างต้นได้

เมื่อทำงานกับข้อมูลแผ่นดินไหว นักธรณีฟิสิกส์มักจะใช้ซอฟต์แวร์พิเศษ (มีผู้นำอุตสาหกรรมหลายรายที่มีการใช้งานการพัฒนา เช่น Petrel หรือ Paradigm) ซึ่งช่วยให้คุณวิเคราะห์ข้อมูลประเภทต่างๆ และมีอินเทอร์เฟซแบบกราฟิกที่สะดวก แม้จะมีความสะดวกสบาย แต่ซอฟต์แวร์ประเภทนี้ก็มีข้อเสียเช่นกัน ตัวอย่างเช่น การใช้อัลกอริธึมสมัยใหม่ในเวอร์ชันเสถียรนั้นใช้เวลานาน และความเป็นไปได้ในการคำนวณอัตโนมัติมักจะมีจำกัด ในสถานการณ์เช่นนี้ การใช้ระบบคณิตศาสตร์คอมพิวเตอร์และภาษาการเขียนโปรแกรมระดับสูงจะสะดวกมาก ซึ่งช่วยให้สามารถใช้ฐานอัลกอริธึมที่กว้างและในเวลาเดียวกันก็ทำกิจวัตรประจำวันมากมาย นี่เป็นหลักการที่ใช้ในการทำงานกับข้อมูลแผ่นดินไหวใน Wolfram Mathematica การเขียนฟังก์ชันที่หลากหลายสำหรับงานเชิงโต้ตอบกับข้อมูลนั้นไม่เหมาะสม - สิ่งสำคัญกว่าคือต้องแน่ใจว่าโหลดจากรูปแบบที่ยอมรับโดยทั่วไปโดยใช้อัลกอริธึมที่ต้องการและอัปโหลดกลับเป็นรูปแบบภายนอก

ตามแผนงานที่เสนอ เราจะโหลดข้อมูลแผ่นดินไหวดั้งเดิมและแสดงข้อมูลเหล่านั้น Wolfram Mathematica:

Get["GeologyIO`"]
seismic3DZipPath = "seismic3D.zip";
seismic3DSEGYPath = "seismic3D.sgy";
If[FileExistsQ[seismic3DZipPath], DeleteFile[seismic3DZipPath]];
If[FileExistsQ[seismic3DSEGYPath], DeleteFile[seismic3DSEGYPath]];
URLDownload["https://wolfr.am/FiQIuZuH", seismic3DZipPath];
ExtractArchive[seismic3DZipPath];
seismic3DSEGY = SEGYImport[seismic3DSEGYPath]

ข้อมูลที่ดาวน์โหลดและนำเข้าในลักษณะนี้คือเส้นทางที่บันทึกไว้ในพื้นที่ขนาด 10 x 5 กิโลเมตร หากได้รับข้อมูลโดยใช้วิธีการสำรวจแผ่นดินไหวสามมิติ (คลื่นไม่ได้ถูกบันทึกตามโปรไฟล์ทางธรณีฟิสิกส์แต่ละรายการ แต่บันทึกทั่วทั้งพื้นที่พร้อมกัน) ก็จะเป็นไปได้ที่จะได้คิวบ์ข้อมูลแผ่นดินไหว สิ่งเหล่านี้เป็นวัตถุสามมิติ ส่วนแนวตั้งและแนวนอนซึ่งช่วยให้สามารถศึกษาสภาพแวดล้อมทางธรณีวิทยาโดยละเอียดได้ ในตัวอย่างที่พิจารณา เรากำลังจัดการกับข้อมูลสามมิติ เราสามารถรับข้อมูลบางอย่างได้จากส่วนหัวของข้อความเช่นนี้

StringPartition[seismic3DSEGY["textheader"], 80] // TableForm

C 1 นี่คือไฟล์สาธิตสำหรับการทดสอบแพ็คเกจธรณีวิทยา
2 C
3 C
4 C
C 5 วันที่ชื่อผู้ใช้: ผู้ใช้ WOLFRAM
C 6 ชื่อแบบสำรวจ: ที่ไหนสักแห่งในไซบีเรีย
C 7 ประเภทไฟล์ ปริมาตรแผ่นดินไหว 3 มิติ
8 C
9 C
ช่วง C10 Z: 2200M แรก 2400M แรก

ชุดข้อมูลนี้จะเพียงพอสำหรับเราในการสาธิตขั้นตอนหลักของการวิเคราะห์ข้อมูล ร่องรอยในไฟล์จะถูกบันทึกตามลำดับและแต่ละเส้นจะมีลักษณะคล้ายรูปต่อไปนี้ - นี่คือการกระจายของแอมพลิจูดของคลื่นที่สะท้อนไปตามแกนตั้ง (แกนลึก)

ListLinePlot[seismic3DSEGY["traces"][[100]], InterpolationOrder -> 2, 
 PlotStyle -> Black, PlotLabel -> Style["Seismic trace", Black, 20],
 LabelStyle -> Directive[Black, Italic], PlotRange -> All, 
 Frame -> True, ImageSize -> 1200, AspectRatio -> 1/5]

หนึ่งในร่องรอยแผ่นดินไหว
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

เมื่อทราบจำนวนร่องรอยที่อยู่ในแต่ละทิศทางของพื้นที่ศึกษา คุณสามารถสร้างอาร์เรย์ข้อมูลสามมิติและแสดงผลโดยใช้ฟังก์ชัน Image3D[]

traces=seismic3DSEGY["traces"];
startIL=1050;EndIL=2000;stepIL=2; (*координата Х начала и конца съёмки и шаг трасс*)
startXL=1165;EndXL=1615;stepXL=2; (*координата Y начала и конца съёмки и шаг трасс*)
numIL=(EndIL-startIL)/stepIL+1;   (*количество трасс по оис Х*)
numXL=(EndXL-startXL)/stepIL+1;   (*количество трасс по оис Y*)
Image3D[ArrayReshape[Abs[traces/Max[Abs[traces[[All,1;;;;4]]]]],{numIL,numXL,101}],ViewPoint->{-1, 0, 0},Background->RGBColor[0,0,0]]

ภาพ 3 มิติของลูกบาศก์ข้อมูลแผ่นดินไหว (แกนตั้ง - ความลึก)
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

หากลักษณะทางธรณีวิทยาที่น่าสนใจทำให้เกิดความผิดปกติของแผ่นดินไหวอย่างรุนแรง ก็สามารถใช้เครื่องมือแสดงภาพที่มีความโปร่งใสได้ พื้นที่ที่ “ไม่สำคัญ” ของการบันทึกสามารถทำให้มองไม่เห็นได้ เหลือเพียงความผิดปกติที่มองเห็นได้ ใน Wolfram Mathematica สามารถทำได้โดยใช้ ความทึบ[] и แรสเตอร์3D[].

data = ArrayReshape[Abs[traces/Max[Abs[traces[[All,1;;;;4]]]]],{numIL,numXL,101}];
Graphics3D[{Opacity[0.1], Raster3D[data, ColorFunction->"RainbowOpacity"]}, 
Boxed->False, SphericalRegion->True, ImageSize->840, Background->None]

ภาพลูกบาศก์ข้อมูลแผ่นดินไหวโดยใช้ฟังก์ชัน Opacity[] และ Raster3D[]
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

เช่นเดียวกับตัวอย่างสังเคราะห์ ในส่วนของลูกบาศก์ดั้งเดิม เราสามารถระบุขอบเขตทางธรณีวิทยา (ชั้น) บางส่วนที่มีการผ่อนปรนแบบแปรผันได้

เครื่องมือหลักสำหรับการวิเคราะห์สเปกตรัมคือการแปลงฟูริเยร์ ด้วยความช่วยเหลือนี้ คุณสามารถประเมินสเปกตรัมแอมพลิจูด-ความถี่ของแต่ละร่องรอยหรือกลุ่มของร่องรอยได้ อย่างไรก็ตาม หลังจากถ่ายโอนข้อมูลไปยังโดเมนความถี่ ข้อมูลจะสูญหายไปว่าความถี่จะเปลี่ยนแปลงเมื่อใด (อ่านที่ความลึกเท่าใด) เพื่อให้สามารถระบุการเปลี่ยนแปลงของสัญญาณบนแกนเวลา (ความลึก) ได้ จึงมีการใช้การแปลงฟูริเยร์แบบหน้าต่างและการสลายตัวของเวฟเล็ต บทความนี้ใช้การสลายตัวของเวฟเล็ต เทคโนโลยีการวิเคราะห์เวฟเล็ตเริ่มถูกนำมาใช้อย่างแข็งขันในการสำรวจแผ่นดินไหวในช่วงทศวรรษที่ 90 ข้อได้เปรียบเหนือการแปลงฟูริเยร์แบบหน้าต่างถือว่ามีความละเอียดเวลาที่ดีกว่า

เมื่อใช้ส่วนย่อยของโค้ดต่อไปนี้ คุณสามารถแยกย่อยร่องรอยแผ่นดินไหวรายการใดรายการหนึ่งออกเป็นองค์ประกอบแต่ละส่วนได้:

cwd=ContinuousWaveletTransform[seismicSection["traces"][[100]]]
Show[
ListLinePlot[Re[cwd[[1]]],PlotRange->All],
ListLinePlot[seismicSection["traces"][[100]],
PlotStyle->Black,PlotRange->All],ImageSize->{1500,500},AspectRatio->Full,
PlotLabel->Style["Wavelet decomposition",Black,32],
LabelStyle->Directive[Black,Italic],
PlotRange->All,
Frame->True]

การสลายตัวของการติดตามเป็นส่วนประกอบ
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

เพื่อประเมินว่าพลังงานการสะท้อนถูกกระจายอย่างไรในช่วงเวลาที่คลื่นมาถึงต่างกัน จะใช้สกาโลแกรม (คล้ายกับสเปกโตรแกรม) ตามกฎแล้ว ในทางปฏิบัติไม่จำเป็นต้องวิเคราะห์องค์ประกอบทั้งหมด โดยปกติแล้วจะเลือกส่วนประกอบความถี่ต่ำ กลาง และสูง

freq=(500/(#*contWD["Wavelet"]["FourierFactor"]))&/@(Thread[{Range[contWD["Octaves"]],1}]/.contWD["Scales"])//Round;
ticks=Transpose[{Range[Length[freq]],freq}];
WaveletScalogram[contWD,Frame->True,FrameTicks->{{ticks,Automatic},Automatic},FrameTicksStyle->Directive[Orange,12],
FrameLabel->{"Time","Frequency(Hz)"},LabelStyle->Directive[Black,Bold,14],
ColorFunction->"RustTones",ImageSize->Large]

สกาโลแกรม ผลลัพธ์ของฟังก์ชัน เวฟเล็ตสกาโลแกรม[]
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

ภาษา Wolfram ใช้ฟังก์ชันสำหรับการแปลงเวฟเล็ต การแปลงคลื่นต่อเนื่อง[]- และการประยุกต์ใช้ฟังก์ชันนี้กับชุดการติดตามทั้งหมดจะดำเนินการโดยใช้ฟังก์ชัน โต๊ะ[]- นี่เป็นสิ่งที่น่าสังเกตถึงจุดแข็งประการหนึ่งของ Wolfram Mathematica - ความสามารถในการใช้การขนาน ตารางขนาน[]- ในตัวอย่างข้างต้น ไม่จำเป็นต้องทำการขนาน - ปริมาณข้อมูลไม่มาก แต่เมื่อทำงานกับชุดข้อมูลทดลองที่มีร่องรอยนับแสนก็เป็นสิ่งจำเป็น

tracesCWD=Table[Map[Hilbert[#,0]&,Re[ContinuousWaveletTransform[traces[[i]]][[1]]][[{13,15,18}]]],{i,1,Length@traces}]; 

หลังจากใช้ฟังก์ชันแล้ว การแปลงคลื่นต่อเนื่อง[] ชุดข้อมูลใหม่จะปรากฏขึ้นตามความถี่ที่เลือก ในตัวอย่างข้างต้น ความถี่เหล่านี้คือ: 38Hz, 33Hz, 27Hz การเลือกความถี่มักดำเนินการบนพื้นฐานของการทดสอบ - พวกเขาได้รับแผนที่ที่มีประสิทธิภาพสำหรับการผสมความถี่ที่แตกต่างกันและเลือกความถี่ที่ให้ข้อมูลมากที่สุดจากมุมมองของนักธรณีวิทยา

หากคุณต้องการแบ่งปันผลลัพธ์กับเพื่อนร่วมงานหรือมอบให้แก่ลูกค้า คุณสามารถใช้ฟังก์ชัน SEGYExport[] ของแพ็คเกจ GeologyIO

outputdata=seismic3DSEGY;
outputdata["traces",1;;-1]=tracesCWD[[All,3]];
outputdata["textheader"]="Wavelet Decomposition Result";
outputdata["binaryheader","NumberDataTraces"]=Length[tracesCWD[[All,3]]];
SEGYExport["D:result.segy",outputdata];

ด้วยลูกบาศก์สามชิ้นเหล่านี้ (ส่วนประกอบความถี่ต่ำ ความถี่กลาง และความถี่สูง) โดยทั่วไปการผสม RGB จะใช้เพื่อแสดงภาพข้อมูลร่วมกัน แต่ละองค์ประกอบได้รับการกำหนดสีของตัวเอง - แดง, เขียว, น้ำเงิน ใน Wolfram Mathematica สามารถทำได้โดยใช้ฟังก์ชัน การรวมสี[].

ผลลัพธ์ที่ได้คือภาพที่สามารถตีความทางธรณีวิทยาได้ เส้นทางคดเคี้ยวที่บันทึกไว้ในส่วนนี้ทำให้สามารถแยกแยะช่อง Paleochannels ได้ ซึ่งมีแนวโน้มที่จะเป็นแหล่งกักเก็บน้ำมันและมีน้ำมันสำรองอยู่ การค้นหาและวิเคราะห์อะนาล็อกสมัยใหม่ของระบบแม่น้ำดังกล่าวช่วยให้เราสามารถระบุส่วนที่มีแนวโน้มมากที่สุดของคดเคี้ยวได้ ช่องทางดังกล่าวมีลักษณะเป็นหินทรายคัดแยกชั้นหนาและเป็นแหล่งกักเก็บน้ำมันได้ดี พื้นที่นอกความผิดปกติของ "ลูกไม้" นั้นคล้ายคลึงกับที่ราบน้ำท่วมถึงในปัจจุบัน เงินฝากที่ราบน้ำท่วมถึงส่วนใหญ่เป็นหินดินเหนียว และการขุดเจาะเข้าไปในโซนเหล่านี้จะไม่ได้ผล

ชิ้น RGB ของคิวบ์ข้อมูล ตรงกลาง (ทางซ้ายเล็กน้อย) คุณสามารถเดินตามแม่น้ำที่คดเคี้ยวได้
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์
ชิ้น RGB ของคิวบ์ข้อมูล ทางด้านซ้ายคุณสามารถเดินตามแม่น้ำที่คดเคี้ยวได้
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

ในบางกรณี คุณภาพของข้อมูลแผ่นดินไหวช่วยให้ได้ภาพที่ชัดเจนยิ่งขึ้น ขึ้นอยู่กับวิธีการทำงานภาคสนาม อุปกรณ์ที่ใช้โดยอัลกอริธึมการลดเสียงรบกวน ในกรณีเช่นนี้ ไม่เพียงแต่มองเห็นชิ้นส่วนของระบบแม่น้ำเท่านั้น แต่ยังมองเห็นแม่น้ำพาลีโอที่ขยายออกไปทั้งหมดด้วย

การผสม RGB ของส่วนประกอบสามส่วนของคิวบ์ข้อมูลแผ่นดินไหว (ชิ้นแนวนอน) ความลึกประมาณ 2 กม.
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์
ภาพถ่ายดาวเทียมของแม่น้ำโวลก้าใกล้กับซาราตอฟ
วุลแฟรมคณิตศาสตร์ในธรณีฟิสิกส์

ข้อสรุป

Wolfram Mathematica สามารถวิเคราะห์ข้อมูลแผ่นดินไหวและแก้ไขปัญหาที่เกี่ยวข้องกับการค้นหาแร่ธาตุ และแพ็คเกจ GeologyIO จะทำให้กระบวนการนี้สะดวกยิ่งขึ้น โครงสร้างของข้อมูลแผ่นดินไหวเป็นเช่นนั้นโดยใช้วิธีการในตัวเพื่อเร่งการคำนวณ (ตารางขนาน[], แบบขนาน[],…) มีประสิทธิภาพมากและช่วยให้คุณสามารถประมวลผลข้อมูลจำนวนมากได้ คุณสมบัติการจัดเก็บข้อมูลของแพ็คเกจ GeologyIO ได้รับการอำนวยความสะดวกโดยส่วนใหญ่ อย่างไรก็ตาม แพคเกจนี้สามารถใช้ได้ไม่เพียงแต่ในด้านการสำรวจแผ่นดินไหวแบบประยุกต์เท่านั้น ข้อมูลประเภทเดียวกันเกือบทั้งหมดถูกใช้ในเรดาร์เจาะภาคพื้นดินและวิทยาแผ่นดินไหว หากคุณมีข้อเสนอแนะเกี่ยวกับวิธีการปรับปรุงผลลัพธ์ อัลกอริธึมการวิเคราะห์สัญญาณจากคลังแสง Wolfram Mathematica สามารถใช้ได้กับข้อมูลดังกล่าว หรือหากคุณมีข้อวิจารณ์ โปรดแสดงความคิดเห็น ความคิดเห็น

ที่มา: will.com

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster