بفضل مؤلف بلوق أنتون Ekimenko على حديثهمقدمة
كُتبت هذه الملاحظة في أعقاب مؤتمر
Wolfram Russian Technology ، وتحتوي على ملخص للتقرير الذي قدمته. وقع الحدث في يونيو في مدينة سان بطرسبرج. بالنظر إلى حقيقة أنني أعمل كتلة من مكان المؤتمر ، لم أستطع إلا أن أحضر هذا الحدث. في عامي 2016 و 2017 ، استمعت إلى تقارير المؤتمر ، وقد قدمت عرضًا هذا العام. أولاً ، ظهر موضوع مثير (يبدو لي) أننا
نطوره مع
كيريل بيلوف ، وثانياً ، بعد دراسة طويلة لتشريعات الاتحاد الروسي فيما يتعلق بسياسة العقوبات ، ظهرت رخصتان
كاملتان لـ Wolfram Mathematica في المشروع الذي أعمل فيه.
قبل الانتقال إلى موضوع العرض التقديمي ، أود الإشارة إلى التنظيم الجيد للحدث. تستخدم صفحة المؤتمر صورة كاتدرائية قازان. تعد الكاتدرائية واحدة من مناطق الجذب الرئيسية في سان بطرسبرغ وهي واضحة للعيان من القاعة التي عقدت فيها المؤتمر.

عند مدخل جامعة سانت بطرسبرغ للاقتصاد ، استقبل المشاركون مساعدي الطلاب - لم يسمحوا لهم بالضياع. أثناء التسجيل ، تم تقديم هدايا تذكارية صغيرة (لاصقات تومض بلعبة ، قلم ، ملصقات تحمل رموز Wolfram). كما تم إدراج استراحات الغداء والقهوة في جدول المؤتمرات. حول القهوة والفطائر اللذيذة ، لاحظت بالفعل على جدار المجموعة - طهاة جيدون. مع هذا الجزء التمهيدي ، أود التأكيد على أن الحدث نفسه وشكله ومكانه يجلبان بالفعل مشاعر إيجابية.
يسمى التقرير ، الذي أعدته أنا وكريل بيلوف ، "استخدام ولفرام ماثماتيكا لحل مشاكل الجيوفيزياء التطبيقية. التحليل الطيفي للبيانات الزلزالية أو "حيث تجري الأنهار القديمة". يغطي محتوى التقرير جزأين: أولاً ، استخدام الخوارزميات المتوفرة في
Wolfram Mathematica لتحليل البيانات الجيوفيزيائية ، وثانياً ، كيفية وضع البيانات الجيوفيزيائية في Wolfram Mathematica.
استكشاف الزلازل
تحتاج أولاً إلى القيام برحلة صغيرة في الجيوفيزياء. الجيوفيزياء هي علم يدرس الخصائص الفيزيائية للصخور. حسنًا ، نظرًا لأن الصخور لها خصائص مختلفة: الكهربائية ، والمغناطيسية ، والمرنة ، فهناك طرق مماثلة للجيوفيزياء: الاستكشاف الكهربائي ، والاستكشاف المغناطيسي ، والاستكشاف الزلزالي ... في سياق هذه المقالة ، سنتطرق فقط إلى الاستكشاف الزلزالي بمزيد من التفاصيل. الاستكشاف الزلزالي هو الطريقة الرئيسية للعثور على النفط والغاز. تعتمد الطريقة على إثارة الاهتزازات المرنة والتسجيل اللاحق للاستجابة من الصخور التي تشكل منطقة الدراسة. يتم إثارة الاهتزازات على الأرض (مصادر الاهتزاز الديناميت أو غير المتفجرة للاهتزازات المرنة) أو في البحر (البنادق الجوية). تنتشر الاهتزازات المرنة من خلال سماكة الصخور ، حيث تنكسر وتنعكس عند حدود الطبقات ذات الخصائص المختلفة. تعود الموجات المنعكسة إلى السطح وتُسجَّل بواسطة الجيوفونات الأرضية (عادةً الأجهزة الديناميكية الكهربائية القائمة على حركة المغناطيس المعلق في لفائف) أو الهيدروفونات في البحر (استنادًا إلى التأثير الكهروإجهادي). بحلول وقت وصول الأمواج ، يمكن للمرء أن يحكم على أعماق الطبقات الجيولوجية.
معدات السحب الزلزالية:

بندقية الهواء تثير الاهتزازات المرنة:

تمر الأمواج عبر الكتلة الصخرية وتُسجل بواسطة مكبرات الصوت:

سفينة أبحاث الاستكشاف الجيوفيزيائي "إيفان غوبكين" على الرصيف عند جسر بلاغوفيشتشينسكي في سانت بطرسبرغ:

نموذج إشارة الزلازل
الصخور لها خصائص مادية مختلفة. للاستكشاف الزلزالي ، تعد الخصائص المرنة أكثر أهمية - سرعة انتشار الاهتزازات المرنة والكثافة. إذا كانت للطبقتين نفس الخصائص أو الخصائص المشابهة ، فلن "الموجة" ستلاحظ الحدود بينهما. في حالة اختلاف سرعات الموجة في الطبقات ، فسيحدث الانعكاس عند حدود الطبقات. كلما زاد الاختلاف في الخصائص ، زاد الانعكاس. سيتم تحديد شدتها بواسطة معامل الانعكاس (rc):
حيث ρ هي كثافة الصخور ، ν هي سرعة الموجة ، 1 و 2 تشير إلى الطبقات العليا والسفلى.أحد نماذج الإشارات السيزمية الأكثر استخدامًا والأكثر شيوعًا هو نموذج الالتفاف ، عندما يتم تقديم تتبع زلزالي مسجل نتيجة لالتواء في سلسلة من معاملات الانعكاس مع نبضة مسبار:
حيث s (t) هو المسار الزلزالي ، أي كل ما يسجله الميكروفون أو الجيوفون خلال فترة زمنية محددة للتسجيل ،
w (t) هو الإشارة إلى أن سلاح الهواء يولد ،
n (t) هو ضوضاء عشوائية.
نحسب على سبيل المثال مسح الزلازل الاصطناعية. سنستخدم نبض Ricker المستخدم على نطاق واسع في الاستكشاف الزلزالي كإشارة أولية.
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 كم ، حيث يميز كل مسار ، نتيجة للعمل ، خلية مساحتها 25 × 25 مترًا (مثل هذه الخلية تسمى بن) ، وستحتوي مجموعة البيانات النهائية على 600000 مسار. من خلال خطوة أخذ عينات زمنية تبلغ 1 مللي ثانية ووقت تسجيل قدره 5 ثوانٍ ، سيكون ملف البيانات النهائي أكثر من 11 غيغابايت ، ويمكن أن تكون كمية المادة "الأولية" الأصلية هي مئات الجيجابايت.
كيف تعمل معهم في
ولفرام ماثيماتيكا ؟
بدأ تطوير الحزمة
بسؤال على جدار VK لمجموعة الدعم الناطقة باللغة الروسية. بفضل ردود المجتمع ، تم العثور على حل سريع للغاية. ونتيجة لذلك ، تطورت إلى تطور خطير. ولاحظ المشرفون
المنشور المقابل
على حائط Wolfram Comunity . في الوقت الحالي ، تدعم الحزمة العمل مع الأنواع التالية من البيانات التي يتم استخدامها بنشاط في الصناعة الجيولوجية:
- استيراد بيانات الخريطة بتنسيق ZMAP و IRAP
- استيراد القياسات في الآبار تنسيق LAS
- المدخلات والمخرجات من الملفات الزلزالية في شكل SEGY
لتثبيت الحزمة ، يجب اتباع الإرشادات الموجودة في صفحة التنزيل الخاصة بالحزمة المجمعة ، أي قم بتنفيذ التعليمات البرمجية التالية على أي
دفتر Mathematica :
If[PacletInformation["GeologyIO"] === {}, PacletInstall[URLDownload[ "https://wolfr.am/FiQ5oFih", FileNameJoin[{CreateDirectory[], "GeologyIO-0.2.2.paclet"}] ]]]
بعد ذلك ، سيتم تثبيت الحزمة في المجلد الافتراضي ، المسار الذي يمكن الحصول عليه كما يلي:
FileNameJoin[{$UserBasePacletsDirectory, "Repository"}]
كمثال ، نوضح الميزات الرئيسية للحزمة. الدعوة تقليديا للحزم في ولفرام اللغة:
Get["GeologyIO`"]
تم تطوير الحزمة باستخدام
Wolfram Workbench . يسمح لك هذا بمرافقة الوظيفة الرئيسية للحزمة مع الوثائق ، والتي لا تختلف في تنسيق العرض التقديمي عن وثائق 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 وإعادة كتابة جزئية إلى نهاية الملف.
بشكل منفصل ، تجدر الإشارة إلى وظائف الحزمة عند العمل مع البنية المعقدة لملفات .segy. نظرًا لأنه لا يسمح فقط بالوصول إلى المفاتيح والمؤشرات للتتبعات الفردية والرؤوس ، ولكن أيضًا تغييرها بالكتابة اللاحقة إلى ملف. العديد من التفاصيل الفنية لتطبيق GeologyIO خارج نطاق هذه المقالة وربما تستحق وصفاً منفصلاً.
أهمية التحليل الطيفي في الاستكشاف الزلزالي
تتيح لك إمكانية استيراد المواد الزلزالية إلى Wolfram Mathematica استخدام وظيفة معالجة الإشارات المدمجة للبيانات التجريبية. بما أن كل مسار زلزالي هو سلسلة زمنية ، فإن التحليل الطيفي هو أحد الأدوات الرئيسية لدراستها. من بين الشروط المسبقة لتحليل تكوين تردد البيانات الزلزالية ، على سبيل المثال ، ما يلي:
- تتميز الأنواع المختلفة من الأمواج بتكوين تردد مختلف. هذا يتيح لنا اختيار موجات مفيدة وقمع موجات التدخل.
- خصائص الصخور مثل المسامية والتشبع يمكن أن تؤثر على تكوين التردد. هذا يتيح لك اختيار الصخور مع خصائص أفضل.
- تتسبب الطبقات ذات السماكة المختلفة في حدوث حالات شذوذ في نطاقات تردد مختلفة.
الفقرة الثالثة أساسية في سياق هذه المقالة. يوجد أدناه مقتطف شفرة لحساب آثار الزلازل في حالة طبقة ذات سمك متباين - نموذج إسفين. تتم دراسة هذا النموذج تقليديًا في الاستكشاف الزلزالي لتحليل تأثيرات التداخل ، عندما تتداخل الموجات المنعكسة من طبقات عديدة مع بعضها البعض.
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]
المسارات الزلزالية لنموذج الوتد:

يُطلق على تسلسل الآثار الزلزالية الموضحة في هذا الشكل قسم الزلازل. كما ترون ، يمكن تنفيذ تفسيره على مستوى حدسي ، حيث أن هندسة الموجات المنعكسة تتوافق بشكل فريد مع النموذج الذي تم تعيينه مسبقًا. إذا قمت بتحليل المقطوعات بمزيد من التفصيل ، فيمكنك أن ترى أن المسارات من الأول إلى الثلاثين تقريبًا لا تختلف - الانعكاس من أعلى التكوين ومن الوحيد لا يتداخلان. بدءًا من الطريق 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 هرتز و 55 هرتز و 85 هرتز.
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 هرتز و 55 هرتز و 85 هرتز

بعد حساب الآثار الزلزالية ورسم سعة الموجة المنعكسة ، يمكننا أن نرى أنه بالنسبة للترددات المختلفة ، يتم ملاحظة شذوذ في سماكات مختلفة من التكوين.
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]
رسوم بيانية لسعات الموجة المنعكسة من الحافة العلوية للوتد لترددات مختلفة

تعد القدرة على استخلاص استنتاجات حول سمك الخزان استنادًا إلى نتائج عمليات الرصد الزلزالي مفيدة للغاية ، لأن إحدى المهام الرئيسية في التنقيب عن حقل نفط هي تقييم أكثر النقاط الواعدة لوضع بئر (أي تلك المناطق التي يكون للخزان فيها سمك كبير). بالإضافة إلى ذلك ، في القسم الجيولوجي ، قد تكون هناك أشياء من هذا القبيل ، بسبب نشأتها ، تتسبب في حدوث تغيير حاد في سمك التكوين. وهذا يجعل التحليل الطيفي أداة فعالة لدراستها. في الجزء التالي من المقالة ، سننظر في مثل هذه الكائنات الهلامية بمزيد من التفاصيل.
البيانات التجريبية. أين تلقوا وما الذي تبحث عنه؟
تم الحصول على المواد التي تم تحليلها في المقال على أراضي سيبيريا الغربية. المنطقة ، كما يعلم الجميع دون استثناء ، هي المنطقة الرئيسية المنتجة للنفط في بلدنا. بدأت التنمية النشطة للمواليد في المنطقة في الستينيات من القرن الماضي. الطريقة الرئيسية لإيجاد حقول النفط هي الاستكشاف الزلزالي. ومن المثير للاهتمام النظر في صور الأقمار الصناعية لهذه المنطقة. على نطاق صغير ، يمكن ملاحظة عدد كبير من المستنقعات والبحيرات ، من خلال زيادة الخريطة ، يمكنك أن ترى آبارًا عنقودية لحفر الآبار ، ومن خلال زيادة الخريطة إلى الحد الأقصى ، يمكنك أيضًا تمييز ألواح التشكيلات الجانبية التي أجريت بها عمليات رصد زلزالية.
صورة الأقمار الصناعية لخرائط ياندكس - حي نويابرسك:

شبكة من المواقع العنقودية في أحد الحقول:

تحدث الصخور الحاملة للنفط في غرب سيبيريا في مجموعة واسعة من الأعماق - من كيلومتر واحد إلى 5 كيلومترات. يتكون الحجم الرئيسي من الصخور التي تحتوي على النفط في العصر الجوراسي والطباشيري. ربما تكون الفترة الجوراسية معروفة للكثيرين بفيلم يحمل نفس الاسم.
كان مناخ العصر الجوراسي مختلفًا تمامًا عن
المناخ الحديث. في Encyclopedia Britannica ، توجد سلسلة من paleocards تميز كل عصر جيلوجي.
الوقت الحالي:

العصر الجوراسي:

يرجى ملاحظة أنه في العصر الجوراسي ، كانت أراضي غرب سيبيريا ساحلًا بحريًا (الأرض التي تعبرها الأنهار والبحر الضحل). نظرًا لأن المناخ كان مريحًا ، يمكن افتراض أن منظر طبيعي نموذجي في ذلك الوقت بدا كما يلي:
سيبيريا الجوراسي:

في هذه الصورة ، ليس هناك الكثير من الحيوانات والطيور التي تهمنا ، مثل صورة النهر في الخلفية. النهر هو الشيء الجيولوجي ذاته الذي توقفنا عليه سابقًا. والحقيقة هي أن نشاط الأنهار يسمح بتراكم الأحجار الرملية المصنفة جيدًا ، والتي تصبح بعد ذلك خزانًا للنفط. يمكن أن يكون لهذه الخزانات شكل غريب ومعقد (مثل قاع النهر) ولها سمك متغير - على طول الساحل ، يكون سمكها صغيراً ، ويزيد من مركز القناة أو في أقسام من التلال. لذلك ، الأنهار التي تشكلت في العصر الجوراسي هي الآن على عمق حوالي ثلاثة كيلومترات وهي هدف البحث عن مكامن النفط.
البيانات التجريبية. المعالجة والتصور
نقوم فوراً بالحجز فيما يتعلق بالمواد الزلزالية الموضحة في المقالة - نظرًا لحقيقة أن كمية البيانات المستخدمة للتحليل مهمة - يتم وضع جزء فقط من المجموعة الأصلية من آثار الزلازل في نص المقال. هذا سوف يسمح للجميع لإعادة إنتاج الحسابات المذكورة أعلاه.
عند العمل مع البيانات السيزمية ، يستخدم علماء الجيوفيزياء عادةً برامج متخصصة (هناك العديد من رواد الصناعة الذين يستخدم تطويرهم بنشاط ، على سبيل المثال ، 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 × 5 كيلومترات. في حالة الحصول على البيانات من خلال طريقة الاستكشاف الزلزالي ثلاثي الأبعاد (لا تسجل الأمواج على طول الملامح الجيوفيزيائية الفردية ، ولكن على كامل المنطقة في نفس الوقت) ، يصبح من الممكن الحصول على مكعبات من البيانات السيزمية. هذه كائنات ثلاثية الأبعاد ، تتيح المقاطع الرأسية والأفقية إجراء دراسة مفصلة للبيئة الجيولوجية. في المثال المدروس ، نحن نتعامل فقط مع البيانات ثلاثية الأبعاد. يمكننا الحصول على بعض المعلومات من عنوان النص ، على سبيل المثال مثل هذا
StringPartition[seismic3DSEGY["textheader"], 80] // TableForm
C 1 هذا ملف تجريبي لاختبار حزمة الجيولوجيا
ج 2
ج 3
ج 4
C 5 DATE اسم المستخدم: WOLFRAM USER
C 6 اسم المسح: في مكان ما في سيبيريا
C 7 FILE TYPE 3D حجم هجومي
ج 8
ج 9
C10 Z RANGE: أول 2200 متر على الأقل 2400 متر
ستكون مجموعة البيانات هذه كافية لنا لإظهار المراحل الرئيسية لتحليل البيانات. يتم تسجيل المسارات في الملف بالتسلسل ويبدو أن كل منها يشبه الشكل التالي - هذا هو توزيع سعة الموجات المنعكسة على طول المحور العمودي (محور العمق).
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]]
صورة ثلاثية الأبعاد لمكعب من البيانات الزلزالية (المحور العمودي - العمق):

في حالة أن الكائنات الجيولوجية المثيرة للاهتمام تخلق حالات شاذة زلزالية شديدة ، يمكن استخدام أدوات التصور مع الشفافية. يمكن جعل الأقسام "غير المهمة" من التسجيل غير مرئية ، مع ترك الحالات الشاذة مرئية فقط. في Wolfram Mathematica ، يمكن القيام بذلك باستخدام
Opacity [] و
Raster3D [] .
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 []

كما في المثال التخليقي ، على شرائح المكعب الأصلي ، يمكن تمييز بعض الحدود الجيولوجية (الطبقات) ذات التخفيف المتغير.
أداة التحليل الطيفي الرئيسية هي تحويل فورييه. باستخدامه ، يمكنك تقييم طيف التردد السعة لكل مسار أو مجموعة من المسارات. ومع ذلك ، بعد نقل البيانات إلى مجال التردد ، تُفقد المعلومات في الأوقات التي يتغير فيها التردد (اقرأ في أي أعماق). من أجل التمكن من ترجمة تغييرات الإشارة على المحور الزمني (العميق) ، يتم استخدام نافذة تحويل فورييه وتحلل المويجات. يستخدم هذا المقال تحلل المويجات. بدأ استخدام تقنية تحليل المويجات بنشاط في التنقيب الزلزالي في التسعينيات. تعد ميزة تحويل نافذة فورييه أفضل دقة للوقت.
باستخدام جزء الكود التالي ، يمكنك أن تتحلل إلى مكونات فردية لأحد الآثار الزلزالية:
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]
تحلل المكون

لتقييم كيفية توزيع طاقة الانعكاس في أوقات مختلفة من وصول الأمواج ، يتم استخدام scalograms (التناظرية من الطيفية). كقاعدة عامة ، في الممارسة العملية ، ليست هناك حاجة لتحليل جميع المكونات. عادة ما تختار مكون التردد المنخفض والمتوسط والعالي.
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]
Scalograms. نتيجة
WaveletScalogram [] وظيفة
تستخدم لغة Wolfram الدالة ContinuousWaveletTransform [] لتحويلات المويجات . ويتم تطبيق هذه الوظيفة على مجموعة الآثار الكاملة باستخدام دالة الجدول [] . هنا تجدر الإشارة إلى أن واحدة من نقاط القوة في Wolfram Mathematica هي القدرة على استخدام ParallelTable [] الموازي . في المثال المعطى ، الموازي ليس ضروريًا - حجم البيانات ليس كبيرًا ، ولكن عند العمل مع مجموعات البيانات التجريبية التي تحتوي على مئات الآلاف من الآثار ، فهذه ضرورية. tracesCWD=Table[Map[Hilbert[#,0]&,Re[ContinuousWaveletTransform[traces[[i]]][[1]]][[{13,15,18}]]],{i,1,Length@traces}];
بعد تطبيق وظيفة ContinuousWaveletTransform [] ، تظهر صفيفات بيانات جديدة متوافقة مع الترددات المحددة. في المثال أعلاه ، هذه ترددات: 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 ، يمكن القيام بذلك باستخدام وظيفة ColorCombine [] .نتيجة لذلك ، يتم الحصول على الصور التي يمكن استخدامها لتنفيذ التفسير الجيولوجي. تتيح لك أدوات التعرية المعلقة على القسم تحديد الخطوط العريضة للخزف ، والتي من المرجح أن تكون مكامن وتحتوي على احتياطيات نفطية. يسمح لنا البحث والتحليل للنظائر الحديثة لنظام النهر هذا بتحديد الأجزاء الواعدة من التلال. تتميز الأسِرَّة نفسها بطبقات سميكة من الحجر الرملي المصنف جيدًا كما أنها خزان جيد للنفط. المناطق خارج شذوذ "الدانتيل" تشبه رواسب السهول الفيضية الحديثة. يتم تمثيل رواسب السهول الفيضية أساسًا بصخور طينية ولن يكون الحفر في هذه المناطق فعالًا.شريحة RGB من مكعب البيانات. في الوسط (إلى حد ما على يسار الوسط) يمكنك تتبع النهر المتعرج.
شريحة RGB من مكعب البيانات. على الجانب الأيسر يمكنك تتبع النهر المتعرج.
في بعض الحالات ، تتيح جودة البيانات السيزمية الحصول على صور أكثر وضوحًا. ذلك يعتمد على منهجية العمل الميداني ، المعدات المعتمدة من خوارزمية الحد من الضوضاء. في مثل هذه الحالات ، ليس فقط شظايا من نظام النهر مرئية ، ولكن أيضا paleorecs ممتدة.خلط RGB للمكونات الثلاثة لمكعب البيانات الزلزالية (شريحة أفقية). عمق حوالي 2 كم.
صورة الأقمار الصناعية لنهر الفولغا في منطقة ساراتوف
استنتاج
في Wolfram Mathematica ، يمكنك تحليل البيانات الزلزالية وحل مشكلات التطبيق المرتبطة بالبحث عن المعادن ، وتتيح لك حزمة GeologyIO جعل هذه العملية أكثر ملاءمة. هيكل البيانات الزلزالية بحيث استخدام الأساليب المضمنة لتسريع العمليات الحسابية ( ParallelTable [] ، ParallelDo []، ...) فعال للغاية ويسمح لك بمعالجة كميات كبيرة من البيانات. إلى حد كبير ، يتم تسهيل ذلك من خلال ميزات تخزين البيانات الخاصة بحزمة GeologyIO. بالمناسبة ، يمكن استخدام الحزمة ليس فقط في مجال الاستكشاف الزلزالي التطبيقي. يتم استخدام نفس أنواع البيانات تقريبًا في georadar و seismology. إذا كانت لديك اقتراحات حول كيفية تحسين النتيجة ، فإن خوارزميات تحليل إشارة Wolfram Mathematica قابلة للتطبيق على هذه البيانات ، أو إذا كانت لديك تعليقات نقدية ، فاترك التعليقات.